html – 创建一个滚动的箭头

前端之家收集整理的这篇文章主要介绍了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>

猜你在找的HTML相关文章