当前位置:  开发笔记 > 编程语言 > 正文

IE7 CSS继承不起作用

如何解决《IE7CSS继承不起作用》经验,为你挑选了2个好方法。

我为h2标签设置了一些样式(颜色,字体大小等),但是当我把"A"标签放在里面时,样式就变成了链接.我的HTML:

Link

所以,正如你所看到的,我创造了"无装饰"课程.它应该继承h2的"a"标签样式.

a.no-decor {
  color:inherit;
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  text-decoration:inherit;
}

在Firefox上,everythig没问题,但IE仍显示标签"a"样式(下划线文字装饰和蓝色).我知道,我可以为"h2 a"设置一些样式,但也许某种程度上可以强制工作CSS继承IE7上的值?

PS On IE6也不支持.

PPS有一些相同的例子:http://www.brunildo.org/test/inherit.html



1> bobince..:

不,IE从未支持inherit任何财产 - 抱歉.这已在> = IE8中修复.

虽然您可以使用JavaScript修复程序将属性复制h2a,但最简单的方法是将相同的样式规则应用于这两个元素:

h2, h2 a {
    font: something;
    color: black;
    text-decoration: none;
}

你无论如何都不需要设置inherit文本修饰,因为装饰不会从父级继承到子级:下划线效果在父级上并通过子级; 孩子无法删除它(模块IE错误).孩子的'text-decoration:none'是正确的,除非你想要两个下划线......


Internet Explorer 7及更早版本不支持除方向和可见性之外的任何属性的值继承.

2> 小智..:

尝试

a.no-decor{
  color:inherit;
  //color:expression(this.parentNode.currentStyle['color']);
  text-decoration:none;
}

这将摆脱你的蓝色和下划线.你可以使用类似的表达式作为下划线,但你最好只使用text-decoration:none,因为所有继承的文本修饰都会给你无论如何都不需要使用表达式而不是绝对必要的(你'在使用表达式时会受到性能影响).

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有