搜尋
首頁web前端css教學CSS 中星號前面的屬性有什麼用?

CSS 中星号前面的属性有什么用?

在 Web 開發中,CSS(層疊樣式表)使開發人員能夠確定網站的視覺外觀和佈局。然而,由於不同的瀏覽器對CSS的支援機制不同,因此編譯器渲染網頁時可能會出現不一致的情況。

為了克服這個相容性問題,開發人員通常選擇使用 CSS hacks 來確保他們的網頁在不同的瀏覽器和裝置上顯示一致。其中一種駭客行為是星號屬性(也稱為星號屬性駭客),它用於針對對 CSS 的支援有限的特定版本的 Internet Explorer (IE)。

在本文中,我們將探討 CSS 中的星號屬性 hack,並討論其用途和限制。我們還將提供如何有效使用此技巧的範例以及在 CSS 程式碼中實現它的最佳實踐。

明星先行財產

這是一個 CSS hack,用來宣告 HTML 元素的不同屬性。前面帶有星號 (*) 或底線 (_) 的屬性,在 IE 7 及以下版本的 IE 中僅呈現,而對於 IE 8 及更高版本,它會被編譯器視為垃圾。

文法

element{
   background-color: red;  // for other browsers
   _background-color: red;   // for IE 6 and below
   *background-color: red;   // for IE 7 and below
}

現在,讓我們透過範例來更好地理解這一點。我們將使用此 hack 在 IE 6、IE 7 和其他瀏覽器中渲染屬性。

注意 - 此 hack 用於不同的瀏覽器,因此在指定的瀏覽器中執行程式以觀察正確的輸出。

範例

以下說明如何讓編譯器將 CSS 屬性渲染到 Internet Explorer 7 及更低版本中的元素。

<!DOCTYPE html>
<html>
<head>
   <title>Internet Explorer 7 and Below Versions</title>
   <style>
      .my-div {
         background-color: red;
         width: 30%;
         height: 80%;
         padding: 3px;
         letter-spacing: 1px;
         margin-top: 40px;
         /* default margin applied in all other browsers */
         *margin-top: 0;
         /* IE6 margin */
      }
   </style>
</head>
<body>
   <h1 id="Star-Preceded-Property">Star Preceded Property</h1>
   <h3 id="Given-below-is-a-div-element-whose-margin-top-will-be-in-IE-while-it-will-be-px-in-all-other-browsers">Given below is a div element whose margin-top will be 0 in IE 6 while it will be 20px in all other browsers.</h3>
   <div class="my-div"> This is my div element. </div>
</body>
</html>

對於 IE7 及以下版本,div 元素的 margin-top 為零。

如果您在任何其他瀏覽器中執行程式碼,則 div 元素的 margin-top 為 40px。

在上面的範例中,CSS 選擇器 .my-div 套用 40 像素的上邊距。但是,*margin-top: 0; 規則僅適用於 Internet Explorer 6,將邊距設為 0 像素。屬性名稱 (margin-top) 之前的星號 (*) 是「星號屬性 hack」中的「星號」。這是其他瀏覽器中的語法錯誤,因此它們會忽略這一行。

範例

在下面說明了另一種使編譯器將 CSS 屬性呈現給 Internet Explorer 6 及更低版本中的元素的另一種方法。它不適用於 IE 7。

<!DOCTYPE html>
<html>
<head>
   <style>
      .my-div {
         background-color: blue;
         /* default background color */
         width: 30%;
         height: 80%;
         padding: 3px;
         letter-spacing: 1px;
         _background-color: red;
         /* background color in IE 6 and below versions */
      }
   </style>
</head>
<body>
   <h1 id="Star-Preceded-Property">Star Preceded Property </h1>
   <h3 id="Given-below-is-a-div-element-whose-background-color-will-be-red-in-IE-and-below-while-it-will-be-blue-in-all-other-browsers">Given below is a div element whose background color will be red in IE 6 and below while it will be blue in all other browsers.</h3>
   <div class="my-div"> This is my div element. </div>
</body>
</html>

對於IE6及以下版本,div元素的背景顏色將為藍色。

如果您在任何其他瀏覽器中執行程式碼,背景顏色將為紅色。

在上面的範例中,CSS 選擇器 .my-div 會套用紅色背景顏色。但是,_background-color: blue; 規則僅適用於 Internet Explorer 6,將背景顏色設為藍色。

Star Property Hack 的用途與限制

「星號屬性」是過去使用的技術,用於使用 CSS 樣式來定位特定版本的 Internet Explorer。雖然它有效地實現了這一目標,但它也有一些優點和缺點。

用途

  • 它可讓 Web 開發人員將各種特定的 CSS 樣式套用到舊版的 Internet Explorer,而不會影響所有其他瀏覽器中的結果。這有助於為跨多個瀏覽器的用戶創建一致且統一的體驗。

  • 它易於使用並減少了程式碼數量,使其成為對 Web 開發人員有吸引力的替代方案。它阻止他們為特定瀏覽器編寫條件註釋或特定樣式表。

  • 它在 Web 開發社群中被廣泛使用和流行,這使得找到範例和支援變得很容易。而且,它也很用戶友好。

限制

  • 「星號先於財產」是一種駭客行為。這不是編寫 CSS 程式碼的標準且相容的方式。它依賴 Internet Explorer 中的一個錯誤來運作。此外,不保證它可以在瀏覽器的未來修改版本或其他瀏覽器中運作。

  • 這使得程式碼更難以閱讀和維護。由於它涉及編寫非標準程式碼,因此如果沒有額外的註解或文檔,很難理解程式碼的用途。

  • 這可能會導致意想不到的後果,例如影響頁面上的其他元素或導致瀏覽器出現意外行為。

結論

此技術是一種針對具有不同樣式的特定瀏覽器的方法,為 Internet Explorer 6 等舊版瀏覽器提供後備。總體而言,雖然「星屬性駭客」在當時很有用,但不再建議將其作為最佳選擇網頁開發實踐。現代 Web 開發技術專注於使用可在多個瀏覽器上運行的標準且相容的程式碼,而不是依賴特定於瀏覽器的駭客攻擊。

以上是CSS 中星號前面的屬性有什麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除
滑動頁腳滑動頁腳Apr 09, 2025 am 11:50 AM

剛剛推出了一個引人入勝的新網站。標語:Big Tech正在看著您。我們正在看大型技術。上升的出色工作。這

喜歡的頁面喜歡的頁面Apr 09, 2025 am 11:47 AM

前幾天,我發布了有關在JavaScript中解析RSS提要的內容。我還發布了有關RSS設置的信息,討論了Feedbin的核心。

重新創建Codepen Gutenberg嵌入塊以進行理智。重新創建Codepen Gutenberg嵌入塊以進行理智。Apr 09, 2025 am 11:43 AM

了解如何通過Chris Coyier實施WordPress的Gutenberg編輯器來創建一個自定義Codepen塊,並為Sanity Studio提供預覽。

如何使用CSS製作線路圖如何使用CSS製作線路圖Apr 09, 2025 am 11:36 AM

線,條和餅圖是儀表板的麵包和黃油,是任何數據可視化工具包的基本組成部分。當然,您可以使用SVG

編程SASS創建可訪問的顏色組合編程SASS創建可訪問的顏色組合Apr 09, 2025 am 11:30 AM

我們一直在尋求使網絡更容易訪問。顏色對比只是數學,因此Sass可以幫助涵蓋設計師可能錯過的邊緣案例。

我們如何創建一個在SVG中生成格子呢模式的靜態站點我們如何創建一個在SVG中生成格子呢模式的靜態站點Apr 09, 2025 am 11:29 AM

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tar​​tanify.com上,我們收集了5,000多個格子呢

PHP模板的後續行動PHP模板的後續行動Apr 09, 2025 am 11:14 AM

不久前,我僅以PHP(基本上是Heredoc語法)發布了有關PHP模板的信息。我從字面上使用該技術來進行某種超級基礎

使用Bootstrap組件創建模態圖像庫使用Bootstrap組件創建模態圖像庫Apr 09, 2025 am 11:10 AM

您是否曾經在網頁上單擊圖像,該圖像通過導航打開圖像的較大版本以查看其他照片?

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具