Heim >Web-Frontend >CSS-Tutorial >Warum gibt „element.style' leere Werte zurück, wenn CSS-Stile in einer separaten Datei definiert sind?

Warum gibt „element.style' leere Werte zurück, wenn CSS-Stile in einer separaten Datei definiert sind?

Linda Hamilton
Linda HamiltonOriginal
2024-11-08 17:44:02584Durchsuche

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

CSS-Stileigenschaften in JavaScript verstehen

Beim Verweisen auf CSS-Stileigenschaften in JavaScript stoßen Entwickler häufig auf ein unerwartetes Problem: element.style gibt leer zurück Werte trotz der Definition von Stilen in der CSS-Datei. Dieser Artikel soll Aufschluss über dieses Verhalten geben und erklären, warum es auftritt.

Der Unterschied zwischen Inline- und berechneten Stilen

Die Eigenschaft element.style von JavaScript bietet Zugriff auf Inline-Stile direkt innerhalb eines HTML-Elements definiert. Wenn CSS-Stile jedoch separat in einer CSS-Datei definiert werden, gelten sie nicht als Inline-Stile. Stattdessen werden sie zu berechneten Stilen.

Berechnete Stile: Die angewendeten Werte

Berechnete Stile stellen die tatsächlichen Stileigenschaften dar, die auf ein Element angewendet werden, nachdem alle geerbten Stile und CSS-Regeln berücksichtigt wurden , und Browser-Standardwerte. Um auf berechnete Stile in JavaScript zuzugreifen, verwenden Sie die Funktion getComputedStyle().

Erklärung leerer element.style-Werte

element.style enthält nur Inline-Stile. Da CSS-Stile nicht inline definiert sind, sind sie nicht über element.style zugänglich und geben daher leere Werte zurück.

Beispiel:

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

Verwenden von getComputedStyle zum Abrufen berechneter Stile

Um den angewendeten Stil zu erhalten Eigenschaften, einschließlich der in CSS definierten, verwenden getComputedStyle():

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

Das obige ist der detaillierte Inhalt vonWarum gibt „element.style' leere Werte zurück, wenn CSS-Stile in einer separaten Datei definiert sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn