美女在CSS中的图标形状

时间:2015-04-14 08:53:22

标签: css icons css-shapes

如何才能在CSS中绘制这个Belle图标形状?

enter image description here

我在方形元素上尝试了border-radius但没有得到确切的角点。

4 个答案:

答案 0 :(得分:4)

好吧,为了达到确切的效果,即使我们在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>

答案 1 :(得分:3)

如果你想要精确的形状,你最好使用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)的路径

答案 2 :(得分:2)

使用带有百分比(%)单位的边框半径,而不是px单位:

div{
  height:300px;
  width:300px;
  background:tomato;
  border-radius: 45%;
  }
<div></div>


注意

可以肯定地说,我只是试图复制问题中描述的图像,因此可能不符合您所提及的“美女”的形状(我曾经认为)是一个迪士尼角色,谁会更难在css中复制。

答案 3 :(得分:0)

试试这个小提琴, Demo

.belly{
    background: #2AA55F;
    width: 200px;
    height: 200px;
    border-radius: 82px / 83px;
}