我可以仅使用背景创建箭头吗?

时间:2015-01-23 11:46:14

标签: html css css3 css-shapes

我正在寻找一种仅使用css背景创建箭头的方法。

在我的情况下,这是一个选择下拉列表,因此不能使用select不支持的伪元素。

我知道如果不能使用背景,我可以使用画布来实现这一点 - Use <canvas> as a CSS background

2 个答案:

答案 0 :(得分:5)

如果您想使用linear-gradient,可以使用background

div {
  width: 40px;
  height: 18px;
  background: linear-gradient(45deg, black 25%, transparent 25%, transparent), linear-gradient(-45deg, black 25%, transparent 25%, transparent), linear-gradient(45deg, transparent 75%, black 75%), linear-gradient(-45deg, transparent 75%, black 75%);
  background-position: 20px 0;
  background-size: 40px 35px;
}
<div></div>

如果您想要类似于大于或小于符号的内容,请使用svg

<!--'Greater than' sign-->
<svg width="40" height="50" viewBox="0 0 42 52">
  <path d="M0,0 l40,25 l-40,25" fill="none" stroke="black" />
</svg>

<!--'Less than' sign-->
<svg width="40" height="50" viewBox="0 0 42 52">
  <path d="M40,0 l-40,25 l40,25" fill="none" stroke="black" />
</svg>

<!--'Greater than' sign - Thick stroke-->
<svg width="40" height="50" viewBox="0 0 42 53">
  <path d="M0,0 l40,25 l-40,25" fill="none" stroke="black" stroke-width="3" />
</svg>

<!--'Greater than' sign - Thick stroke-->
<svg width="40" height="50" viewBox="-2 0 42 52">
  <path d="M40,0 l-40,25 l40,25" fill="none" stroke="black" stroke-width="3" />
</svg>

另外,请查看:Using svg as a background-image

答案 1 :(得分:0)

您也可以使用▼字符或

<span class="caret"></span>

- 根据要求添加

<select class="form-control">
  <option default disabled="disabled" >choose ▼</option>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>