我在编写网站时遇到了一个我无法理解的问题/事情。
我有两列,使用float: left
(and margin: 0
, padding: 0
) 列里面是块
当块为空时没有问题,我什至可以在不使用<p>
标签的情况下添加文本。但是当我<p>
在块中添加标签时,父列会添加一些填充。
但是,当我不使用float:left
(所以只有一列)时,我可以使用<p>
块内的标签而无需向父元素添加填充。
当然,我可以想出某种修复方法,但我也想了解为什么会发生这种情况,如果有人知道如何,如何恢复这种奇怪的行为。
我有一个现场问题演示在这里工作。
<style>
#html, body{
margin: 0;
padding: 0;
height: 100%;
font-size: 100%;
}
#pagewrap {
padding: 0 20px;
width: 960px;
height: 100%;
margin: 0 auto;
background: #CCC;
}
.test {
width: 100%;
height: 100px;
margin: 0;
padding: 0;
background: #00F;
clear: both;
}
.column {
width: 480px;
margin: 0;
padding: 0;
float: left;
background: #0F0;
}
.column2 {
width: 480px;
margin: 0;
padding: 0;
background: #0F0;
}
.lefty {
min-height: 100px;
width: 470px;
margin: 0 10px 10px 0;
padding: 0;
background: #999;
}
.righty {
min-height: 130px;
width: 470px;
margin: 0 0 10px 10px;
padding: 0;
background: #999;
}
</style>
<div id="pagewrap">
<div class="test"></div>
<div class="column">
<div class="lefty">
<p></p>
</div>
<div class="lefty">
<p></p>
</div>
</div>
<div class="column">
<div class="righty">
</div>
<div class="righty">
</div>
</div>
<div class="test"></div>
<div class="column2">
<div class="lefty">
</div>
<div class="lefty">
</div>
</div>
<div class="test"></div>
<div class="column2">
<div class="lefty">
<p></p>
</div>
<div class="lefty">
<p></p>
</div>
</div>
<div class="test"></div>
</div>