IE 和 :first-of-type

Posted

技术标签:

【中文标题】IE 和 :first-of-type【英文标题】:IE and :first-of-type 【发布时间】:2011-08-04 14:58:52 【问题描述】:

我是初学者,所以如果您知道其他解决方案,请告诉我 ;) 我想让我网站上的菜单看起来像这样:

link / link / link / link / link

菜单在里面,所以这是我所做的:

li:before 
    content: "/";


li:first-of-type 
    color: #FFF; /* I've made first "/" same color as background, so we don't see it */

有一些填充标签,所以看起来不错,但我想让它简单易读。

在大多数浏览器中它看起来不错,但当然旧的 Internet Explorer 不支持 :first-of-type 标记。我怎样才能解决这个问题,这样用户就不会只看到第一个斜线?

【问题讨论】:

【参考方案1】:
li:first-child:before 
    content: '';

IE7 及更高版本支持:first-child 伪类。

请注意,IE7 支持:first-child (with some caveats),但直到 IE9 才支持它的朋友:last-child

另外,要隐藏使用 content 属性添加的内容,请不要更改颜色以匹配背景颜色,因为这就是我所说的 ugly hack

相反,将其content 设置为空字符串,如上例所示。

【讨论】:

+1 ... 因为:first-child 是CSS2 的一部分,而:first-of-type:last-child 是CSS3 的一部分。 这么快,这么简单……我在网上找不到;)非常感谢 @smogg:现在不能上网了 @Tomalak 你指的是什么?我做了很多忍者编辑,现在我不确定:P @alex:你的第二段文字。 :) [虽然 Boltclock 指出这确实是 CSS 的错。]

以上是关于IE 和 :first-of-type的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 3 不支持 IE 8 和 IE 7

CSS 分别针对IE 6,IE 7和IE 8

IE 11 边界半径怪异(在 IE 9 和 IE 10 中未发生)

IE7、IE8 和 IE9 中的 jQuery 旋转图像问题

兼容模式下ie9和ie10显示样式在不兼容模式下为啥不加载css样式?

CSS 如何针对IE6,IE7和IE8