仅针对IE8有效的CSS Hack猎奇写法
最近做项目的时候,引用了 Google Font 的在线字体,估计是因为浏览器对字体的渲染方式不同或者是字体格式不一样,结果导致 IE8 中导航是错位的,而 IE9 和 IE10 中是正常的。
那么就需要单独为 IE8 进行一些调整,于是就需要 IE8 的 CSS hack。一看到这里,足够容易了吧?网上流传已久的 IE8 CSS hack 就是在属性后面加上 \9 或者 \0,代码如下:
- color:#FFF\0; /* IE8 */
- color:#FFF\9; /* 所有IE浏览器(ie6+) */
加上之后,发现 IE8 确实是没有问题了,但是 IE9 和 IE10 却出现了问题,上面的 hack 同样对 IE9 和 IE10 起作用。
好吧,这个 CSS hack 不是 IE8 特有的。那怎么做才能只针对 IE8 做 hack 呢?
这里的思路需要稍稍转换一下:可以先应用 IE8 的 hack ,与非 IE 浏览器分开,然后再应用一些 CSS3 之类的 IE8 不支持的选择器来重新覆盖一遍,让支持新选择器的 IE9、IE10 正常显示。符合条件的常用选择器有 :root,于是就可以写出下面代码:
- .section-nav li a {
- display: block;
- padding: 10px 13px;
- padding: 10px 7px 10px 7px \9;
- border-right: 1px solid #d7d7d7;
- }
- :root .section-nav li a {
- padding: 10px 13px 10px 13px;
- }
这样就做到了只对 IE8 浏览器起作用的 CSS hack,这种方法后来搜索了一下,早就有人提到了,写本文主要是介绍一下这个解决浏览器兼容性问题的思路吧。
再次感叹,微软神奇的IE,在开发中不得不让人抓狂。为IE6、IE7等等,都是比较好hack的,唯独IE8比较坑一点。
相关文章
- CSS3中的font-face可以将我们上传的自定义的字体显示出来,有时比如我们要显示英文音标的字体时便需要用到,本文就整理了一下使用CSS3的font-face字体嵌入样式的方法讲解,需2016-05-13
- 下面小编就为大家带来一篇利用CSS使footer固定在页面底部的实例代码。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-05-13

纯CSS3实现的29款超全页面加载loading动画库Loaders.css特效源码
是一段实现了29款常用且有意思的页面加载loading动画库效果的Loaders.css代码,本段loading加载动画代码适应于所有网页使用,有兴趣的朋友们可以前来下载使用2016-05-12
本特效代码是一款基于使用纯JavaScript和CSS3来制作炫酷桌面便签贴纸特效的插件Sticker.js的特效,可以将任何块级元素转换为桌面便签2016-05-12
这是一款基于纯CSS3绘制可旋转的太极图形样式效果源码。可实现太极图形的顺时针动态旋转效果。该源码没有引入任何外部图形元素,采用纯css3技术实现2016-05-12
一款纯CSS3代码实现星系轨道旋转网站菜单特效源码,其中圆球和光效是图片,主要运动了css的animation,transform,transition属性。需要的朋友前来下载源码2016-05-12
CSS3实现鼠标中轮滚动树生长的过程特效源码是一款基于jQuery+CSS3+HTML5实现的鼠标滚动视差效果。需要的朋友不妨前来下载源码2016-05-12- 这篇文章主要介绍了几个CSS3的flex弹性盒模型布局的简单例子演示,flex布局是迄今为止最强大的web布局方式,需要的朋友可以参考下2016-05-12
- content属性最基本的功能是处理文本,但实际能用到content的地方却非常多,比如图标和url处理,以及下面将要提到的计数器例子,接下来就总结一下CSS中的content属性使用教程:2016-05-12
CSS3中的transform属性进行2D和3D变换的基本用法
这篇文章主要介绍了使用CSS3中的transform属性进行2D和3D变换的基本用法,文中同时介绍了使用perspective-origin定义初始位置的方法,需要的朋友可以参考下2016-05-12







最新评论