Si a un DIV no le asignas ningún
width, automáticamente cubre todo el ancho del elemento contenedor, aun cuando le apliques padding,margin y border al DIV (ojo, esto solo ocurre con "width", para "height" debes seguir adecuandote a la problematica del modelo de cajas). Haz la prueba con el siguiente ejemplo:
Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
body{
margin:0;
padding:0;
}
#contenedor{
background-color:red;
margin-left:20px;
margin-right:20px;
padding-left:20px;
padding-right:20px;
}
</style>
</head>
<body>
<div id="contenedor">
dgf
</div>
</body>
</html>