仅使用HTML和CSS的弯曲帆形状?

时间:2012-04-05 09:00:35

标签: css css3 shape css-shapes

是否可以仅使用HTML和CSS创建下面的弯曲帆形状?

sail shape

我可以从this answer看到我可以使用以下方式创建一个直边帆:

#triangle {
    width: 0;
    height: 0;
    border-right: 50px solid transparent;
    border-bottom: 100px solid red;
}

看起来像:

straight sided sail

或者我可以更接近边界半径:

#sail {
    background: #ff0000;
    width: 50px;
    height: 100px;
    border-top-right-radius: 50px 100px;
    -moz-border-radius-topright: 50px 100px;
    -webkit-border-top-right-radius: 50px 100px;
    -khtml-border-radius-topright: 50px 100px;
}

看起来像这样:

curved sail shape

但并不像我真的那么优雅。顶部的帆形图像具有柔和优雅的曲线。

不使用图片我能做得更好吗?

2 个答案:

答案 0 :(得分:3)

我尝试自己可能就是你想要的。

.sail{
    width: 50px;
    height: 100px;
    position:relative;
    overflow:hidden;
}
.sail:after{
    width:200px;
    height:200px;
    content:'';
    position:absolute;
    right:0;
    top:-5px;
    -moz-border-radius:100px;
    border-radius:100px;
    background: #ff0000;
}

检查此http://jsfiddle.net/wtENa/

答案 1 :(得分:0)

我们可以使用radial-gradient()绘制此形状:

div {
  background: radial-gradient(200px at -50px 100%, red 50%, transparent 50%);
}

div {
  background: radial-gradient(200px at -50px 100%, red 50%, transparent 50%);
  height: 100px;
  width: 50px;
}
<div>

</div>