単純にこうしたらどうですか?
デモ
div {
border: 10px solid #000;
height: 50px;
width: 50px;
border-radius: 50%;
position: relative;
}
div:after {
height: 0;
width: 0;
display: block;
position: absolute;
right: -12px;
content: " ";
border-bottom: 12px solid #fff;
border-right: 12px solid transparent;
transform: rotate(10deg);
}
説明: ここで行っているのは、:after
疑似を使用して要素を絶対円に配置し、transform
プロパティを使用して三角形を回転させることです。
デモ2(アニメーションあり)
div {
border: 10px solid #000;
height: 50px;
width: 50px;
border-radius: 50%;
position: relative;
animation: spin 1s infinite linear;
}
div:after {
height: 0;
width: 0;
display: block;
position: absolute;
right: -12px;
content: " ";
border-bottom: 12px solid #fff;
border-right: 12px solid transparent;
transform: rotate(10deg);
}
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
私の提案: 質問を更新したときに、透明なガターが必要だとおっしゃいました.png
。100 行の CSS を記述してブラウザー間の互換性を心配するよりも、画像を使用して回転させることをお勧めします。または、コメントでリンクを共有したので、CSS マスキングを使用できます。