Heim >Web-Frontend >CSS-Tutorial >Wie kann ich CSS-Eigenschaftswerte in ihren Originaleinheiten abrufen?

Wie kann ich CSS-Eigenschaftswerte in ihren Originaleinheiten abrufen?

Susan Sarandon
Susan SarandonOriginal
2024-12-19 18:43:10183Durchsuche

How Can I Retrieve CSS Property Values in Their Original Units?

CSS-Eigenschaftswerte in ihren ursprünglichen Einheiten abrufen

Bei der Bestimmung des CSS-Eigenschaftswerts eines Elements verlassen sich Entwickler häufig auf Methoden wie getComputedStyle oder css() von jQuery. Allerdings geben diese Methoden den Wert in Pixeln zurück, was problematisch sein kann, wenn der Wert ursprünglich in anderen Einheiten (z. B. Prozent, em oder px) festgelegt wurde. Dies wirft die Frage auf: Wie können wir den CSS-Eigenschaftswert in seiner ursprünglichen Einheit erhalten, unabhängig davon, mit welchen Einheiten er festgelegt wurde?

Die Bedeutung von Elementstilen und -reihenfolge

Der Schlüssel liegt darin unter Berücksichtigung von Elementstilen und der Reihenfolge der CSS-Selektoren. Elementstile haben die höchste Priorität, daher prüfen wir zunächst, ob der Wert explizit in der Stileigenschaft des Elements festgelegt ist. Wenn ja, rufen wir den Wert und seine Priorität ab.

Als nächstes untersuchen wir die übereinstimmenden CSS-Regeln mit getMatchedCSSRules. Diese Regeln sind nach Priorität geordnet (höchste zuletzt) ​​und wir durchlaufen sie rückwärts. Wenn eine Regel eine Priorität ungleich Null hat, aktualisieren wir den Wert. Wenn eine Regel jedoch eine wichtige Priorität hat, geben wir den Wert sofort zurück.

Codebeispiel

Berücksichtigen Sie das folgende HTML und CSS:

<div class="b">div 1</div>
<div>

Und das folgende JavaScript Code:

var d = document.querySelectorAll('div');

for (var i = 0; i < d.length; ++i) {
  console.log("div " + (i + 1) + ":  " + getMatchedStyle(d[i], 'width'));
}

Dieser Code gibt die folgenden Breiten für aus divs:

div 1:  100px
div 2:  50%
div 3:  auto
div 4:  44em

Fazit

Durch die Berücksichtigung sowohl der Elementstile als auch der Reihenfolge der übereinstimmenden CSS-Regeln ruft diese benutzerdefinierte getMatchedStyle-Funktion CSS-Eigenschaftswerte genau in ihren ursprünglichen Einheiten ab. Dieses Wissen ist für die präzise Verwaltung der Elementgröße und -abmessungen von entscheidender Bedeutung.

Das obige ist der detaillierte Inhalt vonWie kann ich CSS-Eigenschaftswerte in ihren Originaleinheiten abrufen?. 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