html就一个div top_nav CSS写完滤镜后,IE 滤镜兼容性问题,IE6-9有效,IE10却无效?跪求解决

html-css039

html就一个div top_nav CSS写完滤镜后,IE 滤镜兼容性问题,IE6-9有效,IE10却无效?跪求解决,第1张

刚才看见有人回答这个问题了,怎么又没了

IE 10 已经不再支持 DirectX filter,因为直接可以使用 CSS3 了。

下面是跨浏览器的写法

.top_nav {

width: 100%

height: 29px

/* 如果浏览器不支持渐变,使用图像作为背景 */

background: url(gradient.jpg)

/* Webkit: Safari 4-5, Chrome 1-9 */

background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#636363), to(#393939))

/* Webkit: Safari 5.1+, Chrome 10+ */

background: -webkit-linear-gradient(top, #636363, #393939)

/* Firefox 3.6+ */

background: -moz-linear-gradient(top, #636363, #393939)

/* Opera 11.10+ */

background: -o-linear-gradient(top, #636363, #393939)

/* IE 10 */

background: -ms-linear-gradient(top, #636363, #393939)

/* IE <10 */

FILTER: progid:DXImageTransform.Microsoft.Gradient(startColorStr=#636363, endColorStr=#393939)

// CSS3 标准

background: linear-gradient(#636363, #393939)

}

似乎IE10里面就没必要用expression来做渐变效果了,它是原生支持CSS3渐变的,直接用个css3的属性就行:

linear-gradient(to bottom, orange, black)

像你的这个样式直接改成下面这样就行了:

.top_nav { width: 100%height: 29pxfilter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#636363', endColorstr='#393939', GradientType=0 )background:linear-gradient(to bottom, #636363, #393939)}

expression会影响浏览器的性能,一般能用CSS解决就不用expression了~~

呃。。。刚才漏掉了一个background:

您好!很高兴为您答疑。

filter类css属性是ie特有,因为其并未列入w3c标准,所以在其它严格遵循该标准的浏览器下都未进行支持,请知晓。

如果对我们的回答存在任何疑问,欢迎继续问询。