如何为 html select 中的箭头添加填充?

Posted

技术标签:

【中文标题】如何为 html select 中的箭头添加填充?【英文标题】:How to add padding to the arrow present in html select? 【发布时间】:2021-11-19 12:20:08 【问题描述】:

我想在 html 选择中的箭头右侧添加填充 how it currently looks.

我不想改变箭头的外观。只需要右侧的填充。

这是html代码-

<div class="blood-type">
<select class="rectangle">
    <option value="" disabled selected>Select One</option>
    <option *ngFor="let bg of bgList" [value]="bg.id">bg.name</option>
</select>

我尝试向矩形类和血型类添加填充,但两者都不起作用。

.blood-type
    padding-right: 0.5rem; 

我也试过this,但文字箭头看起来不太好。如果可以使用图标,我也可以使用 arrow_drop_down 图标。

【问题讨论】:

请提供代码示例,您尝试了什么,错误是什么。查看:***.com/help/how-to-ask 和 ***.com/help/minimal-reproducible-example 我同意@kmp。请添加代码示例,以便我们评估问题所在。 你应该用div包裹select,并自定义div而不是select @kmp 感谢您的信息,更新了代码。 @YevheniiShlapak 是的,我试过了,不行。 【参考方案1】:

也许这样的事情会有所帮助:

CSS:

select 
    -webkit-appearance: none;
    appearance: none;
    border: none;

.blood-type 
    position: relative;
    border: 1px solid black;
    border-radius: 2px;
    padding: 5px;

.blood-type::after 
    content: "▼";
    font-size: 1rem;
    right: 10px;
    position: absolute;

.rectangle 
    width: 100%;

HTML:

<div class="blood-type">
    <select class="rectangle">
        <option value="" disabled selected>Select One</option>
        <option *ngFor="let bg of bgList" [value]="bg.id">bg.name</option>
    </select>
</div>

预览:

如果您有任何问题,请告诉我。

【讨论】:

我已经尝试过这个(问题中提到)。下拉菜单对我来说很奇怪。如果可能的话,我可以使用this icon 而不是普通的文本图标(“▼”)。 @AyushPatwari,当然,您只需要更改.blood-type::after 中的“内容”标签。【参考方案2】:

如果你想改变下拉箭头和边框之间的间距,你不能——它是一个内置的浏览器控件,在不同的浏览器中可能看起来完全不同。唯一的选择是从头开始编写自己的元素样式,这几乎肯定不值得麻烦。一般来说,尽量不要过于拘泥于控制用户体验的各个方面 - 不同网站之间控制的一致性有很多话要说!

【讨论】:

实际上自定义箭头没什么大不了的。这需要一些编码,但如果它使您的设计更易读、更流畅,那当然值得 我想我愿意加倍努力。各位大神能提供点好的资源吗? 那里有很多教程 - 例如W3schools 有一个。

以上是关于如何为 html select 中的箭头添加填充?的主要内容,如果未能解决你的问题,请参考以下文章

iOS UIImageView如何为圆形ImageView添加填充

如何为子菜单添加向右箭头和为子菜单添加向下箭头

如何为页面上的元素添加填充?

如何为图片库添加上一个和下一个箭头?

iOS:如何为uibezierpath中的填充设置动画?

有没有办法以编程方式向 UICollectionView 单元格添加填充?