visibility: hidden \9;是什么意思?

某个元素用到了css3的rotate(),因为ie8不支持,所以需求就变成在ie8中隐藏此元素,在其他浏览器正常显示. 于是用这个样式visibility: hidden 9;但是不管是什么IE版本都会隐藏元素(我只想在ie8中隐藏该元素),我想问,还有没有别的写法?9是什么原理?有没有详细的文章或者解释,求指教

阅读 3.2k
2 个回答

一、原因分析

(1)首先使用 “ \9 ″ 是为了 CSS hack(针对不同的浏览器/不同版本写相应的CSS code的过程),若需要详细了解。可查看前端面试题-CSS Hack

(2)“ \9 ″ 的作用是对 IE6 / IE7 / IE8 / IE9 / IE10 都生效,与要求仅在 IE8 样式生效不符。

二、解决方法

(1)若只需在IE8中隐藏元素,就必须针对 IE8 做 hack。

(2)我们的思路可以转换一下:先应用 IE8 的 hack ,与非 IE 浏览器分开,然后再应用一些 CSS3 之类的 IE8 不支持的选择器来重新覆盖一遍,让支持新选择器的 IE9、IE10 正常显示。

(3)最后符合条件的常用选择器有 :root

推荐问题
宣传栏