現(xiàn)在瀏覽器多了,做web頁面還是比較痛苦的,當(dāng)然,如果你不在乎自己做的頁面在有些瀏覽器上面慘不忍睹那也是種不錯(cuò)的心態(tài)(至少少了點(diǎn)頭痛的機(jī)會),可是你老板或者上司或者你的用戶同意嗎?-__!
下面我就介紹我知道的hack方法吧。我現(xiàn)在比較常用的,并且感覺用的不動(dòng)腦子的方法是:
#yourid/.yourclass {/*normal*/}
* html #yourid/.yourclass {/*ie6 and below*/}
*+html #yourid/.yourclass {/*ie7 only*/}
@media all and (min-width:0px){
#yourid/.yourclass { /*opera*/ }
}
用法:直接寫css,用firefox作為第一瀏覽器看效果,然后ie6下不一樣,就用* html重寫那個(gè)id容器或者類;如果ie 7不一樣,就用*+html重寫,如果opera下面不一樣,就用@media那個(gè),當(dāng)然這寫重寫的需要放在原來的后面。呵呵,就這么簡單。這個(gè)方法用了之后可能會上癮,可是會有諸如增加css文件容量等不爽,甚至有時(shí)候還會出現(xiàn)直接用這個(gè)寫幾段不同的。所以還是建議能熟悉了解個(gè)瀏覽器具體是在什么屬性上支持不一樣(例如border寬度ie6認(rèn)為是不能算在width里面的,但是firefox是認(rèn)為算width一起的),先盡力寫幾個(gè)瀏覽器通用的 css,不到必不得已不用這個(gè)hack方法。
原理:firefox認(rèn)為是css語法錯(cuò)誤,所以忽略。但是不同ie版本識別不同,不忽略,所以能實(shí)現(xiàn)hack,并且*+html還能通過w3c驗(yàn)證,呵呵,爽吧。opera那個(gè)就不多說了,也是類似原理,但是看起來比較崩潰,要說明的是, firefox下沒問題的話,opera基本也沒什么問題的,所以不太會用到這個(gè)hack。
還需要其他瀏覽器hack方法?抱歉,我就知道這么多,因?yàn)槲译娔X上只有這么幾個(gè)瀏覽器,呵呵,公司要求或者我自己想要把握的用戶群夠了。
另外就是!important這個(gè)方法了(firefox遇到這個(gè)優(yōu)先級就最高,但是ie6不認(rèn),所以下面重新定義可以覆蓋),不過這個(gè)貌似是以前甚至現(xiàn)在都很多人在用的,但是我個(gè)人感覺不是很爽,不能像上面的那樣明確的搞定某個(gè)瀏覽器。比如現(xiàn)在ie7對規(guī)范css支持已經(jīng)比ie6好了不知道多少,但是還是會有和firefox有的差異,所以用important的方式,控制起來并不像上面的那么一目了然。
新聞熱點(diǎn)
疑難解答
圖片精選