旧版浏览器的 CSS3 回退

标签 css gradient fallback

我使用 CSS3 制作了一个圆圈,但在旧版浏览器(ie7 等)中出现了问题,圆圈显示为正方形。

我知道我可以使用背景图片作为备份,但这不是违背了使用代码的意义吗?

如果我要放入背景图像,它会放在 CSS 中的什么位置?

.ButtonB:hover, .ButtonB.hover {
    background: -moz-linear-gradient(
        center top,
        rgba(255, 255, 255, .2) 0%,
        rgba(255, 255, 255, .1) 100%
    );/* FF3.6 */
    background: -webkit-gradient(
        linear,
        center bottom,
        center top,
        from(rgba(255, 255, 255, .1)),
        to(rgba(255, 255, 255, .2))
    );/* Saf4+, Chrome */
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#33FFFFFF', EndColorStr='#19FFFFFF'); /* IE6,IE7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#33FFFFFF', EndColorStr='#19FFFFFF')"; /* IE8 */
}

最佳答案

使用以下将为各种浏览器提供更好的支持,并在不支持渐变时回退到纯色,您可以用图像替换此纯色。

background: #0A284B;  /* for images use #0A284B url(image.jpg)*/
background: -webkit-gradient(linear, left top, left bottom, from(#0A284B), to(#135887));
background: -webkit-linear-gradient(#0A284B, #135887);
background: -moz-linear-gradient(top, #0A284B, #135887);
background: -ms-linear-gradient(#0A284B, #135887);
background: -o-linear-gradient(#0A284B, #135887);
background: linear-gradient(#0A284B, #135887);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0A284B', endColorstr='#135887');
zoom: 1;

您需要指定一个 heightzoom: 1 以将 hasLayout 应用到该元素以使其在 IE 中工作。

关于旧版浏览器的 CSS3 回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893804/

相关文章:

html - CSS Translate 在原始位置创建空白

forms - Delphi:透明或渐变框架

HTML 5 元素,非 JS 后备

oracle - 灾难恢复后 Oracle 序列会发生什么变化?

html - 如何在不更改桌面用户 View 的情况下让移动用户的元素相互堆叠

css - 如何仅在到达顶部时显示 "fixed"菜单?

javascript - 在结束 body 标签之前编写 CSS

CSS:悬停过渡时按钮边框渐变反转

swift - 快速在 View 和按钮上应用渐变颜色的问题

MySQL 复制 : Question about a fallback-system