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

正文內(nèi)容

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

2025-04-12 12:24 本頁面


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