我有 HTML,如 http://jsfiddle.net/Lijo/SCYVN/4/所示。
有蓝色边框的“optionLine”类。但是当没有设置溢出时,边框没有按预期工作。设置溢出时它工作正常。
为什么在这种情况下必须溢出?
有什么方法可以让它工作而不会溢出?
代码
.optionLine
{
display:block;
border: 1px solid blue;
/*overflow:auto;*/
}
参考:
我有 HTML,如 http://jsfiddle.net/Lijo/SCYVN/4/所示。
有蓝色边框的“optionLine”类。但是当没有设置溢出时,边框没有按预期工作。设置溢出时它工作正常。
为什么在这种情况下必须溢出?
有什么方法可以让它工作而不会溢出?
代码
.optionLine
{
display:block;
border: 1px solid blue;
/*overflow:auto;*/
}
参考:
边框无法正常工作,因为带有边框的元素的子元素是浮动的。
需要清除浮动元素以使其容器具有正确的预期尺寸。
有关clearfix 信息,请参见此处
这个SO question对于不同的情况也有一些非常详细的解释和解决方案。最近display:table
经常用这个方法...
试试这个http://jsfiddle.net/SCYVN/6/
.optionLine
{
display: table;
border: 1px solid blue;
/*overflow:auto;*/
width:100%;
}
放下它float:left;
,.optionItem
它将被修复。如果您不想这样做,则必须在(对于每一行浮动项目)和浮动项目之后添加一个包装器clear: both;
...
但添加overflow: auto;
始终是最好的方法。
因为您的物品(在容器内)是浮动的。浮动项目超出了文档的正常流程;您需要清除它们的浮动(通过在容器上使用 overflow: auto 或添加另一个具有 clear: left 或 clear: 都指定的元素)以捕捉文档的流回。
您需要为大纲 div 设置宽度和高度
前任:
border: blue 1px solid;
width:500px;
height:50px;