Вы можете использовать второй div внутри с отступом, чтобы реализовать фактическое «внешнее» заполнение:
<div style="height: 100%; width: 500px; margin: 0 auto; background: #CCC; border: solid #999; border-width: 0px 2px;">
<div style="padding: 20px 0px;">
Content here
</div>
</div>
В качестве альтернативы, если вы больше ничего не отображаете, вы также можете использовать body
для внешней конструкции.
edit: На самом деле вам придется использовать min-height
для внешнего div, чтобы фон работал, когда ваша страница превышает 100% размера экрана. Это, например, отлично работает:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Test</title>
<style type="text/css">
html
{ height: 100%; padding: 0; margin: 0; background: #FFF; }
body
{ min-height: 100%; margin: auto; width: 500px;
background: #CCC; border: solid #999; border-width: 0 2px; }
div#main
{ padding: 20px 15px; }
</style>
</head>
<body>
<div id="main">
<h1>100% Height Div</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec,
pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec
pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo,
rhoncus ut, imperdiet a, venenatis vitae, justo.</p>
<p>Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus.
Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo
ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante,
dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus
varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel
augue.</p>
</div>
</body>
</html>