HTML CSS:选择该选项时更改标签的颜色
我想在html中设置select标记的标签样式。当用户没有选择任何 选项时,标签的颜色应为白色。如果用户选择了选项,则标签应切换为白色 html代码:HTML CSS:选择该选项时更改标签的颜色,html,css,Html,Css,我想在html中设置select标记的标签样式。当用户没有选择任何 选项时,标签的颜色应为白色。如果用户选择了选项,则标签应切换为白色 html代码: <label class="titel" for="titel">Titel:</label> <select class="titel" name="titel"> <option value=""></option> <opt
<label class="titel" for="titel">Titel:</label>
<select class="titel" name="titel">
<option value=""></option>
<option value="Proffessor">Prof.</option>
<option value="Doctor">Dr.</option>
</select>
我试过了,但没有成功:
select.titel:checked + label.titel{color: black;}
我搜索并发现:checked伪类对于这类任务很有帮助。选中该选项时,我可以更改单选按钮或复选框的标签颜色,但不能更改选择标记的标签颜色
提前谢谢你的帮助
编辑:为了更清楚,正如@Rembrand Reyes在一篇评论中提到的那样,“当为空时下拉列表的标题将显示为白色,但当用户选择标题时,它将标签颜色为黑色?”选中的伪选择器仅适用于输入无线电和复选框元素。当应用到option元素而不是select元素时,它可能在某些浏览器中工作,但据我所知,没有办法在所有浏览器中实现您想要的功能
不过,使用javascript可能是可行的。选中的伪选择器仅适用于输入无线电和复选框元素。当应用到option元素而不是select元素时,它可能在某些浏览器中工作,但据我所知,没有办法在所有浏览器中实现您想要的功能
但是,使用javascript可能是可行的。正如@Peter M的评论中所述,您不能使用“+”选择以前的兄弟姐妹。您可以使用Javascript为选择选项的label onchange添加CSS样式,如下所示:
window.onload=function(){
var eSelect=document.getElementById('title');
var opther=document.getElementById('title-label');
eSelect.onchange=函数(){
optOther.style.color='黑色';
}
}
.titel
{
颜色:白色;
}
滴度:
>
教授。
博士
如上@Peter M的评论所述,您不能使用“+”选择上一个兄弟姐妹。您可以使用Javascript为选择选项的label onchange添加CSS样式,如下所示:
window.onload=function(){
var eSelect=document.getElementById('title');
var opther=document.getElementById('title-label');
eSelect.onchange=函数(){
optOther.style.color='黑色';
}
}
.titel
{
颜色:白色;
}
滴度:
>
教授。
博士
如果我理解正确的话。“空白时”下拉列表将标题显示为白色,但当用户选择标题时,它将标签颜色设置为黑色?@RembrandtReyes!抱歉,如果此问题不清楚,请编辑您的问题以使其更清楚。如果没有支持此问题的方法,您使用的+
将选择下一个同级,而不是上一个同级。为了达到你想要的,你应该改变你的htmlSo,如果我理解正确的话。“空白时”下拉列表将标题显示为白色,但当用户选择标题时,它将标签颜色设置为黑色?@RembrandtReyes!抱歉,如果此问题不清楚,请编辑您的问题以使其更清楚。如果没有支持此问题的方法,您使用的+
将选择下一个同级,而不是上一个同级。为了实现你想要的,你应该修改你的html
select.titel:checked + label.titel{color: black;}