Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IE hack? forget it! #44

Closed
imsobear opened this issue Aug 26, 2014 · 0 comments
Closed

IE hack? forget it! #44

imsobear opened this issue Aug 26, 2014 · 0 comments

Comments

@imsobear
Copy link
Owner

IE hack? forget it!


IE hack,每个前端同学都避免不了的东西,你应该很了解下面的写法:

color: red\9\0; // ie9
color: red\0;  // ie8 & 9
*color: red;  // ie6&7
_color: red;  // ie6

每次碰到不同的 bug 我们总要考虑用那种 hack 处理,今天在 less 中写了一个 color: red\0 这样的 hack 时,打包失败,理论上这是 gulp-less 的 bug,不过问题是在这个 bug 之下我该怎么继续 hack,思考之后觉得这样的 hack 真的是烦透了,这样的解决方案也一定是不够靠谱的,相比来说,IE 条件注释会靠谱很多,那么借助 IE 的条件注释,hack 这件事简单了许多,如下:

<!--[if lt IE 7]>  <html class="ie ie6 lte9 lte8 lte7"> <![endif]-->
<!--[if IE 7]>     <html class="ie ie7 lte9 lte8 lte7"> <![endif]-->
<!--[if IE 8]>     <html class="ie ie8 lte9 lte8"> <![endif]-->
<!--[if IE 9]>     <html class="ie ie9 lte9"> <![endif]-->
<!--[if gt IE 9]>  <html> <![endif]-->
<!--[if !IE]><!--> <html> <!--<![endif]-->

如此的话,虽说 html 的源文件稍微有点恶心,好在 IE 条件注释在其他浏览器压根不会显示,所以这点恶心是可以接受的,之后我们再写 IE hack 就简单了许多,没有了奇葩的语法,csshint 也不会检测出什么问题,hack 写起来更加直观。

所以,忘掉那一堆 IE hack 吧!


扩展阅读:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant