css - 当浏览器不支持 CSS 样式但属性支持时会发生什么情况?

标签 css internet-explorer-8 cross-browser

我想知道如果为浏览器支持的属性提供 CSS 样式,但样式本身不受支持,会发生什么情况。

以 IE8 为例;

background: url(../path/to/img.png);
background: rgba(0,0,0,0.8);

IE8 是否会因为不支持 CSS3 颜色而直接忽略第二种样式?

谢谢:)。

最佳答案

IE8 是否会因为不支持 CSS3 颜色而直接忽略第二种样式?

答案是,它将完全忽略该值,因此不会渲染任何颜色,通常的做法是使用带有十六进制值的回退

.class_name {
    background: #000;
    background: rgba(0,0,0,.5);
}

所以,当你写 background 时两次,它是完全有效的,理解的浏览器 rgba()将呈现不透明的背景,但浏览器不理解rgba()将使用#000 .

不过,有多种解决方法,例如,您可以使用 :before:after ,与 filter具有负值的属性 z-index ,可以用作不透明背景,或者您可以使用仅适用于 IE8 的普通 1x1 px 不透明 png 图像。

例如

background: url("IMAGE_URL_HERE")\9; /* Targets IE8 and below */

关于css - 当浏览器不支持 CSS 样式但属性支持时会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23216777/

相关文章:

html - 在 IE8 中 anchor 链接和 css 透明的背景图像

html - 水平居中分页

css - PNG 背景图像未在 IE 8 中显示 < 使用 html5?

javascript - 哪个跨浏览器事件监听器是正确的(纯 Javascript)

html - 着色甚至加高列

javascript - 在向下滚动时添加类并在添加类时替换类

javascript - 导航栏悬停鼠标

html - 自定义 Bootstrap Navbar 下拉菜单会在屏幕较小时破坏设计

php - Div 在刷新时更改位置,但在键入 URL 时不更改

java - 在 ie8 和 chrome 中从 javascript 调用 java 方法