css中各個瀏覽器安全色的解決辦法
來源:互聯網
上載者:User
1. CSS中幾種瀏覽器對不同關鍵字的支援,可進行瀏覽器安全色性重複定義
!important 可被FireFox和IE7識別
* 可被IE6、IE7識別
_ 可被IE6識別
*+ 可被IE7識別
區別IE6與FF:
background:orange;*background:blue;
區別IE6與IE7:
background:green !important;background:blue;
區別IE7與FF:
background:orange; *background:green;
區別FF,IE7,IE6:
background:orange;*background:green !important;*background:blue;
IE7,IE8相容:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
2. IE專用的條件注釋
<!--其他瀏覽器 -->
<link rel="stylesheet" type="text/css" href="css.css" />
<!--[if IE 7]>
<!-- 適合於IE7 -->
<link rel="stylesheet" type="text/css" href="ie7.css" />
<![endif]-->
<!--[if lte IE 6]>
<!-- 適合於IE6及一下 -->
<link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->
3. 幾個瀏覽器對實際像素的解釋
IE/Opera:對象的實際寬度 = (margin-left) + width + (margin-right)
Firefox/Mozilla:對象的實際寬度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width) + (margin-right)
4. 滑鼠手勢問題:FireFox的cursor屬性不支援hand,但是支援pointer,IE兩個都支援;所以為了相容都用pointer
5. FireFox中設定HTML標籤的Style屬性時,所有位置、寬高和尺寸值必須後跟px,IE也支援此寫法,因此統一加px單位。如 Obj.Style.Height = imgObj.Style.Height + ‘px';
6. FireFox無法解析簡寫的padding屬性設定,如padding 5px 4px 3px 1px;必須改為 padding-top:5px; padding-right:4px; padding-bottom:3px; padding-left:1px0;
7. 消除ul、ol等列表的縮排時,樣式應寫成:list-style:none;margin:0px;padding:0px;其中margin屬性對IE有效,padding屬性對FireFox有效
8. CSS控制透明:IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60); FireFox:opacity:0.6;
9. CSS控制圓角:IE:不支援圓角;
FireFox: -moz-border-radius:4px;或
-moz-border-radius-topleft:4px;
-moz-border-radius-topright:4px;
-moz-border-radius-bottomleft:4px;
-moz-border-radius- bottomright:4px;
10. CSS雙線凹凸邊框:IE:border:2px outset;
FireFox:
-moz-border-top-colors: #d4d0c8 white;
-moz-border-left-colors: #d4d0c8 white;
-moz-border-right-colors:#404040 #808080;
-moz-border-bottom-colors:#404040 #808080;
11. IE支援CSS方法cursor:url()自訂游標樣式檔案和捲軸顏色風格;FireFox對以上兩者均不支援
12. IE有Select控制項永遠處於最上層的bug,且所有CSS對Select控制項都不起作用
13. IE支援Form中的Label標籤,包括圖片和文字內容;FireFox不支援包含圖片的Label,點擊圖片不能讓標記 label for 的Radio或CheckBox產生效果
14. FireFox中的TextArea不支援onScroll事件
15. FireFox不支援display的inline和block
16. FireFox對Div設定margin-left, margin-right為auto時已經置中, IE中不行
17. FireFox對Body設定text-align時, Div需要設定margin: auto(主要是margin-left margin-right) 方可置中
18. 對超連結的CSS樣式設定最好遵從這樣的順序:L-V-H-A。即
<style type="text/css">
<!--
a:link {}
a:visited {}
a:hover {}
a:active {}
-->
</style>
這樣可以避免一些訪問過後的超連結就不具備hover和active樣式了
19. IE中設定長段落自動換行在CSS中設定word-wrap:break-word;FireFox中使用JS插入 的方法來實現,具體代碼如下:
<script type="text/javascript">
/* <![CDATA[ */
function toBreakWord(el, intLen){
var obj=document.getElementById(el);
var strContent=obj.innerHTML;
var strTemp="";
while(strContent.length>intLen){
strTemp+=strContent.substr(0,intLen)+" ";
strContent=strContent.substr(intLen,strContent.length);
}
strTemp+=" "+strContent;
obj.innerHTML=strTemp;
}
if(document.getElementById && !document.all) toBreakWord("div_id", 37);
/* ]]> */
</script>
20. 在子容器加了浮動屬性後,該容器將不能自動撐開
解決方案:在標籤結束後下一個標籤中加上一個清除浮動的CSS clear:both;