2012-02-09 78 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 */ 
}