:hover
を私が作ったCSSスライスで動作させるのに問題があります。透明な枠線とborder-radius
プロパティを使用して、divの外観を円の1/4のようにしています。しかし、私がホバー状態のために使用しようとするスタイルは動作しません。特殊なCSSシェイプでホバーを使用する
div {
position: absolute;
right: 0;
left: 0;
margin: 0 auto;
width: 0;
\t height: 0;
border-radius: 50%;
}
.circle-1 {
border-left: 50px solid transparent;
\t border-right: 50px solid transparent;
\t border-bottom: 50px solid transparent;
border-top: 50px solid green;
}
.circle-1:hover {
border-top: 50px solid pink;
cursor: pointer;
}
.circle-2 {
border-left: 50px solid transparent;
\t border-right: 50px solid red;
\t border-bottom: 50px solid transparent;
border-top: 50px solid transparent;
}
.circle-3 {
border-left: 50px solid transparent;
\t border-right: 50px solid transparent;
\t border-bottom: 50px solid blue;
border-top: 50px solid transparent;
}
.circle-4 {
border-left: 50px solid orange;
\t border-right: 50px solid transparent;
\t border-bottom: 50px solid transparent;
border-top: 50px solid transparent;
}
<div class="circle-1"></div>
<div class="circle-2"></div>
<div class="circle-3"></div>
<div class="circle-4"></div>
ここはこの答えのようにSVGを使用することがはるかに良いアイデアだろう - http://stackoverflow.com/questions/27943053/how-to-create-a-circle -with-links-on-border-side/34902989#34902989(私は ':hover'がそのデモに存在しないことを知っていますが、追加するのは簡単です)質問の':hover'セレクタは動作しません4つの要素を重ねて配置しているので、境界線の色が透明であっても、アクセスできる唯一の要素は4番目の要素です。 '.circle-4:hover'を置くと動作しますが、それでもあなたが必要とするものは完全ではありません。 – Harry