我想在我的选择中添加一个字体很棒的箭头,但:after
选择器似乎没有被应用:
由于某种原因,焦点没有得到应用。
select {
border: 1px solid #727272;
-webkit-appearance: none;
border-radius: 0;
width: 50%;
padding: 10px;
}
.select:after {
content: "\F0DA";
font-family: FontAwesome;
font-size: 20px;
color: black;
}
select:focus: {
outline: 3px solid #ffbf47 !important;
outline-offset: 0;
}
<div>
<select class="select">
<option>One</option>
<option>Two</option>
</select>
</div>
答案 0 :(得分:2)
正如我在评论中所说,你不能在pseudo
上使用select
而是用div
包裹您的选择,然后在其上使用pseudo
。
select {
border: 1px solid #727272;
-webkit-appearance: none;
border-radius: 0;
width: 100%;
padding: 10px;
}
.select-option {
position: relative;
width: 50%;
}
.select-option::after {
content: "\F0DA";
font-family: FontAwesome;
font-size: 20px;
color: black;
position: absolute;
right: 10px;
top: 7px;
}
select:focus {
outline: 3px solid #ffbf47 !important;
outline-offset: 0;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<div class="select-option">
<select class="select">
<option>One</option>
<option>Two</option>
</select>
</div>
如果您想在选择中使用此箭头而不是默认select option
箭头,则需要为position: absolute
元素设置::after
。
.select-option::after {
content: "\F0DA";
font-family: FontAwesome;
font-size: 20px;
color: black;
position: absolute;
right: 10px;
top: 7px;
}
不要忘记在父position: relative
上设置.select-option
,我会稍微更改您的代码,以便将width: 50%
移至parent
并在width: 100%
上设置select
{1}}。
请注意,正确的是::after
而不是:after
。 CSS3
引入了::after
符号(带有两个冒号)来区分伪类和伪元素。浏览器也接受:after
中引入的CSS2
。
更多信息here。
最后一句话是,这是一个常见问题,您无法在::after
上设置::before
或select option
可能有很多主题与此标题,谷歌,stackoverflow等..无论如何。