微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 创建一个滚动的箭头

我试图制作一个如下所示的箭头:

然而,这是最接近的:

.button {
  margin: 4em 0;
  padding: 2em;
  width: 15%;
  margin: 0 auto;
  text-align: center;
  background-color: #000000;
  color: #ffffff;
  display: -moz-Box;
  display: -ms-flexBox;
  display: -webkit-flex;
  display: flex;
  -moz-flex-flow: row wrap;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  webkit-justify-content: center;
  justify-content: center;
}
.curved-arrow {
  display: inline-block;
  border-top: 10px solid #fff;
  border-bottom: 10px solid #fff;
  border-left: 30px solid #fff;
  border-top-right-radius: 100%;
  border-bottom-right-radius: 100%;
}
<div class="button">
  <div class="curved-arrow"></div>
</div>

这是甚么可能吗?我知道我可以使用图像,但是我的设计师使用多种颜色来使用整个网站,我宁愿只使用CSS来形状.

如果很难看到它是从左到右从上到下的平直的直线,并且曲线到右边的中间.

解决方法

SVG

CSS边框半径不会让您轻松获得准确的输出.我建议一个带有一个quadratic bezier command的路径元素的内联SVG:

svg{width:100px;}
<svg viewBox="0 0 20 8">
  <path d="M0 0 Q 30 4 0 8" />
</svg>

然后你可以用CSS填充属性来绘制箭头,看这个fiddle(注释为@Nick R的例子发表在评论中)

CSS

您还可以使用border-radius属性的2个值(请参阅MDN了解其工作原理),它很简单,但不会让箭头“点”像您的图像一样清晰:

.curved-arrow { 
  width:40px; height:25px;
  background:#000;
  border-top-right-radius:100% 50%;
  border-bottom-right-radius:100% 50%;
  
}
<div class="curved-arrow"></div>

原文地址:https://www.jb51.cc/html/224810.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐