国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

div+CSS 兼容小摘

2024-07-11 09:01:26
字體:
來源:轉載
供稿:網友
div+CSS兼容小摘,比較實用的小技巧。
 
 
 
區別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" /> 
HEAD 
1. CSS中幾種瀏覽器對不同關鍵字的支持,可進行瀏覽器兼容性重復定義 
!important 可被FireFox和IE7識別 
* 可被IE6、IE7識別 
_ 可被IE6識別 
*+ 可被IE7識別 
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; 
21. 浮動后IE6解釋外邊距為實際邊距的雙倍 
解決辦法:加上display:inline 
22. IE6下圖片下方會有空隙 
解決辦法:為img加上display:block或設置vertical-align 屬性為vertical-align:top | bottom |middle |text-bottom 
23. IE6下兩個層中間有空隙 
解決辦法:設置右側div也同樣浮動float:left或者相對IE6定義 margin-right:-3px; 
24. LI中內容超過長度后以省略號的顯示方法 
<style type="text/css"> 
<!-- 
li { 
width:200px; 
white-space:nowrap; 
text-overflow:ellipsis; 
-o-text-overflow:ellipsis; 
overflow: hidden; 

--> 
</style> 
25. 將元素的高度和行高設為相同值,即可垂直居中文本 
<style type="text/css"> 
<!-- 
div { 
height:30px; 
line-height:30px; 

--> 
</style> 
26. 對齊文本與文本輸入框,須在CSS中增加vertical-align:middle;屬性設置 
<style type="text/css"> 
<!-- 
… … 
vertical-align:middle; 

--> 
</style> 
27. 支持WEB標準的瀏覽器設置了固定高度值就不會像IE6那樣被撐開,但是又想設置固定高度又想能夠被撐開呢?解決辦法是去掉height屬性而設置min-height,為了兼容不支持min-height的IE6可以這樣定義: 

height:auto!important; 
height:200px; 
min-height:200px; 

28. web標準中IE無法設置滾動條顏色 
解決辦法:在CSS中對body的設置改為對html的 
<style type="text/css"> 
<!-- 
html { 
scrollbar-face-color:#f6f6f6; 
scrollbar-highlight-color:#fff; 
scrollbar-shadow-color:#eeeeee; 
scrollbar-3dlight-color:#eeeeee; 
scrollbar-arrow-color:#000; 
scrollbar-track-color:#fff; 
scrollbar-darkshadow-color:#fff; 

--> 
</style> 
29. IE6由于默認行高問題無法定義1px左右高度的容器, 
解決辦法:在CSS中對容器設置如:overflow:hidden | zoom:0.08 | line-height:1px 
30. 給Flash設置透明屬性可使層顯示在Flash之上 
<param name="wmode" value="transparent" /> <!-- 解決IE上的問題 //> 
<embed wmode="transparent" …… > <!-- 解決FireFox上的問題 //> 
31. FireFox設置Padding屬性后會相應的增加Width和Height屬性值,IE不會 
解決辦法:用!important方法多定義一套Height和Width 
32. FireFox對div與div之間的空格是忽略的,但IE是處理的;因此盡量在兩個相連的div之間不要有空格和回車,否則可能會造成不同瀏覽器之間格式不正確,比如著名的3px偏差;而且原因很難查明 
33. 形如如下格式 
<div id="parent"> 
<div id="content"> </div> 
</div> 
當Content內容多時,即使parent設置了高度100%或auto,在不同瀏覽器下還是不能完好的自動伸展;解決辦法在層的最下方產生一個高度為1的空格,代碼如下 
<div id="parent"> 
<div id="content"> </div> 
<div style="font: 0px/0px sans-serif;clear: both;display: block"> </div> 
</div> 
34. IE和FireFox對字體small的尺寸解釋不同,FireFox為13px,IE中為16px 
35. IE和FireFox對空格的尺寸解釋不同,FireFox為4px,IE中為8px 

首先,關于CSS hack的方法網上有很多介紹,種類繁多,初學者常常感到很困惑。這類的CSS hack的方法,有的是針對某一個非常特殊的情況的方法,有的則是相對于比較通用的一些方法。 
對于后者我們在平常的學習工作中,可以多留心收集一些,前者則不需要太關注,只是遇到的時候到網上搜索一下,尋找解決方法即可。 
這里舉一個比較通用的hack方法,比如對于CSS中的某一個屬性,我們希望針對不同的瀏覽器,設置不同的值。例如,某一個div,我們希望在Firefox中寬度為50像素,在IE中寬度為60像素。那么怎么實現呢?請看如下代碼: 

#demo div{ 
width:50px; /* FireFox 有效 */ 
+width:60px; /* IE 有效 */ 


在上面的代碼中, 第2行的width:50px這是普通的樣式,下一行中,在width屬性前面加一個加號,這條樣式在Firefox中被認為無效,但是在IE中這個加號 會被忽略掉,因此仍然被理解為width屬性,從而覆蓋上一條的設置,這樣就可以區分Firefox瀏覽器和IE瀏覽器了。 
那么如果希望進一步區分IE 6和IE 7呢?請看如下代碼: 

#demo div{ 
width:50px; /* FireFox 有效 */ 
+width:60px; /* IE 7 有效 */ 
_width:70px; /* IE 6 有效 */ 


上面代碼就可以實現對三種瀏覽器的區分了。在IE7中,屬性前加一個加號,這個加號會被忽略,而如果在屬性前加一個下劃線這整條樣式會被忽略,從而實現了對這三種主流瀏覽器的區分。 
到這里,我們自然會想到,什么情況下會用的這種方法來區分瀏覽器呢?我們要制作的頁面,通常會有兩種情況,一種是徹底從頭開始做,另一種是基于一個已經存在的網頁進行修改或者修補。 
對于第一種情況來說,我們對網頁的每一個細節都十分清楚,因此并不經常遇到非常Firefox和IE的兼容性問題,即使遇到了,一般也可以找到其他 方法解決。而對于第二種情況來說,則復雜的多了,因為一個網頁可能非常復雜,層疊關系也很復雜,對于后接手的人,很難搞清楚某一個的屬性上面有多少層設置 會對他產生影響,因此往往只能采用“貼膏藥”的方式進行修補。 
比如說,如下的一個頁面的最終效果,在制作圓角框的時候,在IE中,圓角對整齊之后,在firefox中卻出現如圖所示的錯位,而如果按照Firefox調整好,在IE中又會出現錯位。 
而頁面的內容層層嵌套,在并不知道細節的情況下,很難找到問題的根源。因此這里使用修補的方法就很方便(盡管不是最優雅完善的方法),例如對于控制圓角圖像位置的屬性使用上面的方法,分別控制即可。 
總上所述,對任何屬性都可以使用加號或者下劃線方法,來實現針對不同瀏覽器的各自設置。當然,最后還是要指出,任何hack方法都要慎重使用,最好還是能夠按照標準、優雅的CSS來進行設計,這樣的代碼可讀性、維護性都要好很多,也是我們追求的目標。 

為什么div+css在ie6沒問題,在firfox有問題,嚴重走樣,什么原因,謝謝 
IE和FF的比較大的區別是1。在1024的分辨率下 IE最多顯示1002PX FF顯示1005PX2。IE容錯性超級強 也就是說 你代碼寫錯了 少寫了 也有可能顯示正確 FF就不行~~~`一般新手常常出現的問題:沒有清除浮動~~~~.clear{ clear:both; height:1px; top:-1px; overflow:hidden}在每一個浮動后面都加上一個<div class="clear"><div>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枣庄市| 启东市| 花莲市| 安乡县| 炎陵县| 都昌县| 汕头市| 泗洪县| 杂多县| 南丰县| 昂仁县| 黑河市| 武汉市| 自贡市| 万宁市| 梧州市| 永德县| 安龙县| 三门峡市| 饶平县| 瑞安市| 浦城县| 灵山县| 砀山县| 台北县| 内黄县| 图木舒克市| 宁海县| 绥中县| 昌乐县| 重庆市| 全南县| 邹城市| 青浦区| 新密市| 陵川县| 保靖县| 关岭| 建昌县| 曲沃县| 五华县|