某个元素用到了css3的rotate(),因为ie8不支持,所以需求就变成在ie8中隐藏此元素,在其他浏览器正常显示. 于是用这个样式visibility: hidden 9;但是不管是什么IE版本都会隐藏元素(我只想在ie8中隐藏该元素),我想问,还有没有别的写法?9是什么原理?有没有详细的文章或者解释,求指教
某个元素用到了css3的rotate(),因为ie8不支持,所以需求就变成在ie8中隐藏此元素,在其他浏览器正常显示. 于是用这个样式visibility: hidden 9;但是不管是什么IE版本都会隐藏元素(我只想在ie8中隐藏该元素),我想问,还有没有别的写法?9是什么原理?有没有详细的文章或者解释,求指教
5 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
4 回答2k 阅读
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
一、原因分析
(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。