J'ai une classe CSS Modal
qui est absolument positionnée, z-indexée au-dessus de son parent et bien positionnée avec JQuery. Je veux ajouter une image caret (^) en haut de la boîte modale et je cherchais à utiliser le :before
pseudo-sélecteur CSS pour le faire proprement.
L'image doit être absolument positionnée et indexée en z au-dessus du modal, mais je n'ai trouvé aucun moyen d'ajouter la classe appropriée à l'image dans l' content
attribut:
.Modal:before{
content:url('blackCarrot.png') /* with class ModalCarrot ??*/
}
.ModalCarrot{
position:absolute;
left:50%;
margin-left:-8px;
top:-16px;
}
Deuxième meilleure option: puis-je ajouter les styles en ligne dans l'attribut de contenu?
Vous devriez utiliser l'attribut background pour donner une image à cet élément, et j'utiliserais :: after au lieu d'avant, de cette façon, il devrait déjà être dessiné au-dessus de votre élément.
la source
1. c'est ma réponse à votre problème.
la source
background-size: 33px 16px; background-repeat: no-repeat;
pour redimensionner l'image!Le contenu et les versions antérieures ne sont pas très fiables sur tous les navigateurs. Je suggérerais de rester avec jQuery pour y parvenir. Je ne sais pas ce que vous faites pour déterminer si cette carotte doit être ajoutée ou non, mais vous devriez avoir une idée générale:
la source
Content
etafter/before
sont très fiables sur tous les principaux navigateurs, cela fonctionne depuis ie8, au moins FF3.5, au moins Chrome 9, au moins Opera 10.6, au moins Safari 3.2, chaque version d'iOS Safari, chaque version d'Opera mini, chaque version d'Opera Mobile, et jamais la version du navigateur Android. si vous voulez savoir si quelque chose est pris en charge par plusieurs navigateurs, consultez: caniuse.com/#search=:afterCSS
plusJavaScript
sur celui - ci. Peu importe à quel point le navigateur est à la pointe de la technologie, l'utilisateur peut toujours l'avoirJavaScript
désactivé ... Heureusement dans ce cas, les sélecteurs:before
et:after
sont largement pris en charge; quirksmode.org/css/selectors