搜尋
首頁web前端css教學css實作相容各瀏覽器的技巧的程式碼_經驗交流

在寫css樣式表的時候常常會碰到一寫瀏覽器相容的問題,像是不同內核的瀏覽器顯示就不一定相同,不同版本的的瀏覽器也會產生上下相容的問題,如何解決這些問題成了我們苦惱的問題,如果你對css hack技術很了解的話,那這就是太簡單不過了,不過對於那些不怎麼解的人來說可真成了他們所苦惱的事。這裡從 趙磊官方部落格 引來一篇文章來介紹相容各瀏覽器的技巧。但你也不要認為只要是瀏覽器顯示出現錯誤就事瀏覽器的問題,也很可能是你的結構不好,建議你好好去學習一下語意結構,畢竟蓋房子要先搭鋼筋的。 

1,盒解釋器的不同解釋. 

 代碼如下:

#box{ width:600px; //for ie6.0- w\idth:500px; //for ff+ie6.0}
#box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width 
/**/:500px; //for ie6.0-}


2,在ie中隱藏css,使用子選擇器 html>body #box{ } 
3,只有ie辨識 *html #box{ } 
4,在ie/win有效而ie/max隱藏,使用反斜杠 /* \ */ 
#box{ } 
5,給ie單獨定義樣式 這裡更加詳細的說明 

6,浮動ie產生的雙倍距離 #box{ float:left; width:100px; margin:0 0 0 100px; //此情況之下ie會產生200px的距離 display:inline; //使浮動忽略} />       這裡細說block,inline兩個元素,block元素的特徵是:總是在新行上開始,高度,寬度,行高,邊距都可以控制(塊元素);inline元素的特徵是:和其他元素在同一行上,...不可控制(內嵌元素); 
#box{ display:block; //可以為內嵌元素模擬為區塊元素 display:inline; //實現同一行排列的效果 diplay:table; //for ff,模擬table的效果} 

7,for oprea only @media all and (min-width:0px){/* opera*/#box { }} 
8,ie與寬度和高度的問題 
       ie不認得min-這個定義,但實際上它把正常的width和height當作有min的情況來使。這樣問題就大了,如果只用寬度和高度,正常的瀏覽器裡這兩個值就不會變,如果只用min-width和min-height的話,ie下面根本等於沒有設定寬度和高度。 

例如要設定背景圖片,這個寬度是比較重要的。要解決這個問題,可以這樣: #box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80p1/180p19 ,頁面的最小寬度 
       min-width是非常方便的css指令,它可以指定元素最小也不能小於某個寬度,這樣就能保證排版一直正確。但ie不認得這個,而它實際上把 width當作最小寬度來使。為了讓這項指令在ie上也能用,可以把一個

 放到  標籤下,然後為div指定一個類別:  

然後css這樣設計: #container{ min-width: 600px; width:expression(document.body.clientwidth         第一個min-width是正常的;但第2行的width使用了javascript,這只有ie才認得,這也會讓你的html文檔不太正規。它實際上透過javascript的判斷來實現最小寬度。 

同樣的方法也可以為ie實現最大寬度: #container{min-width: 600px;max-width: 1200px;width:expression(document.body.clientwidth phpcnltphp 600??cn document.body.clientwidth > 1200? 」1200px「 : 」auto";} 
10,清除浮動 
       .hackbox{ display:table; //顯示物件作為區塊元素級的表格或.hackbox{ clear:both;} 
或加入:after(偽對象),設定在對象後發生的內容,通常和content配合使用,ie不支持此偽對象,非ie 瀏覽器支持,所以不影響ie/win瀏覽器。 -------這種的最麻煩的...... 

#box:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden;} 
11,div浮動ie文字產生3像素的bug 
左邊物件浮動,右邊採用外補丁的左邊距來定位,右邊物件內的文字會離左邊有3px的間距. #box{ float:left; width:800px;}#left{ float:left; width:50%;}#right{ width:50%;}*html #left{ margin-right:-3px; //這句話是關鍵} 
html代碼

 

12,屬性選擇器(這個不能算是相容,是隱藏css的一個bug) p[id]{}div[id]{} 
這個對於ie6.0和ie6.0以下的版本都隱藏,ff和opera作用 

        屬性選擇器和子選擇器還是有區別的,子選擇器的範圍從形式來說縮小了,屬性選擇器的範圍比較大,如p[id]中,所有p標籤中有id的都是一樣式的.   

 

以上就是css實現兼容各個瀏覽器的技巧的代碼_經驗交流的內容,更多相關內容請關注php中文網(www.php.cn)!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
什麼是CSS網格?什麼是CSS網格?Apr 30, 2025 pm 03:21 PM

CSS網格是創建複雜,響應式Web佈局的強大工具。它簡化了設計,提高可訪問性並提供了比舊方法更多的控制權。

什麼是CSS Flexbox?什麼是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

文章討論了CSS FlexBox,這是一種佈局方法,用於有效地對齊和分佈響應設計中的空間。它說明了FlexBox用法,將其與CSS網格進行了比較,並詳細瀏覽了瀏覽器支持。

我們如何使用CSS使網站迅速響應?我們如何使用CSS使網站迅速響應?Apr 30, 2025 pm 03:19 PM

本文討論了使用CSS創建響應網站的技術,包括視口元標籤,靈活的網格,流體媒體,媒體查詢和相對單元。它還涵蓋了使用CSS網格和Flexbox一起使用,並推薦CSS框架

CSS盒裝屬性有什麼作用?CSS盒裝屬性有什麼作用?Apr 30, 2025 pm 03:18 PM

本文討論了CSS盒裝屬性,該屬性控制了元素維度的計算方式。它解釋了諸如Content-Box,Border-Box和Padding-Box之類的值,以及它們對佈局設計和形式對齊的影響。

我們如何使用CSS動畫?我們如何使用CSS動畫?Apr 30, 2025 pm 03:17 PM

文章討論使用CSS,關鍵屬性並與JavaScript結合創建動畫。主要問題是瀏覽器兼容性。

我們可以使用CSS向我們的項目添加3D轉換嗎?我們可以使用CSS向我們的項目添加3D轉換嗎?Apr 30, 2025 pm 03:16 PM

文章討論了Web項目的3D轉換,關鍵屬性,瀏覽器兼容性和性能注意事項的討論。 (角色計數:159)

我們如何在CSS中添加梯度?我們如何在CSS中添加梯度?Apr 30, 2025 pm 03:15 PM

文章討論了使用CSS梯度(線性,徑向,重複)來增強網站視覺效果,添加深度,焦點和現代美學。

CSS中的偽元素是什麼?CSS中的偽元素是什麼?Apr 30, 2025 pm 03:14 PM

文章討論了CSS中的偽元素,它們在增強HTML樣式方面的使用以及與偽級的差異。提供實用的例子。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具