[英]Conditional Styling in CSS
就我在網絡上閱讀的所有內容而言,我從來沒有掌握過有條件的CSS樣式表。
我有一個div#logo-container,使用一些CSS3可以使它變得很好和集中。 對於IE8及以下版本,我需要為其指定位置,因為它部分位於屏幕外。
我的頭中有:
<!--[if lte IE 8]>
<html class="ie8">
<![endif]-->
<!-- [if gt IE 8]>
<html>
<!--<![endif]-->
...並且在我的樣式表中,我有:
#logo-container{
...CSS3 styling...
}
.ie8 #logo-container{
...new styling...
}
但是在IE開發人員工具中,當我模擬IE8時,新樣式不會生效,盡管如果我在“樣式”面板中手動更改它,它也會起作用。
我不明白什么? 謝謝!
您的代碼看起來通常是正確的,但是我不確定類選擇器中ID選擇器的特殊性,因此可能是一個問題。 也可能存在圍繞<html>
元素的問題。
僅在條件DIV上使用ID選擇器的效果很好,但是,這是我使用的方法:
<html>
<body>
<!--[if lte IE 8]><div id="ie8"><![endif]-->
... Your content ...
<!--[if lte IE 8]></div><![endif]-->
</body>
</html>
CSS:
#logo-container {
...CSS3 styling...
}
#ie8 #logo-container {
...new styling...
}
我不明白什么?
就在這里:
但是在IE開發人員工具中,當我模擬IE8時,新樣式不會生效,盡管如果我在“樣式”面板中手動更改它,它也會起作用。
不幸的是,測試IE的舊版本並不那么方便。 當您在IE中使用開發人員工具時,您實際上並沒有在模仿舊版本,這是偽造它的較差的嘗試。 特別是如果您使用的是IE10或更高版本,因為它們不再支持您使用的條件注釋。
最好的方法是在實際安裝舊版本IE的情況下運行虛擬機。
Microsoft自己當前在modern.ie上為此提供工具。 就像選擇要測試的版本並將其下載到所需的虛擬機平台一樣簡單。 在撰寫本文時,它們支持HyperV,VirtualBox,VMware和VPC。
簡而言之:您的代碼是正確的,這是導致問題的測試/仿真方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.