freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

最全整理瀏覽器兼容性問題與解決方案-文庫吧

2025-04-12 12:24 本頁面


【正文】 認(rèn)識(shí),所以它讀第2個(gè)屬性,又因?yàn)榈诙€(gè)屬性覆蓋了第一個(gè)屬性,所以IE7最終讀出的是第2個(gè)屬性 *height:120px。 在IE6下,三個(gè)屬性IE6都認(rèn)識(shí),所以三個(gè)屬性都可以讀取,又因?yàn)榈谌齻€(gè)屬性覆蓋掉前2個(gè)屬性,所以IE6最終讀取的是第三個(gè)屬性。 1 針對(duì)firefox ie6 ie7的css樣式 現(xiàn)在大部分都是用!important來兼容,對(duì)于ie6和firefox測試可以正常顯示,但是ie7對(duì)!important可以正確解釋,會(huì)導(dǎo)致頁面 沒按要求顯示!找到一個(gè)針對(duì)IE7不錯(cuò)的兼容方式就是使用“*+html”,現(xiàn)在用IE7瀏覽一下,應(yīng)該沒有問題了現(xiàn)在寫一個(gè)CSS可以這樣: 1 { color: 333。 } /* Moz */ * html 1 { color: 666。 } /* IE6 */ *+html 1 { color: 999。 } /* IE*/ 那么在firefox下字體顏色顯示為333,IE6下字體顏色顯示為666,IE7下字體顏色顯示為999。 2 css布局中的居中問題 主要的樣式定義如下: body {TEXTALIGN: center。} center { MARGINRIGHT: auto。 MARGINLEFT: auto。 } 說明: 首先在父級(jí)元素定義TEXTALIGN: center。這個(gè)的意思就是在父級(jí)元素內(nèi)的內(nèi)容居中;對(duì)于IE這樣設(shè)定就已經(jīng)可以了。 但在mozilla中不能居中。解決辦法就是在子元素定義時(shí)候設(shè)定時(shí)再加上“MARGINRIGHT: auto。MARGINLEFT: auto。 ” 需要說明的是,如果你想用這個(gè)方法使整個(gè)頁面要居中,建議不要套在一個(gè)DIV里,你可以依次拆出多個(gè)div,只要在每個(gè)拆出的div里定義MARGINRIGHT: auto。MARGINLEFT: auto。 就可以了。 3 盒模型不同解釋. box{ width:600px。 //for w\idth:500px。 //for ff+ } box{ width:600px!important //for ff width:600px。 //for ff+ width /**/:500px。 //for } 4 浮動(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。 5 IE與寬度和高度的問題 IE不認(rèn)得min這個(gè)定義,但實(shí)際上它把正常的width和height當(dāng)作有min的情況來使。這樣問題就大了,如果只用寬度和高度,正常的瀏覽器里 這兩個(gè)值就不會(huì)變,如果只用minwidth和minheight的話,IE下面根本等于沒有設(shè)置寬度和高度。比如要設(shè)置背景圖片,這個(gè)寬度是比較重 要的。要解決這個(gè)問題,可以這樣: box{ width: 80px。 height: 35px。}htmlbody box{ width: auto。 height: auto。 minwidth: 80px。 minheight: 35px。} 6 頁面的最小寬度 minwidth是個(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{ minwidth: 600px。 width:expression( 600? “600px”: “auto” )。 } 第一個(gè)minwidth是正常的;但第2行的width使用了Javascript,這只有IE才認(rèn)得,這也會(huì)讓你的HTML文檔不太正規(guī)。它實(shí)際上通過Javascript的判斷來實(shí)現(xiàn)最小寬度。 7 清除浮動(dòng) .兼容box{ display:table。 //將對(duì)象作為塊元素級(jí)的表格顯示 } 或者 .兼容box{ clear:both。 } 或者加入:after(偽對(duì)象),設(shè)置在對(duì)象后發(fā)生的內(nèi)容,通常和content配合使用,IE不支持此偽對(duì)象,非Ie 瀏覽器支持,所以并不影響到IE/WIN瀏覽器。這種的最麻煩的 ……box:after{ content: “.”。 display: block。 height: 0。 clear: both。 visibility: hidden。 } 8amp。nbp。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{ marginright:3px。 //這句是關(guān)鍵 } HTML代碼 DIV id=box DIV id=left/DIV DIV id=right/DIV /DIV 9 屬性選擇器(這個(gè)不能算是兼容,是隱藏css的一個(gè)bug) p[id]{}div[id]{} p[id]{}div[id]{} ,FF和OPera作用 屬性選擇器和子選擇器還是有區(qū)別的,子選擇器的范圍從形式來說縮小了,屬性選擇器的范圍比較大,如p[id]中,所有p標(biāo)簽中有id的都是同樣式的. 10 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使用lineheight屬性 或者給layout使用固定高和寬。頁面結(jié)構(gòu)盡量簡單。 11 高度不適應(yīng) 高度不適應(yīng)是當(dāng)內(nèi)層對(duì)象的高度發(fā)生變化時(shí)外層高度不能自動(dòng)進(jìn)行調(diào)節(jié),特別是當(dāng)內(nèi)層對(duì)象使用 margin 或paddign 時(shí)。例: div id=”box” pp對(duì)象中的內(nèi)容/p /div CSS: box {backgroundcolor:eee。 } box p {margintop: 20px。marginbottom: 20px。 textalign:center。 } 解決方法:在P對(duì)象上下各加2個(gè)空的div對(duì)象CSS代碼:.1{height:0px。overflow:hidden。}或者為DIV加上border屬性。 屏蔽IE瀏覽器(也就是IE下不顯示) *:lang(zh) select {font:12px !important。} /*FF,OP可見*/ select:empty {font:12px !important。} /*safari可見*/ 這里select是選擇符,根據(jù)情況更換。第二句是MAC上safari瀏覽器獨(dú)有的。 僅IE7識(shí)別 *+html {…} 當(dāng)面臨需要只針對(duì)IE7做樣式的時(shí)候就可以采用這個(gè)兼容。 IE6及IE6以下識(shí)別 * html {…} 。其它瀏覽器不識(shí)別。 html/**/ body select {……} 這句與上一句的作用相同。 僅IE6不識(shí)別 select { display /*IE6不識(shí)別*/:none。} 這里主要是通過CSS注釋分開一個(gè)屬性與值,流釋在冒號(hào)前。 僅IE6與IE5不識(shí)別 select/**/ { display /*IE6,IE5不識(shí)別*/:none。} 這里與上面一句不同的是在選擇符與花括號(hào)之間多了一個(gè)CSS注釋。 僅IE5不識(shí)別 select/*IE5不識(shí)別*/ { display:none。} 這一句是在上一句中去掉了屬性區(qū)的注釋。只有IE5不識(shí)別 盒模型解決方法 selct {width:。 voicefamily :}。 voicefamily:inherit。 width:正確寬度。} 盒模型的清除方法不是通過!important來處理的。這點(diǎn)要明確。 清除浮動(dòng) select:after {content:.。 display:block。 height:0。 clear:both。 visibility:hidden。} 在Firefox中,當(dāng)子級(jí)都為浮動(dòng)時(shí),那么父級(jí)的高度就無法完全的包住整個(gè)子級(jí),那么這時(shí)用這個(gè)清除浮動(dòng)的兼容來對(duì)父級(jí)做一次定義,那么就可以解決這個(gè)問題 。 截字省略號(hào) select { otextoverflow:ellipsis。 textoverflow:ellipsis。 whitespace:nowrapoverflow:hidden。 } 這個(gè)是在越出長度后會(huì)自行的截掉多出部分的文字,并以省略號(hào)結(jié)尾,很好的一個(gè)技術(shù)。只是目前Firefox并不支持。 只有Opera識(shí)別 @media all and (minwidth: 0px){ select {……} } 針對(duì)Opera瀏覽器做單獨(dú)的設(shè)定。 以上都是寫CSS中的一些兼容,建議遵循正確的標(biāo)簽嵌套(div ul li 嵌套結(jié)構(gòu)關(guān)系),這樣可以減少你使用兼容的頻率,不要進(jìn)入理解誤區(qū),并不是一個(gè)頁面就需要很多的兼容來保持多瀏覽器兼容),很多情況下也許一個(gè)兼容都不用 也可以讓瀏覽器工作得非常好,這些都是用來解決局部的兼容性問題,如果希望把兼容性的內(nèi)容也分離出來,不妨試一下下面的幾種過濾器。這些過濾器有的是寫在 CSS中通過過濾器導(dǎo)入特別的樣式,也有的是寫在HTML中的通過條件來鏈接或是導(dǎo)入需要的補(bǔ)丁樣式。 , @media tty { i{content:。/* */}} @import ’’。 /*。} }/* */ IE5/MAC的過濾器,一般用不著 /**//*/ @import 。 /**/ 下面是IE的條件注釋,個(gè)人覺得用條件注釋調(diào)用相應(yīng) 兼容是比較完美的多瀏覽器兼容的解決辦法。把需要兼容的地方單獨(dú)放到一個(gè)文件里面,當(dāng)瀏覽器版本符合的時(shí)候就可以調(diào)用那個(gè)被兼容的樣式,這樣不僅使用起來 非常方便,而且對(duì)于制作這個(gè)CSS本身來講,可以更嚴(yán)格的觀察到是否有必要使用兼容,很多情況下,當(dāng)我本人寫CSS如果把全部代碼包括兼容都寫到一個(gè) CSS文件的時(shí)候的時(shí)候會(huì)很隨意,想怎么兼容就怎么兼容,而你獨(dú)立出來寫的時(shí)候,你就會(huì)不自覺的考慮是否有必要兼容,是先兼容 CSS?還是先把主CSS里面的東西調(diào)整到盡可能的不需要兼容?當(dāng)你僅用很少的兼容就讓很多瀏覽器很乖很聽話的時(shí)候,你是不是很有成就感呢?你知道怎么選 擇了吧~~呵呵 IE的if條件兼容 自己可以靈活使用參看這篇IE條件注釋 Only IE 所有的IE可識(shí)別 Only IE + 僅IE6可識(shí)別 Only IE 7/ Only IE 7/ 僅IE7可識(shí)別 Css 當(dāng)中有許多的東西不不按照某些規(guī)律來的話,會(huì)讓你很心煩,雖然你可以通過很多的兼容,很多的!important 來控制它,但是你會(huì)發(fā)現(xiàn)長此以往你會(huì)很不甘心,看看許多優(yōu)秀的網(wǎng)站,他們的CSS讓IE6,Ie7,Firefox,甚至Safari,Opera運(yùn)行起來完美無缺是不是很羨慕?而他們看似復(fù)雜的模版下面使用的兼容 少得可憐。其實(shí)你要知道IE 和 Firefox 并不不是那么的不和諧,我們找到一定的方法,是完全可以讓他們和諧共處的。不要你認(rèn)為發(fā)現(xiàn)了兼容的辦法,你就掌握了一切,我們并不是兼容的奴隸。 div ul li 的嵌套順序 今天只講一個(gè)規(guī)則。就是divulli的三角關(guān)系。我的經(jīng)驗(yàn)就是div在最外面,里面 是ul,然后再是li,當(dāng)然li里面又可以嵌套div什么的,但是并不建議你嵌套很多 東西。當(dāng)你符合這樣的規(guī)則的時(shí)候,那些倒霉的,不聽話的間隙就不會(huì)在里面出現(xiàn)了,當(dāng)你僅僅是div里面放li,而不 用ul的時(shí)候,你會(huì)發(fā)現(xiàn)你的間隙十分難控制,一般情況下,IE6和IE7會(huì)憑空多一些間距。但很多情況你來到下一行,間隙就沒了,但是前 面的內(nèi)容又空了很大一塊,出現(xiàn)這種情況雖然你可以改變IE的Margin,然后調(diào)整Firefox下面的Padding,以便使得兩者顯示起來得效果很相 似,但是你得CSS將變得臭長無比,你不得不多考慮更多可能出現(xiàn)這種問題補(bǔ)救措施,雖然你知道千篇一律來兼容它們,但是你會(huì)煩得要命。 具體嵌套寫法 遵循上面得嵌套方式,divulli/li/ul/div 然后在CSS 里面告訴 ul {Margin:0pxadding:0px。list style:none。},其中l(wèi)iststyle:none是不讓li標(biāo)記的最前方顯示圓點(diǎn)或者數(shù)字等目錄類型的標(biāo)記,因?yàn)镮E和 Firefox顯示出來默認(rèn)效果有些不一樣。因此這樣不需要做任何手腳,你的IE和IEFirefox顯示出來的東西(外距,間距,高度,寬度) 就幾乎沒什么區(qū)別了,也許細(xì)心的你會(huì)在某一個(gè)時(shí)刻發(fā)現(xiàn)一、兩個(gè)象素的差別,但那已經(jīng)很完美了,不需要你通過調(diào)整大片的CSS來控制它們的顯示了,你愿意, 你可以僅僅兼容一兩個(gè)地方,而且通常這種兼容可以適應(yīng)各種地方,不需要你重復(fù)在不同的地方調(diào)試不同的兼容方式
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1