2013-02-26 87 views
1

我需要支持IE7及以上版本。有几个页面样式问题只在IE7中弹出,所以我制作了一个有条件的IE7样式表,它修复了大部分问题。有没有内联条件注释这样的事情?

但是,编码器内嵌嵌入了一段样式,所以我的IE7样式表将无法覆盖内联样式(下面的第一行)。

<p style="display:inline-block; width:auto; margin:36px 0 0 16px !important;"> 
Download this postcard to help promote the Virtual Birth to Three (vBTT) Institute 
<span class="file_size">[PDF, 1MB]</span>.</p> 

我可以添加一个IE7条件语句内联来更改边距样式吗?我尝试了它,并且注释在p元素内不起作用。这样写:

<!--[if IE 7]> 

我怀疑我根本无法做到这一点,但我想也许这里的某个人可能会知道一个把戏。

如果没有技巧,是否每个人都同意我不能内联,并且必须将CSS从元素中取出并放到外部样式表中进行更改?

非常感谢您的意见。我希望这是正确的问题。

回答

1

你不能用任何数量的CSS覆盖内联样式,你应该可以用javascript来做到这一点,你可以使用条件来加载一些JavaScript,尽管这有点笨重。

即使这样它可能无法正常使用!important规则,但我不确定这种风格在IE7中是如何嵌套的。

最安全的方法是在标签中添加相关的类名或2,并使用条件加载另一个样式表,以便进行IE7所需的更改。

这里是你如何将包括IE7特定的样式表:

<!--[if IE 7]> 
    <link href="ie7.css" type="text/css"> 
<[endif]--> 
+0

请问这是从一般的IE7一个我已经取得额外的,单独的样式表?如果我正确理解你,它会在内联代码的实例中调用? – Leraa 2013-02-26 17:08:04

+0

如果你想使用纯CSS,你将不得不摆脱那些内联样式,因为它们不能被覆盖。 – Dunhamzzz 2013-02-26 17:18:05

+0

这就是我的想法。感谢您的确认。 – Leraa 2013-02-26 17:25:28

相关问题