探究CSS hack使用原理 規(guī)則及弊端
本文向大家簡(jiǎn)單介紹一下CSS hack的來歷,使用原理和規(guī)則等內(nèi)容,CSS hack是一種類似作弊的手段,以欺騙瀏覽器的方式達(dá)到兼容的目的,是用瀏覽器的兼容性差異來解決瀏覽器的兼容性問題。
CSS hack的來歷
CSS hack的由來源于瀏覽器大戰(zhàn),從1995年開始,微軟和網(wǎng)景公司的瀏覽器競(jìng)爭(zhēng),導(dǎo)致各自的瀏覽器包含大量其私有CSS屬性,并逐漸遠(yuǎn)離標(biāo)準(zhǔn)。1998年網(wǎng)景公司以開放源代碼的授權(quán)形式,把Communicator的源代碼釋出,以開源的形式逐漸發(fā)展一部分用戶群,并在2004年推出Firefox的1.0版本。相繼,Safar,Opera的用戶群也正在發(fā)展壯大中。這讓微軟不得不考慮從新設(shè)計(jì)一款更加接近web標(biāo)準(zhǔn)的瀏覽器。
盡管微軟***推出的IE8已經(jīng)對(duì)CSS2.1提供了良好的支持,但事實(shí)是,許多用戶操作系統(tǒng)的IE版本一直停留在IE6,且大多數(shù)用戶沒有主動(dòng)升級(jí)IE的習(xí)慣。
IE的各個(gè)版本對(duì)CSS2.1中的某些屬性從支持程度到解析效果,都不是很一致。這導(dǎo)致開發(fā)人員需要單獨(dú)定義針對(duì)不同版本的的CSS樣式,以此來獲取相近的效果。
由此,人們發(fā)現(xiàn)并利用了CSS hack。事實(shí)上,到現(xiàn)在為止,我們使用CSS hack最主要的目的是區(qū)分IE6和IE7。
CSS hack使用原理
簡(jiǎn)單來講,CSS hack就是瀏覽器解析CSS時(shí)的漏洞,因此不同的瀏覽器就有不同的CSS hack寫法。
CSS hack使用原則
盡力避免使用CSS hack,并尋找其它的應(yīng)對(duì)方法。事實(shí)上,使用IE的條件注釋來區(qū)分IE各個(gè)版本,是非常不錯(cuò)的選擇。
CSS hack使用后的弊端
CSS Hack除了能迅速區(qū)分瀏覽器版本,并可能獲得大概一直的效果,但從長(zhǎng)遠(yuǎn)看,CSS Hack會(huì)引起許多新的錯(cuò)誤。
【編輯推薦】
- CSS Hack的基本原理和實(shí)現(xiàn)方式
- 調(diào)用CSS hack區(qū)分不同瀏覽器
- 深入探究DIV CSS布局中position屬性用法
- CSS屬性display:inline-block使用揭秘
- CSS hack:實(shí)現(xiàn)IE6、IE7、Firefox兼容