很长一段时间以来,我一直在使用我偶然发现的一种非常好的列跨越方法,其中我可以有一个带有类.boxcontainer
和子.box
元素的 div,并在 上使用:after
伪元素.boxcontainer
,我的.box
列在页面上很好且均匀. 以下是最重要的定义:
.boxcontainer {
text-align: justify;
-ms-text-justify: distribute-all-lines;
text-justify: distribute-all-lines;
background-color: orange;
}
.boxcontainer:after {
content: '';
display: inline-block;
width: 100%;
height: 0px;
font-size: 0px;
line-height: 0px;
}
我以前的大部分项目都是XHTML1 过渡(我后来了解到,与其他 DTD 相比,它使用了一种有限的怪癖模式),并且在 XHTML1 中使用这种方法,父元素.boxcontainer
总是完美地包裹在子.box
元素周围。
.box
但是,在处理 HTML5 中的一个新项目时,我发现在对齐的元素下方似乎添加了一条额外的线。您可以在此处看到一个示例:http: //jsfiddle.net/RZQTM/1/ - 单击Fiddle Options并将 DTD 更改为其他任何内容,您会明白我的意思 - 橙色“带”出现在下方合理的蓝色框。
我认为这归结为:after
伪元素中的某些东西几乎就像一行内容一样被渲染,但我不知道如何修复它。任何有关如何删除框下多余空间的提示将不胜感激。