我有一个清单,李有一个float:left;
. 后面的内容<ul>
应该正确对齐。因此我可以构建以下内容:
我想,我可以<div class="clear">
通过使用 :after 之类的伪选择器来删除 。
但是这个例子不起作用:
我是否总是必须创建一个单独的 div 来清除浮动元素?
我有一个清单,李有一个float:left;
. 后面的内容<ul>
应该正确对齐。因此我可以构建以下内容:
我想,我可以<div class="clear">
通过使用 :after 之类的伪选择器来删除 。
但是这个例子不起作用:
我是否总是必须创建一个单独的 div 来清除浮动元素?
不,你做这样的事情还不够:
<ul class="clearfix">
<li>one</li>
<li>two></li>
</ul>
以及以下 CSS:
ul li {float: left;}
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
html[xmlns] .clearfix {
display: block;
}
* html .clearfix {
height: 1%;
}
文本“dasda”永远不会不在标签内,对吧?从语义上讲,要成为有效的 HTML,只需将 clear 类添加到其中:
采用
.wrapper:after {
content : '\n';
}
很像 Roko 提供的解决方案。它允许使用 :after 和 :before psuedo 插入/更改内容。有关详细信息,请查看 http://www.quirksmode.org/css/content.html