Rolf B: Frage zum Wiki-Artikel „Stylesheets_einbinden“

Beitrag lesen

problematische Seite

Hallo Rava,

Klassen an HTML Elementen kann man für zwei Zwecke verwenden:

  • Zum Selektieren von CSS Styles
  • Zum Selektieren mittels JavaScript

Allein für sich tut eine Klasse gar nichts. D.h. wenn Du class Attribute vorfindest, musst Du prüfen, ob sie in Style-Regeln auftauchen. Man erkennt sie dort am vorangestellten Punkt. Beispiel:

p.self {
   color: red;
}
<p class="self">Hier ist Selfhtml</p>

Zu Klassenselektoren findest Du im Wiki was.

Ein <style> Element mit einer Klasse dran ist allerdings ungewöhnlich. Das deutet darauf hin, dass sie durch JavaScript hinzugefügt wurde und mit der Klasse etikettiert wurde, um einfach prüfen zu können, ob sie schon da ist. Oder es gibt JavaScript, das ein style-Element mit dieser Klasse sucht, um darin per CSSOM (CSS Objektmodell) herzumzufuhrwerken. Ähnliches würde ich bei data-emotion vermuten. Eine Auswirkung auf die Bedeutung oder Priorität der Styleregeln in diesen style-Elementen hat eine Klasse oder ein data-Attribut jedenfalls nicht.

Zu den Data-Attributen: damit ist es ähnlich. Sie sind primär dazu da, von JavaScript verarbeitet zu werden (über das dataset-Property der HTML Elemente), aber man kann sie mittels des Attributselektors auch für CSS Regeln nutzen:

h1[data-emotion] {
   color: black;
}

findet ein h1 Element, das ein data-emotion-Attribut besitzt. Mit h1[data-emotion=sad] findet man ein Element, das traurig ist.

Analog kann man in JavaScript man mit

const style1 = document.querySelector('style.webfont');
const style2 = document.querySelector('style[data-emotion=sad]');

die style-Elemente mit der jeweiligen Klasse oder dem data-Attribut finden.

Wozu das nun genutzt wird und wie Du das bei deinem Datenraubzug verwenden kannst oder musst, kann ich Dir nicht sagen. Bitte prüfe sehr genau die rechtliche Situation, bevor Du die gespeicherten Daten für irgendwas nutzt.

Rolf

--
sumpsi - posui - obstruxi