如何利用css3实现半圆

html-css023

如何利用css3实现半圆,第1张

div{

display: inline-block

border:1px solid #6baabb

width:40px

height:40px

float:left

margin:0px 10px

}

a{

display: inline-block

width:40px

height:40px

background: #6baabb

}

.Round{/*圆*/

border-radius:20px

}

.LeftRound{/*左半圆*/

width:20px

border-radius:20px 0px 0px 20px

}

.RightRound{/*右半圆*/

width:20px

border-radius:0px 20px 20px 0px

}

.TopRound{/*上半圆*/

height:20px

border-radius:20px 20px 0px 0px

}

.BottomRound{/*下半圆*/

height:20px

border-radius:0px 0px 20px 20px

}

<div><a class="Round"></a></div> 全圆

<div><a class="LeftRound"></a></div> 左半圆

<div><a class="RightRound"></a></div> 右半圆

<div><a class="TopRound"></a></div> 上半圆

<div><a class="BottomRound"></a></div> 下半圆

border-radius是可以实现上下左右半圆的,但是如果在整圆里放下半圆,在圆里的位置不太好控制,按照上下左右一个一个介绍

看这样很容易就出啦上下半圆了

如果想在一个整圆中分别作出上下半圆不同颜色,而且圆中带字的话,如图:

恐怕上面的办法就不好使了,做这种双色圆的方法如下:

我用四个圆做对比,结果如下:

<style>

.box{

width: 100px

height: 50px

}

.top{

background: #000

border-radius: 50px 50px 0 0/* 左上、右上、右下、左下 */

}

.bottom{

background: #0fa

border-radius: 0 0 50px 50px/* 左上、右上、右下、左下 */

}

</style>

<body>

<div class="box top"></div>

<div class="box bottom"></div>

</body>