Maison  >  Article  >  interface Web  >  Les fonctions et l'utilisation de :after et :before en CSS

Les fonctions et l'utilisation de :after et :before en CSS

青灯夜游
青灯夜游original
2018-09-12 16:24:255284parcourir

Ce chapitre vous présentera les fonctions et l'utilisation de :after et :before en CSS. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

1. La fonction principale de :before et :after est d'ajouter le contenu spécifié avant et après le contenu de l'élément. Exemple :

Code HTML :

<p>你好</p>

Code CSS :

p:before{
   content: &#39;Hello&#39;;
   color: red;
}
p:after{
    content: &#39;Tom&#39;;
    color: red;
}

L'effet est tel que montré dans l'image :

Les fonctions et lutilisation de :after et :before en CSS

Le code ci-dessus est l'utilisation de base de : before et :after, mais ces deux pseudo Il existe de nombreuses utilisations plus pratiques des classes.

2. :after clear float

Une fois qu'un élément est défini sur float, la disposition de son élément parent et des éléments frères de l'élément parent sera affectée, comme la bordure d'arrière-plan de l'élément parent Il ne peut pas être affiché normalement, la position des éléments frères de l'élément parent est erronée, etc.

Afin d'éviter l'impact de ce type de flottement, le flottant doit être effacé. :after est l’une des méthodes.

Code CSS :

ul:after{
    content: &#39;&#39;;
    display: block;
    width: 0;
    height: 0;
    clear: both;
}

3. :before et :after sont utilisés pour écrire des petits triangles

On les rencontre souvent dans le travail quotidien. De petites icônes telles que des petits triangles peuvent être implémentées en ajoutant des images, mais il est plus pratique d'utiliser la pseudo-classe :after :before.

Code HTML :

<div class="demo">这是一个测试</div>

Code CSS :

.demo:after{
    content: &#39;&#39;;
    display: inline-block;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    border-left: 8px solid #AFABAB;
    position: relative;
    top: 2px;
    left: 10px;
}

L'effet est comme indiqué sur l'image :

Les fonctions et lutilisation de :after et :before en CSS

De cette façon, vous pouvez ajouter un petit triangle derrière le texte, n'est-ce pas très pratique ?

4. Utilisez :after et :before pour écrire une boîte de dialogue

Code HTML :

<div class="left">
  <p>吃了吗</p>
</div>
<div class="right">
  <p>吃过了,吃了红烧排骨和酸菜鱼</p>
</div>

Code CSS :

.left,.right{
    min-height: 40px;
    position: relative;
    display: table;
    text-align: center;
    border-radius: 7px;
    background-color: #9EEA6A;
}
.right{      /*使左右的对话框分开*/
    top: 40px;
    left: 60px;
}
.left > p,.right > p{    /*使内容居中*/
    display: table-cell;
    vertical-align: middle;
    padding: 0 10px;
}
.left:before,.right:after{   /*用伪类写出小三角形*/
    content: &#39;&#39;;
    display: block;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    position: absolute;
    top: 11px;
}
/*分别给左右两边的小三角形定位*/
.left:before{    
    border-right: 8px solid #9EEA6A;
    left: -16px;
}
.right:after{    
    border-left: 8px solid #9EEA6A;
    right: -16px;
}

L'effet est comme indiqué dans l'image :

Les fonctions et lutilisation de :after et :before en CSS

La boîte de dialogue ci-dessus est écrit à l'imitation du style WeChat, en utilisant : Avant et :après sont très pratiques à écrire

5 Ensuite, écrivez une boîte de dialogue avec une bordure. Une boîte de dialogue utilisera à la fois :avant et :après.

Code HTML Inchangé

Code CSS :

.left,.right{
    min-height: 40px;
    position: relative;
    display: table;
    text-align: center;
    border-radius: 7px;
    background-color: #9EEA6A;
    border: 1px solid #736262;
}
.right{      /*使左右的对话框分开*/
    top: 40px;
    left: 60px;
}
.left > p,.right > p{    /*使内容居中*/
    display: table-cell;
    vertical-align: middle;
    padding: 0 10px;
}
.left:before,.right:after,.left:after,.right:before{   /*用伪类写出小三角形*/
    content: &#39;&#39;;
    display: block;
    width: 0;
    height: 0;
    border: 8px solid transparent;
    position: absolute;
    top: 11px;
}
/*分别给左右两边的小三角形定位*/
.left:before{    
    border-right: 8px solid #9EEA6A;
    left: -16px;
}
.left:after{      /*左边对话框小三角形的边框样式*/
    border-right: 8px solid #736262;
    left: -17px;
    z-index: -1;
}
.right:after{    
    border-left: 8px solid #9EEA6A;
    right: -16px;
}
.right:before{    /*右边对话框小三角形的边框样式*/
    border-left: 8px solid #736262;
    right: -17px;
    z-index: -1;
}

L'effet est tel qu'indiqué sur la figure :

Les fonctions et lutilisation de :after et :before en CSS

(lors de l'écriture d'une boîte de dialogue avec des bordures, un triangle nécessite à la fois :avant et :après)



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn