はい、可能です!あなたrotate
は箱を与え、それを与えて、としてborder-radius
使用します。45deg
linear-gradient
background
デモ
HTML:
<div class='arrow'></div>
CSS:
.arrow {
width: 7em;
height: 7em;
border-radius: 0 0 2em 0;
margin: 5em;
transform: rotate(45deg);
background: linear-gradient(-45deg, black 50%, transparent 50%);
}
矢印の角度を変えたい場合は、それも可能skew
です。
CSSグラデーションがIE9でサポートされていないという事実を考慮に入れてください(タグの中でCSS3について言及しているため、今回は「またはそれ以前」とは言いません)。その場合の解決策は、無地の背景を使用し、前の要素で覆うか、クリップすることによって、上部が表示されないようにすることです(Tim Medoraが提供した回答を参照してください)。
-webkit-
また、この時点ではまだプレフィックスなしの構文はサポートされていないため(ただし、これは間もなく:Dに変更されます)、プレフィックス、、、-moz-
およびを手動で追加する必要があります-o-
。(Dabbletはこれを処理する-prefix-freeを使用しているため、デモには追加しませんでした。)