先介紹下偽類和偽元素:
偽類:操作的是在dom結構中已經存在的元素,可以對它進行一些樣式的調整,比如:active,:hover等,一般用單冒號,感覺像是給元素添加一個class,然后設置樣式;
偽元素:操作的是在dom結構中不存在的元素,比如::after,::before等,可以對新添加的元素設置樣式等,一般用雙冒號,感覺像是添加一個新的元素,然后給它設置一些東西。
相同點:他們都是在css中進行編寫的。
效果如下:

:before,:after
使用了css3的偽元素,即相當於是在一個div中寫入文字,然后在它前后各加了一個div,然后進行位置及寬高的調節。

實現代碼:
<div>中間文字,兩邊橫線</div>
div {
font: 400 20px Helvetica, Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
}
/*CSS偽類用法*/
div:after, div:before {
background: #000000;
content: "";
height: 2px;
width: 20%;
}
添加偽元素div是對選擇器進行添加的,不需在html元素中添加,要想實現上面效果,也可以在html代碼中前后各添加兩個div,但是需要再定位及調節樣式,比較麻煩。
原理:
1.代碼中只寫一個div,然后在css樣式中,對該div設置flex布局,再添加:before,:after,此時可以寫自己想要的樣式。content設置可以為"",若是想要在前后面插入文字,可以設置content為相應的文字;
2.對該元素(div)設置flex,則可以看到添加的before、after樣式。
