可能重复:
Why does overflow hidden stop floating elements escaping their container?
为什么我的div元素没有显示在我的ul和li中? 如果我设置它是块,我的li为什么充当内联元素? 看看这段代码: http://jsfiddle.net/jNkZP/
答案 0 :(得分:4)
您的div
在li
内浮动。当一个元素只包含浮动对象时,它会折叠。更雄辩地说:
当浮动包含在具有可见边框或背景的容器框内时,浮动不会自动强制容器的底边向下,因为浮动更高。相反,容器会忽略浮动,并像旗帜一样从容器底部垂下。那些只熟悉Windows操作系统的人可能会挠头并说“那不对!”没错,IE / Win会自动将一个浮点数自动包含在一个容器中,但前提是容器元素恰好具有名为hasLayout的仅MS质量。
解决方案:查看clearfix或其任何alternatives。
例如,我使用overflow: hidden;
来证明我的观点:http://jsfiddle.net/jNkZP/23/
#QuadroEvento ul.ListaDadosEvento li{
display: block;
position: relative;
background-color: #722827;
outline: blue solid 1px;
overflow: hidden;
}
答案 1 :(得分:0)
li不能包含div等块元素,将其更改为span
<div class="QuadroPrincipal">
<div id="QuadroEvento">
<ul class="ListaDadosEvento">
<li>
<span class="label">Descrição:</span>
<span class="dados">@ev</span>
</li>
<li>
<span class="label">Local:</span >
<span class="dados">@ev</span >
</li>
</ul>
</div>
</div>
</div>
答案 2 :(得分:0)
替换为span
<div class="QuadroPrincipal">
<div id="QuadroEvento">
<ul class="ListaDadosEvento">
<li>
<span class="label">Descrição:</span>
<span class="dados">@ev</span>
</li>
<li>
<span class="label">Descrição:</span>
<span class="dados">@ev</span>
</li>
</ul>
</div>
</div>
</div>
从css中删除浮动
#QuadroEvento ul.ListaDadosEvento div.label{
text-align: right;
font-weight: bold;
min-width: 100px;outline: black solid 1px;
}
#QuadroEvento ul.ListaDadosEvento div.dados{
padding-left: 5px;
text-align: justify;
outline: black solid 1px;
}