blog修改记录
周末对此站做了如下修改。
- 取消了对internet explorer 6 的支持,并且更改了浏览器升级提示,现在使用 IE6 Update。
- 去除了更改字体大小的功能,因为大部分现代浏览器都支持字体缩放了。
- 加深了字体颜色,使文字看起来更省力。
- and so on …
周末对此站做了如下修改。
.fix{
content:'.';
display:block;
clear:both;
height:0;
visibility:hidden;
}
上面的代码是最常见的清除浮动的方法(在支持:after伪选择符的浏览器下),国内各大网站也都普遍使用此方法,但这里有一个缺陷:demo
通过demo可以看到最外层div#page底部与body有一个空隙,但这里的确什么内容也没有。把清除浮动类的visiblity属性删除后发现原来是content属性指定的点号。造成这个现象的原因是:上面的css规则并没有很好的隐藏掉content内容。
上面有两条rule是用来隐藏content属性指定的内容(这里是点号):height:0 这样设置并不能隐藏元素,但超出的文本会自然溺出,不会影响到下面的文档流(类似position:absolute),然后用visibility:hidden把它隐藏掉,在大多数情况下这样就ok了。但是当溺出的文本下面没有文档流的时候,他就会像普通文本那样也占个位
解决办法很简单,既然是溺出的文本那加个font-size:0就搞定了,或者更严谨一些,如下面的yahoo.com里的清除浮动的css rule
ol:after, ul:after,
.md:after, .md-sub:after, .hd:after, .bd:after, .ft:after,
.fixfloat:after, .fbody:after,
#colcx:after, #rightcx:after, #eyebrow:after,
#masthead:after, #search:after, #tabs:after,
#doors:after, #patabs:after, #patop:after,
#trough-overlay-bd div:after, #newsft:after, #newsbottom:after{
content:".";
display:block;
font-size:0px;
line-height:0px;
height:0;
clear:both;
visibility:hidden;
}
这是我发现的唯一一个在清除浮动的样式表里使用font-size:0的网站 ,yahoo 美国真不是盖的。