2013-05-07 37 views
0

以下是我的網站的CSS。 box-shadows完美適用於Chrome和Firefox,但我無法在Internet Explorer 9及更低版本中正常工作。它確實在IE 10上正常工作。我希望盒子陰影只能圍繞容器div。真的不在乎盒子的陰影是否圍繞着topleft div,但如果這是一個簡單的解決方案,也可以隨時提供幫助。感謝您的時間。Internet Explorer - CSS box-shadow僅限容器div的陰影

@charset "utf-8"; 
body { 
margin: 0; 
padding: 0; 
border: none; 
background-color: #FFF; 
} 
html { 
overflow: -moz-scrollbars-vertical; 
overflow-y: scroll; 
} 
#container { 
width: 1000px; 
margin-right: auto; 
margin-left: auto; 
box-shadow: 0px 2px 15px 0px #000; 
-moz-box-shadow: 0px 2px 5px 0px #000; 
-webkit-box-shadow: 0px 2px 15px 0px #000; 
/* For IE 8 */ 
/* -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=0)";*/ 
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=90)"; 
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=180)"; 
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Color=#cccccc, Strength=5, Direction=270)"; 
/* for IE 5.5 - 7 */ 
filter: 
    /* progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=0, Color='#cccccc'),*/ 
    progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=90, Color='#cccccc'), 
    progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=180, Color='#cccccc'), 
    progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=270, Color='#cccccc'); 
} 

#container #topbox { 
padding:0; 
margin:0; 
height: 35px; 
width: 1000px; 
} 
#container #topnav { 
height: 35px; 
width: 750px; 
float:left; 
} 
#container #cse 
{ 
height: 20px; 
width: 250px; 
float: left; 
text-align: center; 
padding-bottom: 15px; 
vertical-align: middle; 
margin-top: -10px; 
} 

#container #Topleft { 
height: 200px; 
width: 250px; 
border: 5px solid #EAEAEA; 
-webkit-transform: rotate(-2deg); /* Chrome, Safari 3.1+ */ 
-moz-transform: rotate(-2deg); /* Firefox 3.5-15 */ 
-ms-transform: rotate(-2deg); /* IE 9 */ 
-o-transform: rotate(-2deg); /* Opera 10.50-12.00 */ 
transform: rotate(-2deg); /* Firefox 16+, IE 10+, Opera 12.10+ */ 
border-radius: 7px; 
-moz-border-radius: 7px; 
-webkit-border-radius: 7px; 
box-shadow: 0px 2px 15px 0px #000; 
-moz-box-shadow: 0px 2px 5px 0px #000; 
-webkit-box-shadow: 0px 2px 15px 0px #000; 
background-color: #FFF; 
} 
#container #TopRight { 
height: 150px; 
width: 740px; 
} 
#container #banner { 
height: 100px; 
width: 670px; 
padding-left: 70px; 

} 
#container #alertmessage { 
height: 50px; 
width: 740px; 
background-color: #006; 
} 
#alertmessagebox { 
width: 730px; 
height: 45px; 
padding-left: 5px; 
padding-top: 5px; 
overflow: hidden; 
font-size: 1em; 
color: #CCC; 
font-weight: bold; 
text-align: center; 
text-transform: uppercase; 
/*display: table-cell; 
vertical-align: middle;*/ 
} 
#container #SideNav { 
width: 260px; 

} 
#container #leftcol { 
float: left; 
padding-bottom: 150px; 
/*background-color: #FFF;*/ 
} 
#container #rightcol { 
float: left; 
} 
#container #Body { 
width: 740px; 
height: auto; 
background-color: #33F; 
} 
#container #Footer { 
font-family: Verdana, Geneva, sans-serif; 
font-size: 12px; 
background-color: #006; 
width: 1000px; 
clear: both; 
color: #CCC; 
text-align: center; 
} 
+0

沒有HTML,這將是相當困難的,如果不是不可能,調試。請考慮製作一個jsfiddle演示,包括重現問題所需的HTML和CSS。 – 2013-05-08 00:28:02

+0

這裏是網站。 http://www.rsd17.org/test/test/untitled1.shtml。我會盡力爲你明天做一個jsfiddle。感謝您看這個問題。 – 2013-05-08 00:54:05

+0

對於IE9,過濾器會遮擋箱形陰影。如果你刪除它可以正常工作。我會從樣式表中刪除過濾器,並且僅使用條件註釋將其過濾到IE8和更低版本。至於IE8及以下版本,它們不支持box-shadow。 – 2013-05-08 01:04:40

回答

0

IE9正確支持box-shadow,但過濾器會干擾它。過濾器實際上工作正常,但不在您期望的位置。你會注意到它是在子元素周圍添加一個過濾器。這是因爲它是一個陰影,並且您的容器的背景是透明的。您可以通過添加背景顏色的div容器修復:

#container { background-color: white; } 
+0

真棒,幾乎完美。只是一個問題。如果我註釋掉這條線,在ie9中我沒有右側,但在8中看起來很完美,但是如果我將它留在我的搜索框上,ie8和ie9看起來很完美。 progid:DXImageTransform.Microsoft.Shadow(Strength = 5,Direction = 0,Color ='#cccccc'),無論如何解決這個問題,它適用於兩個? – 2013-05-08 11:30:31

+0

我不確定你的意思。我沒有看到您使用該代碼的位置。 – 2013-05-08 21:24:00

+0

它位於我的#container div下我的CSS與我所有的箱子陰影的東西。如果你看上面的評論。我沒有注意到它在IE9中工作,但在IE8中,我的谷歌搜索只有一個頂部邊框。 – 2013-05-08 22:45:08