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