自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DIV+CSS建站時對瀏覽器的兼容性問題解決

開發(fā) 前端
使用DIV+CSS構(gòu)架好處不少,但也確實存在一些問題,尤其是對瀏覽器的兼容性問題,這里和大家分享一下DIV+CSS建站對瀏覽器的兼容性問題和注意事項。

本文和大家重點討論一下DIV+CSS建站對瀏覽器的兼容性問題和注意事項,相信本文介紹一定會讓你有所收獲。

DIV+CSS建站對瀏覽器的兼容性問題和注意事項

使用DIV+CSS構(gòu)架好處不少,但也確實存在一些問題,現(xiàn)在讓網(wǎng)頁設(shè)計師最頭疼的事莫過于DIV+CSS對瀏覽器的兼容性了,可能你用慣了IE6,做出來的東西沒感覺到有多大異常,但是把同樣的東西放到IE7里去看的話,就會發(fā)現(xiàn)很多問題,如果放到火狐瀏覽器里去看,結(jié)果更不盡人意。

一個頁面從制作的開始就決定了他要使用的瀏覽器解析css模式,瀏覽器模式的不同,就造成了各個瀏覽器對頁面顯示的差異。瀏覽器解析css有兩種模式,quirksmode和strictmode,目前正在使用的瀏覽器這兩種模式都支持,在doctype聲明中,沒有使用DTD聲明或者使用HTML4以下(不包括HTML4)的DTD聲明時,基本所有的瀏覽器都是使用quirksmode呈現(xiàn),其他的則使用strictmode解析。

這兩種模式***的不同就是提現(xiàn)在對盒模式的解釋上。什么是盒模式?這是針對塊級元素說的,這里簡單說一下,說白了就是把塊級元素想像成一個裝東西的盒子,而margin,padding,border,width這些css屬性構(gòu)成了盒模式。而區(qū)別就是產(chǎn)生在width屬性上。

◆在strictmode中:

width是內(nèi)容寬度,也就是說,元素真正的寬度=margin-left+border-left-width+padding-left+width+padding-right+border-right-width+margin-right;

◆在quirksmode中:

width則是元素的實際寬度,內(nèi)容寬度=width-(margin-left+margin-right+padding-left+padding-right+border-left-width+border-right-width)

DIV+CSS建站時要注意的事項:

◆內(nèi)聯(lián)元素,例如<a>、<span>等,定義上下邊界不會影響到行高(line-height),內(nèi)聯(lián)元素距離上一行元素的距離由行高決定,而不是填充或邊界。注2.內(nèi)聯(lián)元素(display:inline)內(nèi)聯(lián)元素不需要在新行內(nèi)顯示,而且也不強(qiáng)迫其后的元素?fù)Q行,如a、em、span等都為內(nèi)聯(lián)元素。內(nèi)聯(lián)元素可以為任何其他元素的子元素。

◆浮動元素(無論左或者右浮動)邊界不壓縮,且若浮動元素不聲明寬度,則其寬度趨向于0,即壓縮到其內(nèi)容能承受的最小寬度。

◆如果盒中沒有內(nèi)容,則即使定義了寬度和高度都為100%,實際上只占0%,因此不會被顯示,此點在采取層布局的時候需特別注意。

◆邊界值可為負(fù),其顯示效果各瀏覽器可能不相同。

◆填充值不可為負(fù)。

◆邊框默認(rèn)的樣式(border-style)為不顯示(none)

其他注意事項:

1.float的div一定要閉合,即清除浮動

示例:(其中floatA、floatB的屬性已經(jīng)設(shè)置為float:left;)
 

  1. <div> 
  2. <dividdivid="floatA"></div> 
  3. <dividdivid="floatB"></div> 
  4. <dividdivid="NOTfloatC"></div> 
  5. </div> 
  6.  

這里的NOTfloatC并不希望繼續(xù)平移,而是希望往下排。這段代碼在IE中毫無問題,問題出在FF。原因是NOTfloatC并非float標(biāo)簽,必須將float標(biāo)簽閉合。
所以得在<divid="floatB"></div>后邊加清除浮動<divclass="clear"></div>
定義如下.clear{clear:both;}

2.注意margin加倍的問題

現(xiàn)在DIV+CSS布局里用的最多的要數(shù)margin和padding了(為了兼容性都盡量少用),設(shè)置為float浮動后的div在ie下設(shè)置的margin會加倍,所以要在這個div里面加上display:inline;
示例:<divid="FloatA"></div>
相應(yīng)的css為
 

  1. #FloatA{  
  2. float:left;  
  3. margin:5px;/*IE下理解為10px*/  
  4. display:inline;/*IE下再理解為5px*/  
  5. }  
  6.  

說了這么多,歸根結(jié)底還是CSS的解釋問題,所以在以后制作DIV+CSS頁面時要遵循W3C標(biāo)準(zhǔn),聲明doctype,讓瀏覽器按strictmode模式解析CSS,時刻注意IE6、IE7及火狐瀏覽器的差異,就會避免很多兼容性問題,做出更好的作品來。

【編輯推薦】

  1. CSS布局時需注意的八大技巧
  2. IE6.0對padding的解讀分析
  3. 揭露CSS中margins折疊現(xiàn)象內(nèi)幕
  4. DIV CSS隱藏內(nèi)容樣式方法揭秘
  5. DIV CSS網(wǎng)頁布局中對段落進(jìn)行排版的方法

 

責(zé)任編輯:佚名 來源: bdky.cn
相關(guān)推薦

2011-04-12 16:51:29

Javascript兼容性

2010-09-08 09:19:49

DIVCSS

2010-10-09 12:58:59

JS腳本兼容

2010-08-11 15:17:51

瀏覽器兼容性問題

2010-09-07 09:38:58

DIV重疊Firefox

2010-08-23 14:06:57

DIV+CSS

2010-08-30 09:35:35

IE6IE7Firefox

2010-08-30 12:46:42

DIV+CSS

2010-08-17 16:27:52

IE6IE7IE8

2010-09-15 11:18:27

IE6IE7火狐

2021-11-18 09:00:00

開發(fā)瀏覽器IT

2010-09-14 14:23:08

DIV+CSS

2010-09-15 11:32:37

IE6IE7瀏覽器兼容性

2010-08-18 15:22:28

IE6IE7Firefox

2010-09-15 11:26:05

IE火狐CSS兼容性

2010-08-18 14:14:41

IE6IE7FF

2010-08-20 14:27:23

IE火狐CSS

2010-09-16 13:48:15

CSS Hack

2015-08-20 09:35:24

ChromeWindows 10

2011-05-11 18:00:10

HTML5兼容性
點贊
收藏

51CTO技術(shù)棧公眾號