2013-01-22 46 views
2

我發現這樣的代碼在html5boilerplate:什麼意思[隱藏] {...} class in css?

/** 
* Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. 
* Known issue: no IE 6 support. 
*/ 

[hidden] { 
    display: none; 
} 

什麼地址?它會影響什麼?具有如下示例的隱藏屬性元素?

<div hidden></div> 

回答

4

是新的隱藏行爲兼容的瀏覽器,完全像你們的榜樣。選擇器將匹配具有hidden屬性的任何元素(屬性選擇器之前有一個隱含的通用選擇器)。

hidden屬性是HTML規範的新增內容,因此在舊版瀏覽器中不受支持。通過將該規則添加到樣式表中,可以有效地填充該屬性的本地行爲(顯然,隱藏該元素類似於設置display: none)。

IE6中的「已知問題」是由於它不支持屬性選擇器而引起的。

3

隱藏是閱讀詳細描述here在HTML5

的屬性。 還閱讀了很好的解釋here

的評論似乎暗示該CSS的解決方案是解決那些不符合默認

2

您還可以使用前綴「data-」創建自己的屬性。例如Jquery Mobile使用它。

例子:

你的HTML

<div data-role="header" data-position="top"> 
    // content here 
</div> 

你的CSS

[data-role=header] 
{ 
    font-family:arial; 
    font-size:20px; 
} 

[data-position=top] 
{ 
    top:5px; 
} 

一個很好的解釋可以here

The W3C documentation