首頁  >  文章  >  web前端  >  如何在 JavaScript 中修改 CSS 聲明物件而不覆寫現有樣式?

如何在 JavaScript 中修改 CSS 聲明物件而不覆寫現有樣式?

Barbara Streisand
Barbara Streisand原創
2024-10-27 01:34:30315瀏覽

How to Modify CSS Declaration Objects in JavaScript without Overwriting Existing Styles?

存取與修改CSS聲明物件

在Web開發中,您可能會遇到需要修改CSS樣式而不求助於內聯樣式的情況,這可以覆蓋現有樣式並破壞功能。本文將示範如何使用 JavaScript 存取和修改 CSS 聲明物件。

考慮以下 CSS 程式碼:

<code class="css">.box {
  color: green;
}

.box:hover {
  color: blue;
}</code>

此 CSS 建立一個帶有綠色文字的框,懸停時會變成藍色。但是,如果您對顏色套用內聯樣式,則懸停行為將丟失:

<code class="html"><div class="box" style="color: red;">TEXT</div></code>

要避免此問題,您可以訪問 CSS 聲明物件並直接修改它。 JavaScript 在與您的樣式表相對應的 DOM 樣式表物件上提供 cssRules 屬性。您可以使用此屬性來取得所有 CSS 規則的陣列。

要修改 CSS 規則,您可以使用規則物件的 style 屬性。例如,要將框的顏色變更為紅色,您可以使用以下 JavaScript:

<code class="javascript">var sheet = document.styleSheets[0];
var rules = sheet.cssRules || sheet.rules;

rules[0].style.color = 'red';</code>

請注意,IE 使用規則而不是 cssRules。

您可以看到以下示範該技術位於http://jsfiddle.net/8Mnsf/1/。

以上是如何在 JavaScript 中修改 CSS 聲明物件而不覆寫現有樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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