在寫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上也能用,可以把一個
然後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)!

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

Dreamweaver Mac版
視覺化網頁開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。