条件 CSS 样式可以基于其他 CSS 样式吗?
Can conditional CSS style be based on other CSS style?
我的复选框在选中时会更改标签颜色。它在我的样式表中定义如下:
:checked + label {color: white;}
但是,我的某些复选框具有轮廓样式。
outline = "1px solid"
我希望将这些勾勒出轮廓的复选框更改为蓝色而不是白色。
:checked (AND CHECKBOX HAS OUTLINE) + label {color: blue;}
有没有办法在我的样式表中执行此操作?
PS:
大纲已应用于具有 javascript 功能的特定复选框。
if (n !== -1) {
document.getElementById(id).style.outline = "1px solid";}
这是一个fiddlehttp://jsfiddle.net/dmbsqzkn/1/
您可以将 CSS 用于 select 样式 属性 的唯一方法是将样式声明为内联。例如
HTML:
<input type="checkbox" style="outline: '1px solid';"></input>
CSS:
input:checked[style="outline: '1px solid';"] + label
{
color: blue;
}
显然内联样式不受欢迎,因为它们会混淆您的代码并在以后对样式进行调整很痛苦。这是使用 CSS 可以做到的唯一方法。将单独的 class 应用于这些元素很可能更容易、更正确。
请参阅此 post Advanced CSS Selector - Select based on styling 了解更多信息。
我建议您将大纲样式移动到 class 选择器中。
.outline {
outline: 1px solid;
}
:checked + label {
color: red;
}
.outline:checked + label {
color: green;
}
<input type="checkbox" class="outline"/><label>green</label>
<input type="checkbox"/><label>red</label>
我的复选框在选中时会更改标签颜色。它在我的样式表中定义如下:
:checked + label {color: white;}
但是,我的某些复选框具有轮廓样式。
outline = "1px solid"
我希望将这些勾勒出轮廓的复选框更改为蓝色而不是白色。
:checked (AND CHECKBOX HAS OUTLINE) + label {color: blue;}
有没有办法在我的样式表中执行此操作?
PS: 大纲已应用于具有 javascript 功能的特定复选框。
if (n !== -1) {
document.getElementById(id).style.outline = "1px solid";}
这是一个fiddlehttp://jsfiddle.net/dmbsqzkn/1/
您可以将 CSS 用于 select 样式 属性 的唯一方法是将样式声明为内联。例如
HTML:
<input type="checkbox" style="outline: '1px solid';"></input>
CSS:
input:checked[style="outline: '1px solid';"] + label
{
color: blue;
}
显然内联样式不受欢迎,因为它们会混淆您的代码并在以后对样式进行调整很痛苦。这是使用 CSS 可以做到的唯一方法。将单独的 class 应用于这些元素很可能更容易、更正确。
请参阅此 post Advanced CSS Selector - Select based on styling 了解更多信息。
我建议您将大纲样式移动到 class 选择器中。
.outline {
outline: 1px solid;
}
:checked + label {
color: red;
}
.outline:checked + label {
color: green;
}
<input type="checkbox" class="outline"/><label>green</label>
<input type="checkbox"/><label>red</label>