Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

<style> HTML Style-Informationselement

Baseline Weitgehend verfügbar *

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Das <style>- HTML-Element enthält Stilinformationen für ein Dokument oder einen Teil eines Dokuments. Es enthält CSS, das auf den Inhalt des Dokuments angewendet wird, das das <style>-Element enthält.

Probieren Sie es aus

<style>
  p {
    color: #26b72b;
  }
  code {
    font-weight: bold;
  }
</style>

<p>
  This text will be green. Inline styles take precedence over CSS included
  externally.
</p>

<p style="color: blue">
  The <code>style</code> attribute can override it, though.
</p>
p {
  color: red;
}

Das <style>-Element wird typischerweise im <head> des Dokuments eingebunden. Es kann auch überall dort verwendet werden, wo Metadateninhalte zugelassen sind, wie zum Beispiel innerhalb eines <template>-Elements.

Wenn Sie mehrere <style>- und <link>-Elemente in Ihr Dokument aufnehmen, werden sie in der Reihenfolge auf das DOM angewendet, in der sie im Dokument enthalten sind – stellen Sie sicher, dass Sie sie in der richtigen Reihenfolge einfügen, um unerwartete Kaskadenprobleme zu vermeiden.

In ähnlicher Weise wie <link>-Elemente können <style>-Elemente media-Attribute enthalten, die Media Queries beinhalten. Damit können Sie interne Stylesheets selektiv auf Ihr Dokument anwenden, abhängig von Medieneigenschaften wie der Breite des Ansichtsfensters.

Attribute

Dieses Element beinhaltet die globalen Attribute.

blocking

Dieses Attribut gibt explizit an, dass bestimmte Operationen beim Abrufen kritischer Subressourcen und der Anwendung des Stylesheets auf das Dokument blockiert werden sollen. @import-ierte Stylesheets gelten im Allgemeinen als kritische Subressourcen, während background-image und Schriftarten dies nicht sind. Die zu blockierenden Operationen müssen als durch Leerzeichen getrennte Liste der unten aufgeführten Blockierungstoken angegeben werden. Derzeit gibt es nur ein Token:

  • render: Die Darstellung des Inhalts auf dem Bildschirm wird blockiert.

Hinweis: Nur style-Elemente im <head> eines Dokuments können möglicherweise das Rendering blockieren. Standardmäßig blockiert ein style-Element im <head> das Rendering, wenn der Browser es während der Analyse entdeckt. Wenn ein solches style-Element dynamisch über ein Script hinzugefügt wird, müssen Sie zusätzlich blocking = "render" setzen, damit es das Rendering blockiert.

media

Dieses Attribut definiert, auf welche Medien der Stil angewendet werden soll. Sein Wert ist eine Media Query, die auf all standardmäßig gesetzt ist, wenn das Attribut fehlt.

nonce

Ein kryptographischer Nonce (einmal verwendete Nummer), der dazu verwendet wird, Inline-Stile in einer style-src Content-Security-Policy zu erlauben. Der Server muss bei jeder Übertragung einer Richtlinie einen einzigartigen Nonce-Wert generieren. Es ist entscheidend, einen nicht zu erratenden Nonce bereitzustellen, da das Umgehen der Ressourcenrichtlinie sonst trivial ist.

title

Dieses Attribut gibt alternative Stylesheet-Sets an.

Veraltete Attribute

type

Dieses Attribut sollte nicht angegeben werden: Wenn es angegeben wird, sind nur der leere String oder eine nicht case-sensitive Übereinstimmung mit text/css zulässig.

Beispiele

Ein einfaches Stylesheet

Im folgenden Beispiel wenden wir ein kurzes Stylesheet auf ein Dokument an:

html
<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="UTF-8" />
    <title>Test page</title>
    <style>
      p {
        color: red;
      }
    </style>
  </head>
  <body>
    <p>This is my paragraph.</p>
  </body>
</html>

Ergebnis

Verwendung von <style> innerhalb von <template>

Ein <style>-Element kann auch innerhalb eines <template>-Elements platziert werden. Die Stile bleiben inaktiv, bis der Template-Inhalt instanziiert und in das Dokument eingefügt wird.

html
<template id="card-template">
  <style>
    .card {
      border: 1px solid #ccc;
      padding: 1rem;
      border-radius: 0.5rem;
    }
  </style>

  <div class="card">Template content</div>
</template>

Mehrere Style-Elemente

In diesem Beispiel haben wir zwei <style>-Elemente eingebaut – beachten Sie, wie die widersprüchlichen Deklarationen im späteren <style>-Element diejenigen im früheren überschreiben, wenn sie die gleiche Spezifität haben.

html
<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="UTF-8" />
    <title>Test page</title>
    <style>
      p {
        color: white;
        background-color: blue;
        padding: 5px;
        border: 1px solid black;
      }
    </style>
    <style>
      p {
        color: blue;
        background-color: yellow;
      }
    </style>
  </head>
  <body>
    <p>This is my paragraph.</p>
  </body>
</html>

Ergebnis

Einfügen einer Media Query

In diesem Beispiel bauen wir auf dem vorhergehenden Beispiel auf und fügen ein media-Attribut im zweiten <style>-Element hinzu, sodass es nur angewendet wird, wenn das Ansichtsfenster weniger als 500px breit ist.

html
<!doctype html>
<html lang="en-US">
  <head>
    <meta charset="UTF-8" />
    <title>Test page</title>
    <style>
      p {
        color: white;
        background-color: blue;
        padding: 5px;
        border: 1px solid black;
      }
    </style>
    <style media="(width < 500px)">
      p {
        color: blue;
        background-color: yellow;
      }
    </style>
  </head>
  <body>
    <p>This is my paragraph.</p>
  </body>
</html>

Ergebnis

Technische Zusammenfassung

Inhaltskategorien Metadaten-Inhalt.
Erlaubter Inhalt Textinhalt, der dem type-Attribut entspricht, also text/css.
Tag-Auslassung Kein Tag kann ausgelassen werden.
Erlaubte Eltern Jedes Element, das Metadaten-Inhalt akzeptiert.
Implizierte ARIA-Rolle Keine entsprechende Rolle
Erlaubte ARIA-Rollen Kein role erlaubt
DOM-Schnittstelle [`HTMLStyleElement`](/de/docs/Web/API/HTMLStyleElement)

Spezifikationen

Spezifikation
HTML
# the-style-element

Browser-Kompatibilität

Siehe auch