2012-02-09 77 views
4

我遇到了圆角边框和IE9渐变的问题。渐变溢出了圆角边框。Internet Explorer 9中的渐变溢出了圆角边框

.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;但没有任何效果。有什么建议么?

回答

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 */ 
}