Я использую CSS для создания макета страницы с тремя колонками с верхним и нижним колонтитулом. Возьмем div Left_Col, например, который имеет ширину 200 пикселей. Я хотел бы иметь левое и правое дополнение 10px для этого div, так что текст в Left_Col, по существу, начинается с пикселя 10 и обертывается пикселем 190.Свойство CSS Margin и Padding
В приведенном ниже примере, чтобы добиться этого, я создаю еще один NEST DIV в div Left_COL и установите маржу в StdMargin (10px). Это работает, но я думал о другой альтернативе для достижения того же результата, а именно для отказа от внутреннего внутреннего div «stdMargin» и добавления атрибута «padding 10px» в div Let_Col. Тем не менее, я был разочарован тем, что это показало, что УВЕЛИЧЕНИЕ ширины LEFT_COL div превышает заданную ширину 200 пикселей и, таким образом, перекрывает средний div CONTENT, чего я не хотел.
Почему это происходит? Есть ли способ избежать вложенного внутреннего div? Слишком много вложенных объектов и я начинаю видя пересек глаза ...
Вот моя страница CSS:
/* CSS layout */
body {
/*
margin: 0;
padding: 0;
*/
margin: 0 auto;
width: 1000px;
}
#masthead {
background-color:aqua;
}
#top_nav {
background-color:Yellow;
}
#container {
background-color:maroon;
}
#left_col {
width: 200px;
float: left;
background-color:#99FF33;
}
#page_content {
margin-left: 200px;
margin-right: 200px;
background-color:#99CCFF;
}
#right_col {
width: 200px;
float: right;
background-color:#F1E2E0;
}
#footer {
clear: both;
background-color:#BBBBFF;
}
.stdmargins{
margin:5px;
}
А вот HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="en-us" http-equiv="Content-Language" />
<title>masthead</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<link href="3Column.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="PageWidth">
<div id="masthead">
</div>
<div id="top_nav">
<div class="stdmargins">
Top Nav</div>
</div>
<div id="container">Container
<div id="left_col">
<div class="stdmargins">
Left Column Top<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Left Col bottom<br />
</div>
</div>
<div id="right_col">
<div class="stdmargins">
Right top<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Right bott<br />
</div>
</div>
<div id="page_content">
<div class="stdmargins">
</div>
</div>
</div>
<div id="footer">
Footer</div>
</div>
</body>
</html>