html - 如何使用背景/线性渐变组合创建细箭头?
问题描述
我想使用 background-image 道具而不是像 :after/:before 这样的伪元素,除非这是首选方式。这是我到目前为止所拥有的:
.container select {
background: linear-gradient(45deg, #fff 50%, transparent 0),
linear-gradient(-45deg, #fff 50%, transparent 0),
linear-gradient(45deg, #444 53%, transparent 0),
linear-gradient(-45deg, #444 53%, transparent 0);
background-repeat: no-repeat;
}
它是一个箭头,但它根本没有正确定位,我似乎根本无法让它真正移动background-position
。另一件事是有办法调整这个大小吗?
我注意到的另一件事是箭头有一些不光滑的边缘。看起来它是用记号笔写的,而边缘没有“写”。
.selectContainer {
background-image: linear-gradient(45deg, #f8f8f8 50%, transparent 0),
linear-gradient(-45deg, #f8f8f8 50%, transparent 0),
linear-gradient(45deg, #444 53%, transparent 0),
linear-gradient(-45deg, #444 53%, transparent 0);
background-repeat: no-repeat;
background-color: #f8f8f8;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
position: relative;
cursor: pointer;
padding: 10px;
width: 100px;
outline: none;
}
<select type="text" class="selectContainer">
<option value="">state</option>
</select>
解决方案
我认为%
在你的单位中使用linear-gradient
会导致像素舍入,并使箭头边缘看起来很粗糙。
相反,您可以使用px
. 您可以通过调整值来调整箭头的大小。
要重新定位,请使用该background-position
属性。
.selectContainer {
background-image: linear-gradient(45deg, #f8f8f8 46px, transparent 0),
linear-gradient(-45deg, #f8f8f8 46px, transparent 0),
linear-gradient(45deg, #444 50px, transparent 0),
linear-gradient(-45deg, #444 50px, transparent 0);
background-repeat: no-repeat;
background-color: #f8f8f8;
background-position: -25px -5px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
position: relative;
cursor: pointer;
padding: 10px;
width: 100px;
outline: none;
}
<select type="text" class="selectContainer">
<option value="">state</option>
</select>
推荐阅读
- mongodb - MongoDB 索引 - 具有高读写比的集合的性能注意事项
- powershell - 是否可以使用没有 SMTP 的 Powershell 通过电子邮件发送附件?
- typo3 - Typo3 - 如何在 TCA MM 表中添加动态值
- php - 4 PHP 脚本删除具有指定扩展名和前缀的超过 21 天的文件和文件夹
- blazor - 如何访问 EditForm 中单个字段的验证?
- c# - vsix 模板中对多个运行时 .NET Core 的交互式窗口支持
- java - 在 Android 上保存文件时防止扩展前缀 (1)
- flutter - RangeError(索引):无效值:有效值范围为空:flutter Firestore中的0
- javascript - 反应:表单元素的状态在单击按钮时设置为默认值,页面在交互后重新呈现并单击按钮
- coordinates - Amazon Textract 边界框坐标为特定块更改