【问题标题】:How to add padding to the arrow present in html select?如何为 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 图标。

【问题讨论】:

标签: html css html-select


【解决方案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 有一个。
猜你喜欢
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
相关资源
最近更新 更多