:first-letter和:first-line伪类

标签:CSS

本以为IE 6基本不支持伪类的,不过今天看到:first-letter和:first-line也可在IE 6下使用,于是测试了下,却没看出效果。

检查了半天原因,发现:first-letter只能作用于display: block的元素,而我测试的是span,默认为inline元素…

此外,IE 6中还有个要注意的问题,由于这个伪类存在连接符,所以后面不能紧跟大括号和逗号等字符,必须用空格分隔开(没想到逗号都不行,太囧了)。如果使用CSS压缩器的,就要特别注意下这个问题了。

原来CSS也能挂马

标签:CSS, JavaScript

由于IE浏览器可以用表达式来设置属性,而又未对表达式做检查,这就导致了一个安全问题。

让文字过长时自动显示省略号

标签:CSS

不需要JavaScript,直接HTML+CSS就能实现:
<p style="width: 10em; overflow: hidden; text-overflow: ellipsis">
<nobr>这句话只能显示10个字符</nobr>
</p>
效果如下:


这句话只能显示10个字符

让IE支持position:fixed

标签:CSS

由于IE6只支持CSS1,IE7对position:fixed的解释行为也不标准(不过可以无视),所以只能绕道解决了。
看到很多都是用JavaScript实现的,其实就用CSS也能解决。

修复IE6的CSS显示bug

标签:CSS

在大多数主流浏览器都已支持CSS2时,IE6这个使用率最高的浏览器却还只支持CSS1(例如:hover只能用于a标签),而且还存在大量的bug(例如不支持position: fixed),造成了编写网页时很多不便。

今天偶然发现了这个东西,特地分享下。

font-family属性在IE下的兼容性

标签:CSS

font-family属性可以为标签设置字体,浏览器会从左至右依次查找是否有该字体,并将找到的第一个字体用于显示。如果没找到,则使用默认字体(Windows XP简体中文版一般是宋体)。
但还有个未定义行为,若找到的第一个是英文字体,而要显示汉字时,应该如何处理。Chrome和Firefox是继续往后查,直到找到能正确显示的字体;而IE(我只测试了IE6)则直接改用默认字体显示汉字了。