首頁 >web前端 >css教學 >為什麼在主樣式表中設定'myDiv.style.display”時返回空字串?

為什麼在主樣式表中設定'myDiv.style.display”時返回空字串?

Patricia Arquette
Patricia Arquette原創
2024-11-11 10:57:02631瀏覽

Why Does `myDiv.style.display` Return an Empty String When Set in a Master Stylesheet?

主樣式表對顯示樣式的影響

使用HTML 的顯示樣式顯示內容時,必須了解內聯樣式表和主樣式表如何影響其行為。本文探討了 myDiv.style.display 在主樣式表中設定時傳回空字串的問題,這與內嵌設定時不同。

顯示的初始狀態

HTML元素通常以預設顯示值開始,通常是「內聯」。為了涵蓋這一點,開發人員經常使用內聯樣式:

<div>

但是,為了提高可維護性,在主樣式表中設定這些初始樣式是有益的。

意外行為

在主樣式表中設定 display:none 時,元素的初始狀態保持隱藏狀態。但是,使用 JavaScript 存取 myDiv.style.display 最初會傳回一個空字串。這與內聯樣式不同,內聯樣式傳回「none」。

使用getCompulatedStyle 解決了問題

此問題的解決方案在於了解直接存取元素的CSS 屬性(例如,element.style.display)檢索其內聯樣式設定.若要存取外部樣式表或瀏覽器預設值中定義的樣式,開發人員必須使用getComputedStyle 方法:

function getStyle(id, name) {
    var element = document.getElementById(id);
    return element.currentStyle
        ? element.currentStyle[name]
        : window.getComputedStyle
        ? window.getComputedStyle(element, null).getPropertyValue(name)
        : null;
}

var display = getStyle('myDiv', 'display');
alert(display); // prints 'none' or 'block' or 'inline' etc.

透過利用getCompulatedStyle,開發人員可以精確地擷取外部設定的值,包括主樣式表中的值。

以上是為什麼在主樣式表中設定'myDiv.style.display”時返回空字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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