他の人がそれをうまく説明できるかもしれませんが、私が考えていることは、CSS内からhtml要素を生成するようなものです。
"___"のすべての要素に対して、名前のないサブ要素を先頭(:前)または終わり(:後)に追加し、次のようにスタイルを設定します。この時点では、表示される順番以外に、 ':before'と ':after'の間に違いはありません。
実際に他の要素と実際に違う唯一の方法は、 'content'属性を指定する必要があるということです(空の ''の場合でも)。
あなたは.pngのイメージとして、山形を持っていたのであれば、たとえば、:
.circle{
position: relative;
height: 100px;
width: 100px;
border-radius: 100px;
border: 2px solid #fff;
}
.circle::after{
content:'';
position: absolute;
top: 0; bottom: 0;
left: 0; right: 0;
margin: auto;
height: 50px;
width: 50px;
background-image: url('../path/chevron.png');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
}
他の選択肢は次のようになります。「>」にコンテンツを設定する
- 、代わりにバックグラウンドで画像ソリューション。
- :after要素を三角形にスタイリングするには、背景画像の代わりにcss trickを使用します。
遷移は別の問題です。もしそれらの人に助けが必要なら私に知らせてください。