不使用多余标签清除浮动的方法

俗话说的好,凡事有利必有弊,浮动是div+css布局最常用到的技巧但同时又是引发页面问题的最常见的原因,例如父元素不能闭合具有浮动属性的子元素,是这些问题中最常见且最让人头痛的一个。通常清除浮动最常用的一个方法是添加一个标签并令其“clear:both”,这里介绍的是不增加这种额外的标签而实现清除浮动。

<style type="text/css">
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {
display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix {
height: 1%;
}
.clearfix {
display: block;
}
/* End hide from IE-mac */
</style>

用法是在需要清除浮动的标签上增加一个clearfix的class。

让自动宽度的LI标签自动换行

最近在修改akcms做的一个英文垃圾站的时候用自动宽度的li标签做导航的循环输出,发现在IE下显示的时候由于li标签不能自动换行而li内的文字又太多时,导致li内的文字把li标签撑高,而Firefox下显示正常,查了半天资料发现这种情况只需要在li的样式中加入

white-space: nowrap;

即可让li标签整个自动换行。