suchen
HeimWeb-FrontendCSS-TutorialWie kann ich berechnete Stilwerte für HTML-Elemente in verschiedenen Browsern in JavaScript abrufen?

How Can I Retrieve Computed Style Values for HTML Elements Across Different Browsers in JavaScript?

HTML-Elementstilwerte in Javascript extrahieren

Um Stilattribute zu erhalten, die über Inline-CSS oder Stil-Tags zugewiesen wurden, ist es notwendig, den berechneten Stil abzurufen und nicht nur die style-Eigenschaft des Elements. Dazu gehört die Verwendung browserübergreifender kompatibler Methoden wie document.defaultView.getComputedStyle und element.currentStyle.

Browserübergreifende Kompatibilität

Internet Explorer verwendet element.currentStyle während andere Browser Halten Sie sich an die Standardmethode document.defaultView.getComputedStyle. Beachten Sie, dass IE CSS-Eigenschaftsnamen im CamelCase-Format erwartet, während das Standardformat Bindestriche verwendet.

Einheitenumrechnung im IE

IE gibt Größen in Originaleinheiten zurück, während das Standardformat Die Methode konvertiert immer in Pixel. Die bereitgestellte getStyle-Funktion berücksichtigt dies, indem sie bei Bedarf Einheiten im IE konvertiert.

Farbformat

Die Standardmethode gibt Farbwerte in RGB-Notation zurück, während IE sie als anzeigt definiert. Die getStyle-Funktion verarbeitet möglicherweise nicht alle Fälle perfekt, insbesondere bei Farbformaten.

Benutzerdefinierte Funktion für den berechneten Stilabruf

Die folgende getStyle-Funktion bietet einen browserübergreifenden Ansatz für Berechnete Stile abrufen:

function getStyle(el, styleProp) {
  var value, defaultView = (el.ownerDocument || document).defaultView;
  // W3C standard way:
  if (defaultView && defaultView.getComputedStyle) {
    // sanitize property name to css notation
    // (hypen separated words eg. font-Size)
    styleProp = styleProp.replace(/([A-Z])/g, "-").toLowerCase();
    return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
  } else if (el.currentStyle) { // IE
    // sanitize property name to camelCase
    styleProp = styleProp.replace(/\-(\w)/g, function(str, letter) {
      return letter.toUpperCase();
    });
    value = el.currentStyle[styleProp];
    // convert other units to pixels on IE
    if (/^\d+(em|pt|%|ex)?$/i.test(value)) { 
      return (function(value) {
        var oldLeft = el.style.left, oldRsLeft = el.runtimeStyle.left;
        el.runtimeStyle.left = el.currentStyle.left;
        el.style.left = value || 0;
        value = el.style.pixelLeft + "px";
        el.style.left = oldLeft;
        el.runtimeStyle.left = oldRsLeft;
        return value;
      })(value);
    }
    return value;
  }
}

Das obige ist der detaillierte Inhalt vonWie kann ich berechnete Stilwerte für HTML-Elemente in verschiedenen Browsern in JavaScript 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
Die Reise eines Anfängers zum Starten einer WebsiteDie Reise eines Anfängers zum Starten einer WebsiteApr 18, 2025 am 10:20 AM

Im September 2018 war ich erst ein paar Monate in meiner Reise zum Lernen von Webentwicklung. Da ich bei vielen neuen Entwicklern sicher der Fall ist, war es eine große Aufgabe

Alle neuen Tipps und Tricks ES2019Alle neuen Tipps und Tricks ES2019Apr 18, 2025 am 10:19 AM

Der ECMAScript -Standard wurde erneut mit dem Hinzufügen neuer Funktionen in ES2019 aktualisiert. Jetzt offiziell in Knoten, Chrom, Firefox und Safari erhältlich

Standortmonetarisierung mit Spule (und Entfernen von Anzeigen für Unterstützer)Standortmonetarisierung mit Spule (und Entfernen von Anzeigen für Unterstützer)Apr 18, 2025 am 10:13 AM

I ' Ich habe in der Vergangenheit eine Handvoll Websites anhand "Tipp mit Mikropayments" ausprobiert. Sie kommen und gehen. Das ist gut. Aus der Perspektive der Verlagssicht, es ist ' s

Reaktionsschnelle IframesReaktionsschnelle IframesApr 18, 2025 am 10:10 AM

Dies ist alles, was Sie tun müssen, um einen Iframe auf einer Website zu reagieren. Es ist schwieriger als es aussieht und CSS ist definitiv beteiligt.

Die unterschiedlichen Perspektiven auf CSS-in-JsDie unterschiedlichen Perspektiven auf CSS-in-JsApr 18, 2025 am 10:07 AM

Einige Leute hassen die Idee von CSS-in-JS. Genau dieser Name ist beleidigend. Hart nein. Das Styling gehört nicht in JavaScript, es gehört zu CSS, einer Sache, die

Wie Google PageSpeed ​​funktioniert: Verbessern Sie Ihr Punkt- und SuchmaschinenrankingWie Google PageSpeed ​​funktioniert: Verbessern Sie Ihr Punkt- und SuchmaschinenrankingApr 18, 2025 am 10:03 AM

In diesem Artikel entdecken wir, wie PageSpeed ​​die kritische Geschwindigkeitsbewertung berechnet. Es ist kein Geheimnis, dass Geschwindigkeit zu einem entscheidenden Faktor für die Steigerung der Umsatz und die Senkung der Abhebungsquoten geworden ist. Jetzt, da Google die Seitengeschwindigkeit als Ranking -Faktor verwendet, viele Orga

Einen realistischen Glaseffekt mit SVG machenEinen realistischen Glaseffekt mit SVG machenApr 18, 2025 am 10:01 AM

Ich bin verliebt in SVG. Sicher, der Code kann zunächst dicht und schwierig aussehen, aber Sie werden die Schönheit in den Ergebnissen sehen, wenn Sie es kennen. Der Bonus ist

Wöchentliche Plattformnachrichten: Verhindern von Bildladungen mit dem Bildelement, dem gewünschten Web, SVG -Stile sind nicht abgebildetWöchentliche Plattformnachrichten: Verhindern von Bildladungen mit dem Bildelement, dem gewünschten Web, SVG -Stile sind nicht abgebildetApr 18, 2025 am 09:57 AM

In der Woche für die Woche der Woche der Browser News, ein Trick zum Laden von Bildern, unter Verwendung des Bildelements, Ihre Chance, Bowser -Anbietern über die zu informieren

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool