Ich musste Javascript vermeiden, konnte aber mit serverseitigem Code arbeiten. Ich hatte nur an einer Stelle Zugriff auf ein Array von Elementen, wo dieser Code aufgerufen wurde. Es musste mit bestehenden JavaScript arbeiten, damit das Datenattribut nicht stört.
Ich habe also eine im data-Attribut gespeicherte ID erzeugt, einen Stilblock erstellt und den Link mit dieser ID erzeugt. Ja, das ist gültiges HTML. Nur nicht die beste Praxis.
/* for the demo code here */
a {
text-decoration: none;
color: blue;
}
a:hover {
color: blue;
font-weight: bold;
}
<!-- some code in the interpreter you use, to generate the data-hover id -->
<style>
a[data-hover="rnd-id-123"] { color: green; }
a[data-hover="rnd-id-123"]:hover { color: red; }
</style>
<a data-hover="rnd-id-123">some link 1</a>
<br>
<!-- some code in the interpreter you use, to generate the data-hover id -->
<style>
a[data-hover="rnd-id-456"] { color: purple; }
a[data-hover="rnd-id-456"]:hover { color: orange; }
</style>
<a data-hover="rnd-id-456">some link 2</a>
31 Stimmen
Auch die Einbettung von HTML in Blogging-Anwendungen erfordert häufig die ausschließliche Verwendung von Inline-Styles. Vor allem, wenn Sie die HTML-Datei über einen Drittanbieter-Client einbetten und keinen Zugriff auf die Themes des Benutzers haben.
11 Stimmen
Es gibt einen vorgeschlagenen CSS-Standard dafür; keine Ahnung, welche Art von Browser-Unterstützung es haben könnte (Hinweis: sie könnten die benutzerdefinierten Tags wie -moz, etc. verwenden): w3.org/TR/2002/WD-css-style-attr-20020515
1 Stimmen
Mögliche Duplikate von Ist es möglich, Inline-Pseudostile zu erstellen?
39 Stimmen
Ach, kommen Sie. Manchmal baut man nur einen Prototyp für eine Landing Page, und man möchte nicht die Stylesheets verzweigen oder einen neuen Vorlagenzweig erstellen müssen, nur um zu testen, ob die grüne Schaltfläche besser funktioniert. Verdammt.
2 Stimmen
@FriendlyNeighborhoodIdiot Diese Seite ist 13 Jahre alt, der Entwurf wurde seitdem aufgegeben.
2 Stimmen
Ich sehe, dass keine der Antworten auf den Anwendungsfall HTML-E-Mail eingeht. In der Tat können Sie für diesen Fall Standard-CSS (eingebettet) verwenden. Nicht jeder E-Mail-Client kann es akzeptieren, aber viele tun.
0 Stimmen
Welche Lösung Sie auch immer wählen, vergessen Sie nicht, auch eine
:focus
Stil, der für Tastatur- und Bildschirmleser sehr wichtig ist.