2015-11-11 23 views
0

我正在玩一天背景漸變和邊框,只是爲了好玩,我注意到了IE中的某些內容。 我的背景顏色以箱子的形式溢出我的1px邊框之外...僅限IE

背景顏色溢出半徑邊界外,但只在IE中。我正在使用IE 9,它不是在怪癖模式。

下面是我用我的CSS代碼:

body { background-color:#e0dfdf; } 

.mainbaloon { background: #1e5799; /* Old browsers */ 
     background: -moz-linear-gradient(top, #1e5799 0%, #2989d8 50%, #7db9e8 100%); /* FF3.6+ */ 
     background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(50%,#2989d8), color-stop(100%,#7db9e8)); /* Chrome,Safari4+ */ 
     background: -webkit-linear-gradient(top, #1e5799 0%,#2989d8 50%,#7db9e8 100%); /* Chrome10+,Safari5.1+ */ 
     background: -o-linear-gradient(top, #1e5799 0%,#2989d8 50%,#7db9e8 100%); /* Opera 11.10+ */ 
     background: -ms-linear-gradient(top, #1e5799 0%,#2989d8 50%,#7db9e8 100%); overflow: hidden; /* IE10+ */ 
     background: linear-gradient(to bottom, #1e5799 0%,#2989d8 50%,#7db9e8 100%); /* W3C */ 
     background-clip: padding-box; 
     filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0); /* IE6-9 */ 
     width: 750px; 
     border: 1px solid #000; 


/* Border Radius for All Browsers START */ 
     border-radius: .5em; 
     -moz-border-radius: .5em; 
     -webkit-border-radius: 15px; 
     -ms-border-radius:.5em; 
/* Border Radius for All Browsers END */  

到目前爲止,我已經嘗試了Meta標記的事情

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

然後-ms-邊界的事情以及嘗試各種嘗試

overflow:hidden; 
background-clip: 

或其他什麼。

我精神疲憊..大聲笑..還有什麼可以使這個背景像這樣溢出來?

+0

[圓角不能在IE9中工作]的可能重複(http://stackoverflow.com/q/9298929/1211187)。 –

回答

0

這是一個已知問題,會影響Internet Explorer的舊版本。一個簡單的解決辦法是來包裝元素具有相同的邊界半徑的容器中,並沒有明顯的溢出:

.mainbaloonContainer { 
    overflow: hidden; 
    border-radius: .5em; 
} 

這個容器會模仿相同roundedness,但隱藏溢出。在你的情況下,元素的顯式寬度爲750px,所以你需要確保容器的寬度相同。否則,容器將不足以遮擋內部元素的右邊緣。