作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如何创建这样的形状以显示在网页上?
我不想使用图像,因为它们在缩放时会变得模糊
我用 CSS 试过了:
.tear {
display: inline-block;
transform: rotate(-30deg);
border: 5px solid green;
width: 50px;
height: 100px;
border-top-left-radius: 50%;
border-bottom-left-radius: 50%;
border-bottom-right-radius: 50%;
}
<div class="tear">
</div>
结果真的很糟糕。
然后我尝试使用 SVG:
<svg viewBox="0 100 100">
<polygon points="50,0 100,70 50,100 0,70"/>
</svg>
它确实得到了形状,但底部没有 flex 。
有没有办法创建这个形状以便在 HTML 页面中使用它?
最佳答案
您可以使用内联 SVG 和 <path/>
轻松实现双曲线元素而不是 <polygon/>
不允许 flex 形状的元素。
以下示例使用 <path/>
元素:
Q
开头的线)A
开头的行)<svg width="30%" viewbox="0 0 30 42">
<path fill="transparent" stroke="#000" stroke-width="1.5"
d="M15 3
Q16.5 6.8 25 18
A12.8 12.8 0 1 1 5 18
Q13.5 6.8 15 3z" />
</svg>
SVG 是制作这种双曲线形状的好工具。您可以查看 post about double curves与 SVG/CSS 比较。在这种情况下使用 SVG 的一些优点是:
浏览器支持可追溯到 Internet Explorer 9。请参阅 canIuse了解更多信息。
关于html - 如何在 HTML 中创建泪珠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30711203/
我是一名优秀的程序员,十分优秀!