Est-il possible d'avoir des pseudo-classes utilisant des styles en ligne?
Exemple:
<a href="http://www.google.com" style="hover:text-decoration:none;">Google</a>
Je sais que le HTML ci-dessus ne fonctionnera pas, mais y a-t-il quelque chose de similaire qui fonctionnera?
PS Je sais que je devrais utiliser une feuille de style externe, et je le fais. J'étais juste curieux de savoir si cela pouvait être fait en utilisant des styles en ligne.
html
css
css-selectors
pseudo-class
inline-styles
Web_Designer
la source
la source
Réponses:
Non, ce n'est pas possible. Dans les documents qui utilisent CSS, un
style
attribut en ligne ne peut contenir que des déclarations de propriété; le même ensemble d'instructions qui apparaît dans chaque ensemble de règles d'une feuille de style. À partir de la spécification des attributs de style :Ni les sélecteurs (y compris les pseudo-éléments), ni les règles at, ni aucune autre construction CSS ne sont autorisés.
Considérez les styles en ligne comme les styles appliqués à un sélecteur d'identifiant super-spécifique anonyme: ces styles ne s'appliquent qu'à cet élément même avec l'
style
attribut. (Ils ont la priorité sur un sélecteur d'ID dans une feuille de style aussi, si cet élément a cet ID.) Techniquement, cela ne fonctionne pas comme ça; c'est juste pour vous aider à comprendre pourquoi l'attribut ne prend pas en charge les styles de pseudo-classes ou de pseudo-éléments (il a plus à voir avec la façon dont les pseudo-classes et les pseudo-éléments fournissent des abstractions de l'arborescence du document qui ne peuvent pas être exprimées dans la langue du document).Notez que les styles en ligne participent à la même cascade que les sélecteurs dans les ensembles de règles et ont la priorité la plus élevée dans la cascade (
!important
nonobstant). Ils ont donc la priorité même sur les états de pseudo-classe. Autoriser les pseudo-classes ou tout autre sélecteur dans les styles en ligne introduirait éventuellement un nouveau niveau de cascade, et avec lui un nouvel ensemble de complications.Notez également que de très anciennes révisions de la spécification des attributs de style proposaient à l'origine de l'autoriser , mais elle a été abandonnée, probablement pour la raison indiquée ci-dessus, ou parce que sa mise en œuvre n'était pas une option viable.
la source
Pas de CSS, mais en ligne:
Voir l'exemple →
la source
Plutôt que d'avoir besoin en ligne, vous pouvez utiliser le CSS interne
Tu aurais pu:
la source
scoped
attribut avait été supprimé des spécifications .... developer.mozilla.org/en/docs/Web/HTML/Element/styleVous pouvez essayer https://hacss.io :
Démo
la source