Page d'accueil » Codage » Comprendre le pseudo-élément avant et après

    Comprendre le pseudo-élément avant et après

    La feuille de style en cascade (CSS) est principalement conçue pour appliquer des styles au balisage HTML. Toutefois, dans certains cas, lorsque l'ajout de balisage supplémentaire au document est redondant ou impossible, il existe en fait une fonctionnalité dans CSS qui permet d'ajouter du balisage sans perturber le document proprement dit, à savoir le pseudo-éléments.

    Vous avez entendu parler de ce terme, en particulier lorsque vous avez suivi certains de nos tutoriels.

    Il y a en fait quelques membres de la famille CSS qui sont classés comme pseudo-éléments comme le :Première ligne, :première lettre, ::sélection, :avant et :après. Mais, pour cet article, nous limiterons notre couverture aux seuls :avant et :après, “pseudo-éléments” ici, nous nous référerons spécifiquement aux deux. Nous allons examiner ce sujet particulier de base.

    Prise en charge de la syntaxe et du navigateur

    le pseudo-éléments ont effectivement été autour depuis CSS1, mais le :avant et :après que nous discutons ici ont été libérés dans CSS2.1. Au début, le pseudo-éléments utiliser la syntaxe en un seul point, puis à mesure que le Web évoluait, en CSS3, pseudo-éléments ont été révisés pour utiliser le double-colon - devenant ::avant Et ::après - pour le distinguer avec pseudo-classes (c'est à dire. :flotter, :actif, etc).

    Toutefois, que vous utilisiez le format simple-colon ou double-colon, les navigateurs le reconnaîtront toujours. Et comme Internet Explorer 8 ne prend en charge que le format à un seul colon, il est préférable d’utiliser ce dernier si vous souhaitez une compatibilité de navigateur plus étendue..

    Qu'est ce que ça fait?

    En bref, le pseudo-éléments va insérer un élément supplémentaire avant ou après l'élément du contenu, donc lorsque nous ajoutons les deux, ils sont techniquement égaux, avec le balisage suivant.

     

    :avant C'est le contenu principal. :après

    Mais ces éléments ne sont pas réellement générés sur le document. Ils sont toujours visibles à la surface, mais vous ne les trouverez pas sur la source du document, ils sont donc pratiquement faux éléments.

    Utiliser des pseudo-éléments

    En utilisant pseudo-éléments est relativement facile; la syntaxe suivante sélecteur: avant ajoutera un élément avant le sélecteur de contenu tandis que cette syntaxe sélecteur: après ajoutera après, et pour ajouter un contenu à l'intérieur, nous pouvons utiliser le contenu propriété.

    Par exemple, l’extrait ci-dessous ajoute un guillemet avant et après la fin du blockquote.

     blockquote: before contenu: open-quote;  blockquote: after content: close-quote;  

    Pseudo-éléments de style

    En dépit d’être un faux élément, le pseudo-éléments en fait agir comme un “réal” élément; nous sommes en mesure d'ajouter n'importe quelle déclaration de style dessus, telle que changer la couleur, ajouter un arrière-plan, ajuster la taille de la police, aligner le texte à l'intérieur, etc..

     blockquote: before contenu: open-quote; taille de la police: 24 pt; text-align: center; hauteur de ligne: 42px; couleur: #fff; arrière-plan: #ddd; float: gauche; position: relative; en haut: 30px;  blockquote: after content: close-quote; taille de la police: 24 pt; text-align: center; hauteur de ligne: 42px; couleur: #fff; arrière-plan: #ddd; Flotter à droite; position: relative; en bas: 40 px;  

    Spécifier la dimension

    Les éléments générés sont par défaut des éléments de niveau en ligne. Ainsi, lorsque nous sommes sur le point de spécifier la hauteur et la largeur, nous devons d’abord le définir en tant qu’élément de bloc à l’aide de la commande bloc de visualisation déclaration.

     blockquote: before contenu: open-quote; taille de la police: 24 pt; text-align: center; hauteur de ligne: 42px; couleur: #fff; arrière-plan: #ddd; float: gauche; position: relative; en haut: 30px; border-radius: 25px; / ** le définit comme un élément de bloc ** / display: block; hauteur: 25px; largeur: 25px;  blockquote: after content: close-quote; taille de la police: 24 pt; text-align: center; hauteur de ligne: 42px; couleur: #fff; arrière-plan: #ddd; Flotter à droite; position: relative; en bas: 40 px; border-radius: 25px; / ** le définit comme un élément de bloc ** / display: block; hauteur: 25px; largeur: 25px;  

    Joindre une image de fond

    Nous pouvons également remplacer le contenu par une image plutôt que par du texte brut. Bien que le contenu la propriété fournit un url () chaîne pour insérer une image, mais dans la plupart des cas, je préfère de loin utiliser le Contexte propriété pour plus de contrôle sur l'image attachée.

     blockquote: before content: ""; taille de la police: 24 pt; text-align: center; hauteur de ligne: 42px; couleur: #fff; float: gauche; position: relative; en haut: 30px; border-radius: 25px; fond: url (images / quotationmark.png) -3px -3px #ddd; bloc de visualisation; hauteur: 25px; largeur: 25px;  blockquote: after content: ""; taille de la police: 24 pt; text-align: center; hauteur de ligne: 42px; couleur: #fff; Flotter à droite; position: relative; en bas: 40 px; border-radius: 25px; fond: url (images / quotationmark.png) -1px -32px #ddd; bloc de visualisation; hauteur: 25px; largeur: 25px;  

    Cependant, comme vous pouvez le voir dans l'extrait ci-dessus, nous déclarons toujours le contenu propriété et cette fois avec une chaîne vide. le contenu la propriété est un prérequis et devrait toujours être appliqué; sinon le pseudo-élément ne fonctionnera pas quoi que ce soit.

    Combinaison avec des pseudo-classes

    Bien qu'ils soient un genre différent de pseudo, nous pouvons utiliser le pseudo-classes de même que pseudo-éléments ensemble dans une règle CSS, par exemple, si nous voulons tourner la fond de guillemet un peu plus sombre lorsque nous survolons la blockquote.

     blockquote: survol: après, blockquote: survol: avant background-color: # 555;  

    Ajout d'un effet de transition

    Et nous pouvons même appliquer le transition propriété sur eux pour créer un effet de transition de couleur gracieuse.

     transition: tous les 350ms; -o-transition: tous les 350ms; -moz-transition: tous les 350ms; -webkit-transition: tous les 350ms; 

    Malheureusement, l'effet de transition ne semble fonctionner que dans la dernière version de Firefox. Espérons que davantage de navigateurs rattraperont leur retard pour permettre l’application de la propriété de transition dans pseudo-éléments A l'avenir.

    • Démo
    • Source de téléchargement

    Plus d'inspiration

    Pour vous inspirer, nous avons sélectionné trois exemples intéressants qui peuvent vous donner des idées pour votre conception de sites Web..

    Ombres fascinantes

    Dans ce tutoriel, Paul Underwood a expliqué comment créer un effet d’ombre plus réaliste et plus fascinant à l’aide de :avant et :après pseudo-éléments. Les deux d'entre eux sont positionnés absolument et placés à l'extrême arrière avec négatif z-index valeur.

    Effet d'image empilé

    En utilisant le pseudo-éléments Il est également possible de créer un effet d’image empilée désordonné, mais avec une seule image sur le balisage. le pseudo-éléments est utilisé pour créer une illusion des images empilées à l'arrière de l'image réelle en utilisant négatif z-index.

    Conclusion

    Pseudo-éléments est simplement “cool” et finalement utilisable, fondamentalement, nous avons deux éléments bonus pour chaque élément, nous ajoutons sans interférer avec la structure HTML réelle, puis en les transformant en presque tout ce que nous pouvons imaginer.

    Il y a en fait une amélioration pour pseudo-éléments sur lequel on travaille actuellement, comme imbriquer des pseudo-éléments div :: before :: before content: "; et plusieurs pseudo-éléments div :: before (3) content: "; ce qui ouvrira évidemment beaucoup plus de possibilités dans la pratique de la conception Web à l’avenir. Pendant qu'ils sont mis en œuvre dans les navigateurs actuels, attendons patiemment pour l'instant..