2013-01-22 45 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