如何在IE 9中一起使用边框半径和渐变背景

时间:2013-09-30 10:24:59

标签: html css internet-explorer-9 css3

我用css创建了一个按钮样式,但我在IE9上有问题, 它在Firefox上运行良好

代码:

 .my_box {
    -moz-box-shadow:inset 0px 1px 0px 0px #f9eca0;
    -webkit-box-shadow:inset 0px 1px 0px 0px #f9eca0;
    box-shadow:inset 0px 1px 0px 0px #f9eca0;
    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f0c911), color-stop(1, #f2ab1e) );
    background:-moz-linear-gradient( center top, #f0c911 5%, #f2ab1e 100% );
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0c911', endColorstr='#f2ab1e');
    background-color:#f0c911;
    -webkit-border-top-left-radius:33px;
    -moz-border-radius-topleft:33px;
    border-top-left-radius:33px;
    -webkit-border-top-right-radius:0px;
    -moz-border-radius-topright:0px;
    border-top-right-radius:0px;
    -webkit-border-bottom-right-radius:33px;
    -moz-border-radius-bottomright:33px;
    border-bottom-right-radius:33px;
    -webkit-border-bottom-left-radius:0px;
    -moz-border-radius-bottomleft:0px;
    border-bottom-left-radius:0px;
    text-indent:0;
    border:1px solid #e65f44;
    display:inline-block;
    color:#c92200;
    font-family:Arial;
    font-size:15px;
    font-weight:bold;
    font-style:normal;
    height:40px;
    line-height:40px;
    width:100px;
    text-decoration:none;
    text-align:center;
    text-shadow:1px 1px 0px #ded17c;
}

请参阅FIDDLE

如何让它在IE9上运行?

请JS解答

6 个答案:

答案 0 :(得分:2)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

答案 1 :(得分:1)

CSS边框半径将通过将其添加到页眉,

来工作
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>

确保它位于HTML文档的顶部

<!DOCTYPE html>

答案 2 :(得分:1)

您可以使用此http://css3pie.com/它适用于IE 6-9

答案 3 :(得分:1)

不使用过滤器试试

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f0c911', endColorstr='#f2ab1e');

可以覆盖样式。

Fiddle

答案 4 :(得分:1)

给元素一个容器,边框半径并将容器的溢出设置为隐藏,并为该元素赋予边框:

<强> HTML

<div class='rounded'>
    <a href="#" class="my_box">TEXT</a>
</div>

<强> CSS

.rounded{
    -webkit-border-top-left-radius:33px;
    -moz-border-radius-topleft:33px;
    border-top-left-radius:33px;
    -webkit-border-top-right-radius:0px;
    -moz-border-radius-topright:0px;
    border-top-right-radius:0px;
    -webkit-border-bottom-right-radius:33px;
    -moz-border-radius-bottomright:33px;
    border-bottom-right-radius:33px;
    -webkit-border-bottom-left-radius:0px;
    -moz-border-radius-bottomleft:0px;
    border-bottom-left-radius:0px;
    overflow:hidden;
    display:inline-block;
    border:1px solid #e65f44;
}

JSFiddle

在IE 9中尝试并测试

答案 5 :(得分:0)

试试这个:

-webkit-border-top-right-radius: 36px;
-webkit-border-bottom-left-radius: 36px;
-moz-border-radius-topright: 36px;
-moz-border-radius-bottomleft: 36px;
border-top-right-radius: 36px;
border-bottom-left-radius: 36px;

您可以按border-radius.com

创建边框半径