日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

IE7,6與Fireofx CSS對(duì)瀏覽器的兼容性性處理

從網(wǎng)上收集了IE7,6與Fireofx的兼容性處理方法并整理了一下.對(duì)于瀏覽器的兼容性問題,請(qǐng)盡量用符合W3C標(biāo)準(zhǔn)格式寫代碼 。而且DOCTYPE 影響 CSS 處理,作為W3C的標(biāo)準(zhǔn),一定要加 DOCTYPE聲名 , 并且需要寫到頁面的最上面 。
input、br、img等為常用自閉合標(biāo)簽 , 需要加入/進(jìn)行閉合 , 例如input /;其他閉合標(biāo)簽需要進(jìn)行閉合 , 例如div..../div

一、CSS技巧

1.div的垂直居中問題 vertical-align:middle; 將行距增加到和整個(gè)DIV一樣高 line-height:200px; 然后插入文字 , 就垂直居中了 。缺點(diǎn)是要控制內(nèi)容不要換行

2. margin加倍的問題 設(shè)置為float的div在ie下設(shè)置的margin會(huì)加倍 。這是一個(gè)ie6都存在的bug 。解決方案是在這個(gè)div里面加上 display:inline; 例如: #div id=imfloat 相應(yīng)的css為 #IamFloat{ float:left; margin:5px;/*IE下理解為10px*/ display:inline;/*IE下再理解為5px*/}

3.浮動(dòng)ie產(chǎn)生的雙倍距離 #box{ float:left; width:100px; margin:0 0 0 100px; //這種情況之下IE會(huì)產(chǎn)生200px的距離 display:inline; //使浮動(dòng)忽略} 這里細(xì)說一下block與inline兩個(gè)元素:block元素的特點(diǎn)是,總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);Inline 元素的特點(diǎn)是,和其他元素在同一行上,不可控制(內(nèi)嵌元素); #box{ display:block; //可以為內(nèi)嵌元素模擬為塊元素 display:inline; //實(shí)現(xiàn)同一行排列的效果 diplay:table;

4 IE與寬度和高度的問題 IE 不認(rèn)得min-這個(gè)定義 , 但實(shí)際上它把正常的width和height當(dāng)作有min的情況來使 。這樣問題就大了 , 如果只用寬度和高度 , 正常的瀏覽器里這兩個(gè)值就不會(huì)變 , 如果只用min-width和min-height的話 , IE下面根本等于沒有設(shè)置寬度和高度 。比如要設(shè)置背景圖片 , 這個(gè)寬度是比較重要的 。要解決這個(gè)問題 , 可以這樣: #box{ width: 80px; height: 35px;}htmlbody #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}

5.頁面的最小寬度 min -width是個(gè)非常方便的CSS命令 , 它可以指定元素最小也不能小于某個(gè)寬度 , 這樣就能保證排版一直正確 。但I(xiàn)E不認(rèn)得這個(gè) , 而它實(shí)際上把width當(dāng)做最小寬度來使 。為了讓這一命令在IE上也能用 , 可以把一個(gè)div 放到 body 標(biāo)簽下 , 然后為div指定一個(gè)類, 然后CSS這樣設(shè)計(jì): #container{ min-width: 600px; width:expression(document.body.clientWidth600? 600px: auto );} 第一個(gè)min-width是正常的;但第2行的width使用了Javascript , 這只有IE才認(rèn)得 , 這也會(huì)讓你的HTML文檔不太正規(guī) 。它實(shí)際上通過Javascript的判斷來實(shí)現(xiàn)最小寬度 。

6.DIV浮動(dòng)IE文本產(chǎn)生3象素的bug 左邊對(duì)象浮動(dòng) , 右邊采用外補(bǔ)丁的左邊距來定位 , 右邊對(duì)象內(nèi)的文本會(huì)離左邊有3px的間距. #box{ float:left; width:800px;} #left{ float:left; width:50%;} #right{ width:50%;} *html #left{ margin-right:-3px; //這句是關(guān)鍵} div id=box div id=left/div div id=right/div /div

7.IE捉迷藏的問題 當(dāng)div應(yīng)用復(fù)雜的時(shí)候每個(gè)欄中又有一些鏈接 , DIV等這個(gè)時(shí)候容易發(fā)生捉迷藏的問題 。有些內(nèi)容顯示不出來 , 當(dāng)鼠標(biāo)選擇這個(gè)區(qū)域是發(fā)現(xiàn)內(nèi)容確實(shí)在頁面 。解決辦法:對(duì)#layout使用line-height屬性或者給#layout使用固定高和寬 。頁面結(jié)構(gòu)盡量簡(jiǎn)單 。

8.float的div閉合;清除浮動(dòng);自適應(yīng)高度;

① 例如:#div id=floatA #div id=floatB #div id= NOTfloatC 這里的NOTfloatC并不希望繼續(xù)平移 , 而是希望往下排 。(其中floatA、floatB的屬性已經(jīng)設(shè)置為 float:left;) 這段代碼在IE中毫無問題 , 問題出在FF 。原因是NOTfloatC并非float標(biāo)簽 , 必須將float標(biāo)簽閉合 。在 #div class=floatB #div class=NOTfloatC之間加上#div class=clear這個(gè)div一定要注意位置 , 而且必須與兩個(gè)具有float屬性的div同級(jí) , 之間不能存在嵌套關(guān)系 , 否則會(huì)產(chǎn)生異常 。并且將clear這種樣式定義為為如下即可: .clear{ clear:both;}

推薦閱讀