One way ( simple and small ) is to use the css prop - box-sizing:border-box
on the container: eg http://jsfiddle.net/6EfeC/
This css will allow you to use full values of margin/padding and width combined into one unit.
html,body{
height:100%;
}
#wrap{
background-color:red;
width:100%;
height:100%;
box-sizing:border-box;
/* for current ffox */
-moz-box-sizing:border-box;
padding:2.5% 5%;
}
#content{
background-color:cyan;
height:100%;
}
Check - availablity and for vender prefixes. eg
-moz-box-sizing:border-box