<dexbol />

Archive for the ‘Uncategorized’ Category

blog修改记录

周末对此站做了如下修改。

  • 取消了对internet explorer 6 的支持,并且更改了浏览器升级提示,现在使用 IE6 Update
  • 去除了更改字体大小的功能,因为大部分现代浏览器都支持字体缩放了。
  • 加深了字体颜色,使文字看起来更省力。
  • and so on …

:after清除浮动的一点缺陷

.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 美国真不是盖的。