我想知道是否有一个更简单的方法来创建循环div比我现在做的。

目前,我只是为每个不同的大小制作一个图像,但这样做很烦人。

有没有CSS可以让div变成圆形,我可以指定半径?


当前回答

这里是一个演示:http://jsfiddle.net/thirtydot/JJytE/1170/

CSS:

.circleBase {
    border-radius: 50%;
    behavior: url(PIE.htc); /* remove if you don't care about IE8 */
}

.type1 {
    width: 100px;
    height: 100px;
    background: yellow;
    border: 3px solid red;
}
.type2 {
    width: 50px;
    height: 50px;
    background: #ccc;
    border: 3px solid #000;
}
.type3 {
    width: 500px;
    height: 500px;
    background: aqua;
    border: 30px solid blue;
}

HTML:

<div class="circleBase type1"></div>

<div class="circleBase type2"></div><div class="circleBase type2"></div>

<div class="circleBase type3"></div>

要在IE8及更老版本中使用此功能,必须下载并使用CSS3 PIE。我上面的演示不能在IE8中运行,但这只是因为jsFiddle不支持PIE.htc。

我的演示是这样的:

其他回答

我有4个解决方案来完成这个任务:

这个特性 clip-path 伪元素 径向渐变

#circle1 { background-color: #B90136; width: 100px; height: 100px; border-radius: 50px;/* specify the radius */ } #circle2 { background-color: #B90136; width: 100px;/* specify the radius */ height: 100px;/* specify the radius */ clip-path: circle(); } #circle3::before { content: ""; display: block; width: 100px; height: 100px; border-radius: 50px;/* specify the radius */ background-color: #B90136; } #circle4 { background-image: radial-gradient(#B90136 70%, transparent 30%); height: 100px;/* specify the radius */ width: 100px;/* specify the radius */ } <h3>1 border-radius</h3> <div id="circle1"></div> <hr/> <h3>2 clip-path</h3> <div id="circle2"></div> <hr/> <h3>3 pseudo element</h3> <div id="circle3"></div> <hr/> <h3>4 radial-gradient</h3> <div id="circle4"></div>

这里是一个演示:http://jsfiddle.net/thirtydot/JJytE/1170/

CSS:

.circleBase {
    border-radius: 50%;
    behavior: url(PIE.htc); /* remove if you don't care about IE8 */
}

.type1 {
    width: 100px;
    height: 100px;
    background: yellow;
    border: 3px solid red;
}
.type2 {
    width: 50px;
    height: 50px;
    background: #ccc;
    border: 3px solid #000;
}
.type3 {
    width: 500px;
    height: 500px;
    background: aqua;
    border: 30px solid blue;
}

HTML:

<div class="circleBase type1"></div>

<div class="circleBase type2"></div><div class="circleBase type2"></div>

<div class="circleBase type3"></div>

要在IE8及更老版本中使用此功能,必须下载并使用CSS3 PIE。我上面的演示不能在IE8中运行,但这只是因为jsFiddle不支持PIE.htc。

我的演示是这样的:

你可以使用半径,但它不会工作在IE: border-radius: 5px 5px;。

将元素每边的边框半径设置为50%将创建任意大小的圆形显示:

.circle {
  border-radius: 50%;
  width: 200px;
  height: 200px; 
  /* width and height can be anything, as long as they're equal */
}

.fa-circle { 颜色:番茄; } div { 字体大小:100 px; } <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/> < div > <我类=“fa fa-circle”aria-hidden = " true " > < / i > < / div >

只是想提到另一个解决方案,回答“更容易的方法创建圆div比使用图像?”这是使用FontAwesome。

你导入fontawesome css文件或从这里的CDN

然后你就:

<div><i class="fa fa-circle" aria-hidden="true"></i></div>

你可以给它任意颜色任意字体大小。