Je fais une signature électronique HTML avec CSS en ligne ( par exemple CSS dans les style
attributs), et je suis curieux de savoir s'il est possible d'utiliser les :before
et :after
pseudo-éléments.
Si oui, comment pourrais-je implémenter quelque chose comme ça avec le CSS en ligne?
td { text-align: justify; }
td:after { content: ""; display: inline-block; width: 100%; }
Réponses:
Vous ne pouvez pas spécifier de styles en ligne pour les pseudo-éléments.
En effet, les pseudo-éléments, comme les pseudo-classes (voir ma réponse à cette autre question ), sont définis en CSS à l'aide de sélecteurs comme abstractions de l'arborescence du document qui ne peuvent pas être exprimées en HTML. Un
style
attribut en ligne , en revanche, est spécifié dans HTML pour un élément particulier.Étant donné que les styles en ligne ne peuvent apparaître qu'en HTML, ils ne s'appliqueront qu'à l'élément HTML sur lequel ils sont définis, et non aux pseudo-éléments qu'il génère.
En passant, la principale différence entre les pseudo-éléments et les pseudo-classes dans cet aspect est que les propriétés héritées par défaut seront héritées par
:before
et:after
de l'élément générateur, alors que les styles de pseudo-classes ne s'appliquent tout simplement pas. Dans votre cas, par exemple, si vous placeztext-align: justify
un attribut de style en ligne pour untd
élément, il sera hérité partd:after
. La mise en garde est que vous ne pouvez pas déclarertd:after
avec l'attribut de style en ligne; vous devez le faire dans la feuille de style.la source
comme mentionné ci-dessus: il n'est pas possible d'appeler une pseudo-classe / élément css en ligne. ce que j'ai fait maintenant, c'est: donner à votre élément un identifiant unique, par exemple. un identifiant ou une classe unique. et écrivez un
<style>
élément appropriéfugly, mais que css en ligne n'est pas ..?
la source
scoped
styles et de:root
pseudo-classe (ce qui est tellement cool):<article><style scoped>:root:before { content: "*";}</style><!-- something --></article>
.:scope
pseudo-classe:<article><style scoped>:scope:before { content: "*";}</style><!-- something --></article>
scope
actuelle ( styles d) et la spécification CSS (:scope
) . J'aurais dû être plus clair.Vous pouvez utiliser les données en ligne
la source
data-content
attribut commecontent
pour un pseudo-élément. Cela n'a rien à voir avec la création de pseudo-éléments avec du CSS en ligne.Non, vous ne pouvez pas cibler les pseudo-classes ou pseudo-éléments dans inline-css comme l'a dit David Thomas . Pour plus de détails, voir cette réponse de BoltClock sur les pseudo-classes
On peut aussi écrire use same pour les pseudo-éléments
la source
Vous ne pouvez pas créer de pseudo éléments en CSS en ligne.
Cependant, si vous pouvez créer un pseudo élément dans une feuille de style, il existe un moyen de le styliser en ligne en définissant un style en ligne sur son élément parent, puis en utilisant le mot-clé inherit pour styliser le pseudo élément, comme ceci:
parfois cela peut être pratique.
la source
Oui, c'est possible , ajoutez simplement des styles en ligne pour l'élément que vous ajoutez après ou avant, Exemple
la source
::after
et les::before
pseudo-éléments ont besoin de la valeurcontent: value
par défaut,content:none
ce qui ne donne pratiquement rien.Comme mentionné précédemment, vous ne pouvez pas utiliser d'éléments en ligne pour styliser les pseudo-classes . Les pseudo-classes avant et après sont des états d'éléments, pas des éléments réels. Vous ne pouvez utiliser JavaScript que pour cela.
la source
Si vous avez le contrôle sur le HTML, vous pouvez ajouter un élément réel au lieu d'un pseudo. : avant et: après que les pseudo éléments sont rendus juste après la balise ouverte ou juste avant la balise de fermeture. L'équivalent en ligne pour ce css
Serait quelque chose comme ça:
Gardez à l'esprit; Vos "vrais" éléments avant et après et tout ce qui contient du CSS en ligne augmentera considérablement la taille de vos pages et ignoreront les optimisations de chargement de page rendues possibles par le CSS externe et les pseudo éléments.
la source
vous pouvez utiliser
en css
la source