求有什么方法可以让ie8兼容css3的nth-child,:after这种伪类选择题

html-css023

求有什么方法可以让ie8兼容css3的nth-child,:after这种伪类选择题,第1张

nth-child这个倒是可以换个思路实现,这个一般用在ul li标签中,奇偶行的mouseover效果,ul li:nth-child(odd){color:#fff}/*选取偶数*/

ul li:nth-child(even){color:#fff}/*选取奇数*/

以上的是兼容的写法,改进后的写法如下:

ul li:first-child{color:#fff}/*选取第一个li*/

ul li:first-child+li+li{color:#fff}/*选取第三个li*/

依次还可以有第5个li,等等,好在开发中li的个数一般不会多,虽然是个比较麻烦的做法,好歹能解决问题,至于after,before之类的,也不能说没法实现,也是曲线救国的方法,有个简单的思路你可以参考下,你应该清楚的是after是主样式加载完之后才表现的,after说白了也是一个样式表,或者说是个额外的class,那么好了,后期我们通过JS可以添加这个Class了,具体这个after通过鼠标点击添加呢 还是download时候就加载这个就看你了,以上为思路,仅供参考

E浏览器从IE8开始添加了兼容模式,开启后会以低版本的IE进行渲染。兼容模式有可能会导致网页显示出问题,于是通常在HTML中添加下列代码来使 IE 使用固定的渲染模式:

代码如下:

<metahttp-equiv="X-UA-Compatible"content="IE=8"><!--以IE8模式渲染-->

<metahttp-equiv="X-UA-Compatible"content="IE=7"><!--以IE7模式渲染-->

还 有一种情况,在IE8下只有不使用兼容模式页面才能显示正常,但是如果设定为IE8的模式,在IE9中却会导致CSS3失效。看来,需要针对 IE8、IE9 分别 禁用兼容模式。怎么办呢?可以在后台判断浏览器版本,如果是IE8就输出content="IE=8",如果是IE9就输出 content="IE=9"。其实还可以单纯通过HTML来实现的,HTML代码如下:

<metahttp-equiv="X-UA-Compatible"content="IE=9IE=8IE=7IE=EDGE">