CSS 中的美女图标形状
Belle icon shape in CSS
如何只在 CSS 中绘制这个美女图标形状?
我在方形元素上尝试了 border-radius,但没有得到准确的角。
使用百分比 (%
) 单位的边框半径,而不是 px
单位:
div{
height:300px;
width:300px;
background:tomato;
border-radius: 45%;
}
<div></div>
注意
可以肯定地说,但是,我只是试图复制问题中描述的图像,因此可能不符合您提到的 'belle' 的形状(其中我曾经认为是迪士尼角色,在 css) 中很难复制。
试试这个 fiddle,
Demo
.belly{
background: #2AA55F;
width: 200px;
height: 200px;
border-radius: 82px / 83px;
}
嗯,为了达到准确的效果,即使在border-radius
上使用百分比,也不能依赖单一元素。
因此,一种选择是使用两个(伪)元素相互重叠,其中一个元素旋转 90deg
:
div {
width: 300px;
height: 300px;
/* Just for demo */
width: 95vmin; height: 95vmin;
position: relative;
}
div:after, div:before {
content: "";
background: teal;
position: absolute;
top: 0;
left: 8%;
right: 8%;
bottom: 0;
border-radius: 50% / 22%;
}
div:before {
transform: rotate(-90deg); /* vendor prefixes omitted due to brevity */
}
<div></div>
如果您想要精确的形状,最好使用 SVG。参见示例:
<svg version="1.1" height="200" width="200" viewBox="0 0 30 30">
<path d="M15 0 Q0 0 0 15 T15 30 30 15 15 0" fill="#249B57" stroke="none" />
</svg>
这使用二次贝塞尔曲线 (Q) 的路径
如何只在 CSS 中绘制这个美女图标形状?
我在方形元素上尝试了 border-radius,但没有得到准确的角。
使用百分比 (%
) 单位的边框半径,而不是 px
单位:
div{
height:300px;
width:300px;
background:tomato;
border-radius: 45%;
}
<div></div>
注意
可以肯定地说,但是,我只是试图复制问题中描述的图像,因此可能不符合您提到的 'belle' 的形状(其中我曾经认为是迪士尼角色,在 css) 中很难复制。
试试这个 fiddle, Demo
.belly{
background: #2AA55F;
width: 200px;
height: 200px;
border-radius: 82px / 83px;
}
嗯,为了达到准确的效果,即使在border-radius
上使用百分比,也不能依赖单一元素。
因此,一种选择是使用两个(伪)元素相互重叠,其中一个元素旋转 90deg
:
div {
width: 300px;
height: 300px;
/* Just for demo */
width: 95vmin; height: 95vmin;
position: relative;
}
div:after, div:before {
content: "";
background: teal;
position: absolute;
top: 0;
left: 8%;
right: 8%;
bottom: 0;
border-radius: 50% / 22%;
}
div:before {
transform: rotate(-90deg); /* vendor prefixes omitted due to brevity */
}
<div></div>
如果您想要精确的形状,最好使用 SVG。参见示例:
<svg version="1.1" height="200" width="200" viewBox="0 0 30 30">
<path d="M15 0 Q0 0 0 15 T15 30 30 15 15 0" fill="#249B57" stroke="none" />
</svg>
这使用二次贝塞尔曲线 (Q) 的路径