對于CSS當中讓IE7、IE6、Firefox兼容最著名且最有用的CSS過濾器之一是星號 * Html HACK。這個過濾器非常容易記住,它可以制定IE6和更低版本。正如你知道的,Html 元素被認為是網(wǎng)頁上的第一個元素,即根元素。但是,IE 的所有當前版本有一個匿名的根元素,它包圍著Html 元素。那么這個匿名的元素或者說隱藏的元素到底是什么元素呢?其實它就是鼎鼎大名的* 號,所以我們可以用星號來指定的規(guī)則應用于那些被星號包圍的 HTML。 IE6以及更老的IE5.5 * html { font-size:small; } 在任何非ie的瀏覽器因為沒有這個規(guī)則(Html元素被*號包圍),所以其他的瀏覽器就會當作看不見,所以當你指定這個規(guī)則的時候,你可以放心的應用在IE6以及前一版本的IE5.5要展示效果中。IE 7 并沒有完全去掉這個 Hack。而是用這樣的辦法來讓過濾,那就是用 *+ IE7 *+html { font-size:small } 這樣的表達,就是說除了IE7能認識這個font-size:small以外,其他的瀏覽器都不會看到這一條的,可以說這是IE7的專屬Hack。 這樣的方式可以寫在同一個CSS文件,并且同時都會針對不同的瀏覽器產(chǎn)生獨特的效果。所以在設計頁面或者樣式的時候,你不妨用FireFox 來做第一瀏覽器,對照Firefox樣式寫好后,再把頁面放到IE7下看看,進行適當?shù)恼{整,再放到IE6下面看看,進行適當?shù)恼{整?;旧习凑?lt; div><ul><li></li></ul></ul>的順序嵌套的話,IE6根 IE7的規(guī)則是差不多的。調好了IE6的樣式就等于調好了IE7的樣式,反之亦然。再者,用Firefox來寫樣式還是更符合W3C一些,因為IE6和 IE7要考慮到以前的兼容性,不得不在規(guī)范上做些讓步,達到兼容的目的。雖然大家都很憎惡為什么多一個Firefox,但是這是沒辦法的:(。你要掌控它而不是被它掌控了^_^。 基本上用星號搭配搞定IE6,IE7,F(xiàn)irefox以后,像Opera之類的瀏覽器也會正常顯示的。就不用單獨考慮他們的兼容問題了。 |