如何在CSS中创建向下/向上箭头

时间:2016-01-06 00:02:36

标签: javascript jquery html css

如何在css中向下/向上创建一个箭头点?

我试图从div构建它:

.triangle_down {
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #2f2f2f;
    font-size: 0;
    line-height: 0;
    float: left;
}

结果如下:enter image description here

但我试图建立这样的东西:enter image description here

有什么建议吗?

4 个答案:

答案 0 :(得分:6)

如果您不想使用图标,可以使用:: before和::之后的伪类。

这是您在纯CSS中获得箭头的各种方法之一。

<强> HTML

<div class="arrow"></div>

CSS

.arrow {
  position: absolute;
  top: 20px;
  left: 20px;
}

.arrow::before,
.arrow::after {
  position: relative;
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: #000;
}

.arrow::before {
  transform: rotate(45deg);
}

.arrow::after {
  left: 14px;
  transform: rotate(-45deg);
}

您可以在此处找到示例:https://jsfiddle.net/f3qpujpL/2/

答案 1 :(得分:5)

我的建议是:

&#13;
&#13;
.triangle_down {
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #2f2f2f;
  font-size: 0;
  line-height: 0;
  float: left;
}
.triangle_down1 {
  position: relative;
  top: -5px;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border-right: 0.2em solid black;
  border-top: 0.2em solid black;
  transform: rotate(135deg);
  margin-right: 0.5em;
  margin-left: 1.0em;
}
 .triangle_up1 {
   position: relative;
   top: -5px;
   content: "";
   display: inline-block;
   width: 15px;
   height: 15px;
   border-right: 0.2em solid black;
   border-top: 0.2em solid black;
   transform: rotate(-45deg);
   margin-right: 0.5em;
   margin-left: 1.0em;
 }
&#13;
<div id="dialog1" class="triangle_down"></div>
<div id="dialog2" class="triangle_down1"></div>
<div id="dialog3" class="triangle_up1"></div>
&#13;
&#13;
&#13;

答案 2 :(得分:4)

你想要的是雪佛龙,而不是箭头。纯CSS解决方案:

.chevron::before {
    border-style: solid;
    border-width: 0.15em 0.15em 0 0;
    content: '';
    display: inline-block;
    height: 0.45em;
    left: 0.15em;
    top: 0.15em;
    vertical-align: top;
    width: 0.45em;
    transform: rotate(135deg);
}

查看此JSFiddle

答案 3 :(得分:2)

#uparrow:before {
    content: '\276F';
}

#downarrow:before {
    content: '\276E';
}

#uparrow, #downarrow {
    font-size: 30px;
    display: inline-block;
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    padding: 10px;
}
<span id="uparrow"></span><span id="downarrow"></span>

你可以包含像这样的unicode字符,现在几乎所有系统都使用它们。看看它在这里的样子:https://jsfiddle.net/mcdbu2pj/2/

只需找到所需的正确unicode字符即可。它们在哪个方向并不重要,因为你可以旋转它们(就像我一样)。请记住将其显示属性设置为inline-block