2013-02-26 43 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

相關問題