主頁 > 知識(shí)庫 > div+CSS 兼容小摘

div+CSS 兼容小摘

熱門標(biāo)簽:常州電話外呼系統(tǒng)招商 申請(qǐng)400電話移動(dòng) 南通電銷外呼系統(tǒng)軟件 上海400電話辦理到易號(hào)網(wǎng) 廣州防封電銷機(jī)器人廠家 洛陽防封卡外呼系統(tǒng)廠家 山東電銷機(jī)器人軟件 智能語音電銷機(jī)器人客戶端 成都企業(yè)外呼系統(tǒng)
區(qū)別IE6與FF:
background:orange;*background:blue;
區(qū)別IE6與IE7:
background:green !important;background:blue;
區(qū)別IE7與FF:
background:orange; *background:green;
區(qū)別FF,IE7,IE6:
background:orange;*background:green !important;*background:blue;
IE7,IE8兼容:
meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
HEAD
1. CSS中幾種瀏覽器對(duì)不同關(guān)鍵字的支持,可進(jìn)行瀏覽器兼容性重復(fù)定義
!important 可被FireFox和IE7識(shí)別
* 可被IE6、IE7識(shí)別
_ 可被IE6識(shí)別
*+ 可被IE7識(shí)別
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. 幾個(gè)瀏覽器對(duì)實(shí)際像素的解釋
IE/Opera:對(duì)象的實(shí)際寬度 = (margin-left) + width + (margin-right)
Firefox/Mozilla:對(duì)象的實(shí)際寬度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width) + (margin-right)
4. 鼠標(biāo)手勢問題:FireFox的cursor屬性不支持hand,但是支持pointer,IE兩個(gè)都支持;所以為了兼容都用pointer
5. FireFox中設(shè)置HTML標(biāo)簽的Style屬性時(shí),所有位置、寬高和尺寸值必須后跟px,IE也支持此寫法,因此統(tǒng)一加px單位。如 Obj.Style.Height = imgObj.Style.Height + ‘px';
6. FireFox無法解析簡寫的padding屬性設(shè)置,如padding 5px 4px 3px 1px;必須改為 padding-top:5px; padding-right:4px; padding-bottom:3px; padding-left:1px0;
7. 消除ul、ol等列表的縮進(jìn)時(shí),樣式應(yīng)寫成:list-style:none;margin:0px;padding:0px;其中margin屬性對(duì)IE有效,padding屬性對(duì)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()自定義光標(biāo)樣式文件和滾動(dòng)條顏色風(fēng)格;FireFox對(duì)以上兩者均不支持
12. IE有Select控件永遠(yuǎn)處于最上層的bug,且所有CSS對(duì)Select控件都不起作用
13. IE支持Form中的Label標(biāo)簽,包括圖片和文字內(nèi)容;FireFox不支持包含圖片的Label,點(diǎn)擊圖片不能讓標(biāo)記 label for 的Radio或CheckBox產(chǎn)生效果
14. FireFox中的TextArea不支持onScroll事件
15. FireFox不支持display的inline和block
16. FireFox對(duì)Div設(shè)置margin-left, margin-right為auto時(shí)已經(jīng)居中, IE中不行
17. FireFox對(duì)Body設(shè)置text-align時(shí), Div需要設(shè)置margin: auto(主要是margin-left margin-right) 方可居中
18. 對(duì)超鏈接的CSS樣式設(shè)置最好遵從這樣的順序:L-V-H-A。即
style type="text/css">
!--
a:link {}
a:visited {}
a:hover {}
a:active {}
-->
/style>
這樣可以避免一些訪問過后的超鏈接就不具備hover和active樣式了
19. IE中設(shè)置長段落自動(dòng)換行在CSS中設(shè)置word-wrap:break-word;FireFox中使用JS插入 的方法來實(shí)現(xiàn),具體代碼如下:
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. 在子容器加了浮動(dòng)屬性后,該容器將不能自動(dòng)撐開
解決方法:在標(biāo)簽結(jié)束后下一個(gè)標(biāo)簽中加上一個(gè)清除浮動(dòng)的CSS clear:both;
21. 浮動(dòng)后IE6解釋外邊距為實(shí)際邊距的雙倍
解決辦法:加上display:inline
22. IE6下圖片下方會(huì)有空隙
解決辦法:為img加上display:block或設(shè)置vertical-align 屬性為vertical-align:top | bottom |middle |text-bottom
23. IE6下兩個(gè)層中間有空隙
解決辦法:設(shè)置右側(cè)div也同樣浮動(dòng)float:left或者相對(duì)IE6定義 margin-right:-3px;
24. LI中內(nèi)容超過長度后以省略號(hào)的顯示方法
style type="text/css">
!--
li {
width:200px;
white-space:nowrap;
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
overflow: hidden;
}
-->
/style>
25. 將元素的高度和行高設(shè)為相同值,即可垂直居中文本
style type="text/css">
!--
div {
height:30px;
line-height:30px;
}
-->
/style>
26. 對(duì)齊文本與文本輸入框,須在CSS中增加vertical-align:middle;屬性設(shè)置
style type="text/css">
!--
… …
vertical-align:middle;
}
-->
/style>
27. 支持WEB標(biāo)準(zhǔn)的瀏覽器設(shè)置了固定高度值就不會(huì)像IE6那樣被撐開,但是又想設(shè)置固定高度又想能夠被撐開呢?解決辦法是去掉height屬性而設(shè)置min-height,為了兼容不支持min-height的IE6可以這樣定義:
{
height:auto!important;
height:200px;
min-height:200px;
}
28. web標(biāo)準(zhǔn)中IE無法設(shè)置滾動(dòng)條顏色
解決辦法:在CSS中對(duì)body的設(shè)置改為對(duì)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由于默認(rèn)行高問題無法定義1px左右高度的容器,
解決辦法:在CSS中對(duì)容器設(shè)置如:overflow:hidden | zoom:0.08 | line-height:1px
30. 給Flash設(shè)置透明屬性可使層顯示在Flash之上
param name="wmode" value="transparent" /> !-- 解決IE上的問題 //>
embed wmode="transparent" …… > !-- 解決FireFox上的問題 //>
31. FireFox設(shè)置Padding屬性后會(huì)相應(yīng)的增加Width和Height屬性值,IE不會(huì)
解決辦法:用!important方法多定義一套Height和Width
32. FireFox對(duì)div與div之間的空格是忽略的,但I(xiàn)E是處理的;因此盡量在兩個(gè)相連的div之間不要有空格和回車,否則可能會(huì)造成不同瀏覽器之間格式不正確,比如著名的3px偏差;而且原因很難查明
33. 形如如下格式
div id="parent">
div id="content"> /div>
/div>
當(dāng)Content內(nèi)容多時(shí),即使parent設(shè)置了高度100%或auto,在不同瀏覽器下還是不能完好的自動(dòng)伸展;解決辦法在層的最下方產(chǎn)生一個(gè)高度為1的空格,代碼如下
div id="parent">
div id="content"> /div>
div style="font: 0px/0px sans-serif;clear: both;display: block"> /div>
/div>
34. IE和FireFox對(duì)字體small的尺寸解釋不同,F(xiàn)ireFox為13px,IE中為16px
35. IE和FireFox對(duì)空格的尺寸解釋不同,F(xiàn)ireFox為4px,IE中為8px

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

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

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

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

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

為什么div+css在ie6沒問題,在firfox有問題,嚴(yán)重走樣,什么原因,謝謝
IE和FF的比較大的區(qū)別是1。在1024的分辨率下 IE最多顯示1002PX FF顯示1005PX2。IE容錯(cuò)性超級(jí)強(qiáng) 也就是說 你代碼寫錯(cuò)了 少寫了 也有可能顯示正確 FF就不行~~~`一般新手常常出現(xiàn)的問題:沒有清除浮動(dòng)~~~~.clear{ clear:both; height:1px; top:-1px; overflow:hidden}在每一個(gè)浮動(dòng)后面都加上一個(gè)div class="clear">div>
您可能感興趣的文章:
  • 多瀏覽器兼容的動(dòng)態(tài)加載 JavaScript 與 CSS
  • js+css實(shí)現(xiàn)的簡單易用兼容好的分頁
  • Css瀏覽器兼容的解決方法
  • div+css+js實(shí)現(xiàn)無縫滾動(dòng)類似marquee無縫滾動(dòng)兼容firefox
  • CSS Hack 匯總速查手冊(cè)瀏覽器兼容必會(huì)
  • css瀏覽器不兼容原因分析及解決辦法
  • 使css兼容IE8的小技巧
  • JavaScript獲取鼠標(biāo)移動(dòng)時(shí)的坐標(biāo)(兼容IE8、chome谷歌、Firefox)
  • javascript中實(shí)現(xiàn)兼容JAVA的hashCode算法代碼分享
  • 兼容最新firefox、chrome和IE的javascript圖片預(yù)覽實(shí)現(xiàn)代碼
  • JavaScript在IE和FF下的兼容性問題
  • css與javascript跨瀏覽器兼容性總結(jié)

標(biāo)簽:滄州 廣安 貴州 邵陽 鶴壁 賀州 混顯 萊蕪

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《div+CSS 兼容小摘》,本文關(guān)鍵詞  div+CSS,兼容,小摘,div+CSS,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《div+CSS 兼容小摘》相關(guān)的同類信息!
  • 本頁收集關(guān)于div+CSS 兼容小摘的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章