所选选项的样式背景
styling background of selected option
我在 jsfiddle 上有一个 select 框的代码:
https://jsfiddle.net/v7tqumpe/1/
我希望能够更改 selected 选项的背景颜色。它默认为蓝色,但我想更改它以及文本的颜色。经过一番搜索,我发现 selected 选项的 css 是 option:checked。所以,我尝试了这个:
.body > select > option:checked {
background: black;
color: red;
}
但是,这似乎没有任何作用,背景保持蓝色,而文本颜色保持白色。我怎样才能改变这些颜色?
此外,我想更改 background/color,因为当 selected 选项失焦时(现在,它默认为灰色背景,这在我看来非常难看)
由于似乎没有人有答案,所以我会说对我有用的,稍微hack一下。
原来操作系统设置了select选项的背景颜色,所以背景颜色不能用css改变。
然而,box-shadow 属性 是这样工作的:
.body > select > option:checked {
box-shadow: 0 0 10px 100px #00B2F3 inset;
}
它允许您设置颜色和插入,意思是只有当前选项 selected。
现在,它的工作:
https://jsfiddle.net/v7tqumpe/5/
虽然文字颜色无法更改,所以它仍然是白色。
完整代码如下:
.body > select > option {
padding-top: 1px;
cursor: default;
}
.body > select > option:checked {
box-shadow: 0 0 10px 100px #00B2F3 inset;
}
.body > select {
height: 100%;
width: calc(100% - 10px);
color: #00B2F3;
border: 1px solid #00B2F3;
padding: 0px 0px;
}
<div class="body">
<select size="7" class="form-control" id="subjects">
<option>one</option>
<option>two</option>
<option>three</option>
</select>
</div>
Complete code: Change background of selected
option
实际上,您无法为 :checked
选项元素的所有 CSS 属性设置样式。 color
, background-color
不能直接工作所以你必须使用 background
代替。
HTML:
<div class="body">
<select size="7" class="form-control" id="subjects">
<option>one</option>
<option>two</option>
<option>three</option>
</select>
</div>
CSS:
.body > select option:checked {
background: linear-gradient(0deg, black 0%, black 100%);
background: -moz-linear-gradient(0deg, black 0%, black 100%);
background: -webkit-gradient(0deg, black 0%, black 100%);
}
我在 jsfiddle 上有一个 select 框的代码: https://jsfiddle.net/v7tqumpe/1/
我希望能够更改 selected 选项的背景颜色。它默认为蓝色,但我想更改它以及文本的颜色。经过一番搜索,我发现 selected 选项的 css 是 option:checked。所以,我尝试了这个:
.body > select > option:checked {
background: black;
color: red;
}
但是,这似乎没有任何作用,背景保持蓝色,而文本颜色保持白色。我怎样才能改变这些颜色?
此外,我想更改 background/color,因为当 selected 选项失焦时(现在,它默认为灰色背景,这在我看来非常难看)
由于似乎没有人有答案,所以我会说对我有用的,稍微hack一下。 原来操作系统设置了select选项的背景颜色,所以背景颜色不能用css改变。 然而,box-shadow 属性 是这样工作的:
.body > select > option:checked {
box-shadow: 0 0 10px 100px #00B2F3 inset;
}
它允许您设置颜色和插入,意思是只有当前选项 selected。
现在,它的工作: https://jsfiddle.net/v7tqumpe/5/
虽然文字颜色无法更改,所以它仍然是白色。
完整代码如下:
.body > select > option {
padding-top: 1px;
cursor: default;
}
.body > select > option:checked {
box-shadow: 0 0 10px 100px #00B2F3 inset;
}
.body > select {
height: 100%;
width: calc(100% - 10px);
color: #00B2F3;
border: 1px solid #00B2F3;
padding: 0px 0px;
}
<div class="body">
<select size="7" class="form-control" id="subjects">
<option>one</option>
<option>two</option>
<option>three</option>
</select>
</div>
Complete code: Change background of selected option
实际上,您无法为 :checked
选项元素的所有 CSS 属性设置样式。 color
, background-color
不能直接工作所以你必须使用 background
代替。
HTML:
<div class="body">
<select size="7" class="form-control" id="subjects">
<option>one</option>
<option>two</option>
<option>three</option>
</select>
</div>
CSS:
.body > select option:checked {
background: linear-gradient(0deg, black 0%, black 100%);
background: -moz-linear-gradient(0deg, black 0%, black 100%);
background: -webkit-gradient(0deg, black 0%, black 100%);
}