国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

淺談各種瀏覽器下的CSS Hack兼容性寫法

2024-07-11 08:33:15
字體:
來源:轉載
供稿:網友

由于不同瀏覽器所遵循的標準也有所不同,再加上不可避免的程序bug、經濟利益等因素的干擾。同樣的網頁代碼(HTML + CSS),在不同瀏覽器上的顯示效果卻略有不同,甚至大有不同。即使是同一個瀏覽器,其不同版本的顯示效果也有所不同,尤其是IE。這就給網頁前端設計人員帶來了很大的困擾。開發人員必須兼顧考慮到所有主流的瀏覽器,才能在不同的瀏覽器上顯示出相同或滿足需要的效果。于是CSS Hack技術就誕生了。

CSS Hack技術,就是利用不同瀏覽器不同版本之間的CSS實現的特性差異,來滿足我們需要的效果:在所有主流瀏覽器上顯示統一的效果,或者為特定瀏覽器顯示特定的效果。

眾所周知,如果在一個css樣式選擇器中存在兩個名稱相同的屬性,瀏覽器一般會以最后面的屬性為準。

CSS Code復制內容到剪貼板
  1. <style type="text/css">    .css-hack {   
  2.     background-color: red;        background-color: blue; /* 最終背景色顯示為藍色 */  
  3. }    </style>   
  4. <div class="css-hack">CodePlayer</div>  

當然,這里有個前提,那就是瀏覽器首先得能夠識別并支持該css屬性,對于瀏覽器不支持的css屬性或值,瀏覽器將一律將其忽略。

這就是CSS Hack技術的實現原理。例如:即使我們在屬性名稱前面加上一個下劃線_,IE 6 照樣可以識別該屬性,而且只有IE 6可以識別。因此,我們就可以利用這個特性,讓IE 6實現某些特定的效果。

CSS Code復制內容到剪貼板
  1. .css-hack {        background-color: red; /* 在其他瀏覽器上顯示為紅色 */  
  2.     _background-color: blue; /* 在IE 6上顯示為藍色 */   }  

再者如,由于IE 6不支持max-width屬性,但是IE6的css屬性值支持expression表達式。因此,我們可以為IE 6 折中實現max-width的屬性效果。

CSS Code復制內容到剪貼板
  1. .css-hack {        background-color: red;   
  2.     max-width: 200px;        _width: expression( function(me){ var maxWidth = 200; me.style.width = (me.offsetWidth <= maxWidth ? me.offsetWidth : maxWidth) + "px"; }(this) ); /* _開頭只有IE6可以識別,出于性能考慮,此處的表達式只會執行一次 */  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台东县| 万盛区| 邛崃市| 昭苏县| 虞城县| 舟山市| 景宁| 延吉市| 全椒县| 商城县| 汤阴县| 新乡市| 远安县| 襄樊市| 乌苏市| 宾川县| 房产| 永川市| 阿拉善右旗| 桃园市| 西峡县| 阳新县| 东乌珠穆沁旗| 唐海县| 龙川县| 浦东新区| 博乐市| 松原市| 舟山市| 永康市| 河池市| 桑日县| 理塘县| 罗源县| 财经| 遂川县| 龙门县| 元阳县| 盘山县| 晋城| 敦化市|