2009-11-06 62 views
90

以下內容取自Yahoo CSS重置。有人可以解釋星號的目的嗎?CSS屬性前星號的用途

body { 
    font:13px/1.231 arial,helvetica,clean,sans-serif; 
    *font-size:small; 
    *font:x-small; 
} 

回答

105

這是一個瀏覽器特定的CSS黑客版本7或以下的Internet Explorer。

*屬性:值

雖然Internet Explorer 7的校正 其時的行爲屬性名稱是 以下劃線或 連字符前綴,其它非字母數字 字符前綴被視爲它們 是在IE6中。因此,如果您在 屬性名稱之前立即添加 非字母數字字符(如 )(*),則該屬性將在IE中應用 ,而不會在其他 瀏覽器中應用。不像連字符和下劃線 法,CSS 規範使任何保留 爲星號作爲前綴,所以使用這個技巧的 可能導致 意外的行爲爲CSS 規範發展。

*屬性:值應用IE 7及更低版本中的屬性值。它可能或可能會在未來的版本中不起作用。警告: 這使用無效的CSS。

來源:http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml

0

據我所知,星號可以防止Firefox讀取屬性,但在IE中有效。

0

那樣配售字符是獲取IE 6使用風格的財產,而從更「理智的」瀏覽器中隱藏這一個黑客/解決方法。

here

爲了削減長話短說,Internet Explorer的CSS解析器是在試圖發現屬性的名稱過於 侵略性和將在 其實忽略了領先的非字母數字字符。從我的測試來看,這至少是IE5以上版本的情況。

0

這是一個CSS破解,該規則將只適用於IE7及以下。

雖然我不推薦使用它,但有更好的方法來解決IE不兼容問題。

1

所有的瀏覽器,但IE忽略規則。它被稱爲明星黑客。我認爲IE7會忽略標準模式下的規則。

在這種情況下,設置字體規則,然後覆蓋IE 6和有時7。

+0

哦,這裏是我的參考:http://css-discuss.incutio.com/?page=StarHtmlHack – 2009-11-06 21:46:12

+0

這不是star-html hack。那個進入選擇器並且是有效的CSS。 – bobince 2009-11-06 22:16:51

+0

@bobince Star Hack和Star HTML Hack是兩個不同的東西:http://en.wikipedia.org/wiki/CSS_filter#Star_hack vs http://en.wikipedia.org/wiki/CSS_filter#Star_HTML_hack – 2015-04-22 18:44:54