Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML CSS:选择该选项时更改标签的颜色_Html_Css - Fatal编程技术网

HTML CSS:选择该选项时更改标签的颜色

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

我想在html中设置select标记的标签样式。当用户没有选择任何 选项时,标签的颜色应为白色。如果用户选择了选项,则标签应切换为白色

html代码:

    <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;}