目錄
明星先行財產
文法
範例
Star Property Hack 的用途與限制
用途
限制
結論
首頁 web前端 css教學 CSS 中星號前面的屬性有什麼用?

CSS 中星號前面的屬性有什麼用?

Sep 16, 2023 pm 02:53 PM

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>Star Preceded Property</h1>
   <h3>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>Star Preceded Property </h1>
   <h3>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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱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.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

使用智能表單框架創建JavaScript聯繫表格 使用智能表單框架創建JavaScript聯繫表格 Mar 07, 2025 am 11:33 AM

使用智能表單框架創建JavaScript聯繫表格

將框陰影添加到WordPress塊和元素 將框陰影添加到WordPress塊和元素 Mar 09, 2025 pm 12:53 PM

將框陰影添加到WordPress塊和元素

揭開屏幕讀取器的神秘面紗:可訪問的表格和最佳實踐 揭開屏幕讀取器的神秘面紗:可訪問的表格和最佳實踐 Mar 08, 2025 am 09:45 AM

揭開屏幕讀取器的神秘面紗:可訪問的表格和最佳實踐

創建一個具有可滿足屬性的內聯文本編輯器 創建一個具有可滿足屬性的內聯文本編輯器 Mar 02, 2025 am 09:03 AM

創建一個具有可滿足屬性的內聯文本編輯器

使用GraphQL緩存 使用GraphQL緩存 Mar 19, 2025 am 09:36 AM

使用GraphQL緩存

使您的第一個自定義苗條過渡 使您的第一個自定義苗條過渡 Mar 15, 2025 am 11:08 AM

使您的第一個自定義苗條過渡

比較5個最佳的PHP形式構建器(和3個免費腳本) 比較5個最佳的PHP形式構建器(和3個免費腳本) Mar 04, 2025 am 10:22 AM

比較5個最佳的PHP形式構建器(和3個免費腳本)

在node.js中使用multer上傳並上傳express 在node.js中使用multer上傳並上傳express Mar 02, 2025 am 09:15 AM

在node.js中使用multer上傳並上傳express

See all articles