4

我在 IE9 中遇到了圆形边框和渐变的问题。渐变溢出圆角边框。

.cn_item:hover, .selected{
    width:300px;
    border:1px solid #333333;
    cursor:pointer;
    position:relative;
    overflow:hidden;
    height:49px;
    color:#333333;
    padding:5px;
    margin:6px 5px 0px 0px;
    text-shadow:1px 1px 1px #000;       
    background-image: -ms-linear-gradient(top, #DDDDDD 25%, #FF0000 5%);        
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#666666');
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#666666')";
    zoom: 1;

    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border-radius:5px;
}

我已经使用了,overflow:hidden;但没有任何效果。有什么建议么?

4

2 回答 2

2

这是一个已知的错误。如果你搜索stackoverflow,就会有一些类似这样的问题。
IE9边框半径和背景渐变出血

在不添加更多标记的情况下解决它的唯一方法是使用 svg。
Colorzilla 渐变编辑器应该让它变得简单。

于 2012-02-09T00:47:31.573 回答
1

只需使用包装器 div(圆形和溢出隐藏)来裁剪 IE9 的半径。简单,跨浏览器工作。不需要 SVG、PIE、JS 或条件注释。

<div class="ie9roundedgradient"><div class="roundedgradient">text or whatever</div></div>

.ie9roundedgradient { 
display:inline-block; overflow:hidden; -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; 
}
.roundedgradient { 
-webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; 
/* use colorzilla to generate your cross-browser gradients */ 
}
于 2013-02-12T19:01:29.977 回答