可能重复:
明星先前属性在CSS中意味着什么?
我在浏览跨浏览器支持显示时遇到了这个:内联块...
selector {
display: -moz-inline-box;
display: inline-block;
zoom: 1;
*display: inline;
}
Run Code Online (Sandbox Code Playgroud)
*显示有什么作用?
链接自:http: //www.aarongloege.com/blog/web-development/css/cross-browser-inline-block/
*property: value;
Run Code Online (Sandbox Code Playgroud)
这是一个黑客,所以我不建议你使用它.这样表示的样式仅由IE 7及更低版本解释,因此其他浏览器完全忽略这些样式.
它是非标准(或有效)的CSS,但它有时用于击败IE提交.
正如其他人所说,这是IE7及以下的黑客攻击
但是这一个,你给出的例子是一个特定的黑客,所以不像你收到的评论我不建议删除它..你可以移动它或删除它后,你读它并不需要它; )
顺便说一句,我同意-moz-inline-box可能不再需要了,它适用于旧版本的Firefox
selector {
display: -moz-inline-box;
display: inline-block;
zoom: 1;
*display: inline;
}
Run Code Online (Sandbox Code Playgroud)
是一个特定的hack让IE6/7将块级元素显示为内联块.虽然IE inline-block从v5.5开始就支持它,但它本身并没有在块级元素上这样做
因此,在这种情况下,您需要做的是给出元素"layout"(zoom: 1;)并在此display: inline之后提供它.
现在display:inline-block还提供了一个元素布局,因此如果将display-inline规则移除到单独的规则集(在条件规则或黑客规则中),则不再需要使用zoom: 1;
我喜欢这个(出于演示目的)并且因为内联块是如此虚拟有用,并且因为它更短是
selector {
display: inline-block;
}
selector {
display: inline !ie7;
}
Run Code Online (Sandbox Code Playgroud)
这!ie7是在做相同*的显示属性之前,它的喂养规则,IE7和下面的-你可以使用*第二个规则版本太多,但是IE7清楚,反正我这是一个黑客,谁是!对于.
如果您有IE7及以下的特定条件样式表,您可以简单地将第二个规则放入其中 - 没有任何*或ie7;)
selector {
display: inline;
}
Run Code Online (Sandbox Code Playgroud)
因为IE浏览器仍然会读取第一规则集,并得到它的hasLayout的触发,true通过inline-block在那里,你不需要zoom
你提到的引用hack是受欢迎的,因为它将所有部分保留在一个规则集中,但zoom:1在这种情况下需要inline-block设置hasLayout,如果它与其他display属性在同一规则集中
| 归档时间: |
|
| 查看次数: |
1695 次 |
| 最近记录: |