Eh bien, techniquement, il n'est pas possible d'obtenir :before
et les :after
pseudo-éléments fonctionnent sur les input
éléments
Depuis le W3C :
12.1 Les pseudo-éléments: avant et: après
Les auteurs spécifient le style et l'emplacement du contenu généré avec les pseudo-éléments: avant et: après. Comme leurs noms l'indiquent, les pseudo-éléments: avant et: après spécifient l'emplacement du contenu avant et après le contenu de l'arborescence de documents d'un élément. La propriété 'content', en conjonction avec ces pseudo-éléments, spécifie ce qui est inséré.
J'ai donc eu un projet où j'avais des boutons de soumission sous forme de input
balises et pour une raison quelconque, les autres développeurs m'ont restreint à utiliser des <button>
balises au lieu des boutons de soumission d'entrée habituels, alors j'ai trouvé une autre solution, d'envelopper les boutons dans un span
ensemble à position: relative;
puis absolument positionner l'icône en utilisant :after
pseudo.
Remarque: Le violon de démonstration utilise le code de contenu de FontAwesome 3.2.1, vous devrez donc peut-être modifier la valeur de la content
propriété en conséquence.
HTML
<span><input type="submit" value="Send" class="btn btn-default" /></span>
CSS
input[type="submit"] {
margin: 10px;
padding-right: 30px;
}
span {
position: relative;
}
span:after {
font-family: FontAwesome;
content: "\f004"; /* Value may need to be changed in newer version of font awesome*/
font-size: 13px;
position: absolute;
right: 20px;
top: 1px;
pointer-events: none;
}
Demo
Maintenant, ici, tout est explicite ici, à propos d'une propriété, c'est-à pointer-events: none;
- dire que je l'ai utilisée parce que lorsque vous survolez le :after
contenu généré par pseudo, votre bouton ne cliquera pas, donc l'utilisation de la valeur de none
forcera l'action de clic à passer à travers ce contenu .
De Mozilla Developer Network :
En plus d'indiquer que l'élément n'est pas la cible des événements de souris, la valeur none indique à l'événement de souris de passer "à travers" l'élément et de cibler tout ce qui est "en dessous" de cet élément à la place.
Survolez la police / l'icône du cœur Demoet voyez ce qui se passe si vous N'utilisez PASpointer-events: none;