首頁 >web前端 >css教學 >當在單獨的檔案中定義 CSS 樣式時,為什麼「element.style」會回傳空值?

當在單獨的檔案中定義 CSS 樣式時,為什麼「element.style」會回傳空值?

Linda Hamilton
Linda Hamilton原創
2024-11-08 17:44:02583瀏覽

Why Does `element.style` Return Empty Values When CSS Styles Are Defined in a Separate File?

理解JavaScript 中的CSS 樣式屬性

在JavaScript 中引用CSS 樣式屬性時,開發者經常會遇到一個意想不到的問題:element.style 傳回空儘管在CSS 檔案中定義了樣式,但這些值仍然存在。本文旨在闡明這種行為並解釋其發生的原因。

內聯樣式和計算樣式之間的區別

JavaScript 的 element.style 屬性提供對內聯樣式的存取直接在 HTML 元素中定義。但是,當 CSS 樣式在 CSS 檔案中單獨定義時,它們不被視為內聯樣式。相反,它們成為計算樣式。

計算樣式:套用值

計算樣式表示在考慮所有繼承樣式、CSS 規則後套用於元素的實際樣式屬性和瀏覽器預設值。若要在 JavaScript 中存取運算樣式,請使用 getCompulatedStyle() 函數。

空 element.style 值的說明

element.style 只包含內嵌樣式。由於 CSS 樣式不是內聯定義的,因此無法透過 element.style 存取它們,因此傳回空值。

範例:

<div>
#test {
  display: block;
}
console.log(document.getElementById('test').style.display); // Returns ""

使用getCompulatedStyle 來計算樣式

樣式屬性,包括CSS 中定義的屬性,請使用getCompulatedStyle():

console.log(window.getComputedStyle(document.getElementById('test')).display); // Returns "block"

以上是當在單獨的檔案中定義 CSS 樣式時,為什麼「element.style」會回傳空值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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