這是我的方法,我使用條件將CSS文件定位到IE瀏覽器。
假設你有你的div與id #page_container。在您的常規master.css或css3.css文件中,您可以爲它指定寬度,高度,圓角和陰影以及樣式。
現在,當IE瀏覽器打到您的頁面時,它會拉入您設置的css條件。對於同樣的div#page_container,你可以改變寬度一點,高度,也許一些填充,然後給它一個背景圖像,使它看起來像投影,圓角版本。
所以你頭都會有這樣的:
<head>
<link rel="stylesheet" type="text/css" href="master.css" />
<!--[if lte IE 8]> <link rel="stylesheet" type="text/css" href="ie.css" /> <![endif]-->
</head>
在master.css文件,你有這個定義你的主DIV:
div#page_container {
width: 960px;
height: auto;
padding: 10px 10px 10px 10px;
background: #ccc;
drop-shadow: whatever...
rounded-corner: whatever...
}
現在,在你的IE。 css文件,並且因爲它在你的第二個引用中,所以定義將級聯向下,所以你可以改變它一下:
div#page_container {
width: 960px;
height: auto;
padding: 15px 15px 15px 15px; /* this is key */
background: #ccc url(/path/to/image.file) no-repeat top left;
}
添加足夠的額外填充以使陰影適合您的背景圖像。因爲它會級聯下來,它會覆蓋原來的10px填充,擴展盒子模型以適應您的額外陰影圖形。
夫婦這種方法的好處包括:
- 只有IE會看到這個定義和調用圖像。如果這是一個高容量的應用程序,這將節省帶寬和與通話相關的任何延遲。同樣,由於您沒有在每個瀏覽器都會看到的圓角圖形中進行硬編碼,因此您的Firefox和Safari用戶無需通過額外的圖像調用就可以訪問服務器。
- 無需添加在另一個JavaScript的插件,IE瀏覽器的檢查,創建新的標記,時間等信息。
在我看來,除了用圖像做這件事之外,沒有很好的解決方案。 JS圓角使用背景圖像/顏色在角落放置元素,以在IE中創建這種效果。我認爲它不是一個合適的解決方案。我會用圖像解決方案,或者等待IE9:P PS:我喜歡這種設計。 – meo 2010-04-26 16:18:34