コメントのystkさんの方法をコードにしてみました。
.a
の大きさがwidth:50px
height:50px
だった場合、
.aに疑似要素.a:before
を設けて倍のサイズ100px
を指定。
そこにborder:50px
を付けてpositionによるマイナスマージン-100px
を設けて右下の1/4だけが重なるように固定。
.a
からはみ出る部分をoverflow:hidden
で消せば実現できます。
・・・実現はできますが、実用性・汎用性をもって利用できるかは、周りのコード仕様次第ですかね。
HTML
1<!DOCTYPE html>
2<html lang="ja">
3<head>
4<meta charset="UTF-8">
5<title>サンプル</title>
6<style>
7.a {
8 overflow:hidden;
9 position:relative;
10 width:50px;
11 height:50px;
12 background:#c33; /*この色は何色でもOK。透過なら無指定でOK*/
13}
14.a:before {
15 position:absolute;
16 content:"";
17 top:-100px; /*.aの幅高の2倍のpx*/
18 left:-100px; /*.aの幅高の2倍のpx*/
19 width:100px; /*.aの幅高の2倍のpx*/
20 height:100px; /*.aの幅高の2倍のpx*/
21 border:50px solid #000; /*.aの幅高と同pxと透過しない部分の色指定*/
22 border-radius:100px; /*.aの幅高の2倍のpx*/
23 -webkit-border-radius:100px; /*.aの幅高の2倍のpx*/
24 -moz-border-radius:100px; /*.aの幅高の2倍のpx*/
25}
26</style>
27</head>
28<body>
29<div class="a"></div>
30</body>
31</html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。