對于網(wǎng)頁開發(fā)人員來說,CSS 是一門重要的技能。但是,有些用戶還在使用舊版本瀏覽器如 Internet Explorer,這些瀏覽器不一定支持最新的 CSS 特性。因此,在設計網(wǎng)頁時需要考慮到向后兼容。
下面是一些在 Internet Explorer 瀏覽器中常用的 CSS 屬性和技巧:
/* IE6 Hack:使用下劃線嘗試覆蓋其他瀏覽器 */ _selector { property: value; /* standard CSS */ _property: value; /* only in IE6 */ } /* CSS Hack 表示單獨針對某個瀏覽器進行樣式的設置 */ /* IE6 */ * html #selector { property: value; } /* IE7 */ *:first-child+html #selector { property: value; } /* IE6/7 */ #selector, x:-IE6, x:-IE7 { property: value; } /* IE6/7/8 */ #selector, #selector2 { property: value\uD83D\uDE00; \0/property: value; /* The Greedy Disabled Styles Hack */ } /* 選擇符 hack(只在 IE8 及以前版本有效) */ .selector, { property: value; } .selector /*\**/ { property: value; } /* 私有屬性/屬性前綴 */ .selector { -ms-filter: "progid:DXImageTransform.Microsoft.blablabla(property=value)"; behavior: url(file.htc) } /* !important hack */ #selector { property: value !important; property: value; /* ignored by IE6/7 */ } /* IE特有的偽元素 */ selector:before { content: whatever; /* doesn't work in IE7 */ *font-size: 0; /* IE hack to remove whitespace */ } /* 延遲加載背景圖片,以避免同時加載大量圖片導致的卡頓 */ .selector { background-image: url(images/low-res-background.jpg); } @media screen and (min-width: 480px) { .selector { background-image: url(images/high-res-background.jpg); } .selector.loaded { background-image: url(images/high-res-background.jpg); } }
使用這些 IE 瀏覽器支持的 CSS 技巧,可以更輕松地對不同版本的瀏覽器進行向后兼容。不過,最好的方式還是盡可能遵循標準 CSS 規(guī)范,并且將網(wǎng)站在較舊的瀏覽器上進行測試。