Css 如何更改a";“颜色”;单击时的名称';s按钮?
我希望根据单击的色样按钮显示Css 如何更改a";“颜色”;单击时的名称';s按钮?,css,sass,Css,Sass,我希望根据单击的色样按钮显示$colors名称。下面是显示色样按钮的代码,但我不确定如何根据单击的内容更改$colors名称。许多大品牌零售商的网站上都有这样的例子。改变颜色时我希望发生的事情。在本例中,在颜色之间切换时,名称从“金色”更改为“灰褐色” $colors: ( 'color-Navy' #2D2F3C, 'color-Ash' #EEF0F2, 'color-Black'
$colors
名称。下面是显示色样按钮的代码,但我不确定如何根据单击的内容更改$colors
名称。许多大品牌零售商的网站上都有这样的例子。改变颜色时我希望发生的事情。在本例中,在颜色之间切换时,名称从“金色”更改为“灰褐色”
$colors: (
'color-Navy' #2D2F3C,
'color-Ash' #EEF0F2,
'color-Black' #060606,
'color-White' #F6F6F6,
'color-Charcoal' #59545A,
);
@each $color in $colors {
$colorName: nth($color, 1);
$bgColor: nth($color, 2);
#ProductSelect-option-#{$colorName} + label {
background-color: $bgColor;
color: $bgColor;
width: 50px;
height: 50px;
overflow: hidden;
border-radius: 25px;
margin: 5px;
text-indent: 100%;
white-space: nowrap;
}
#ProductSelect-option-#{$colorName}:checked + label {
border-color: #555;
border-width: 3px;
}
}
假设CSS选择器正确,只需为
#ProductSelect-option-#{$colorName}:checked + label
例如:
#ProductSelect-option-#{$colorName}:checked + label {
color: $colorName;
}
只要选中相应的复选框,就会更新
的颜色。由于使用了:checked
伪类,当复选框未选中时,这也将更改回原色
我还注意到选择器中有变量名。虽然这很好,但这可能不是故意的。这里的键是:选中+标签
;只要您正确地定位复选框,上面的选择器将定位下一个
假设您的CSS选择器正确,您只需为其设置颜色
#ProductSelect-option-#{$colorName}:checked + label
例如:
#ProductSelect-option-#{$colorName}:checked + label {
color: $colorName;
}
只要选中相应的复选框,就会更新
的颜色。由于使用了:checked
伪类,当复选框未选中时,这也将更改回原色
我还注意到选择器中有变量名。虽然这很好,但这可能不是故意的。这里的键是:选中+标签
;只要您正确地定位复选框,上面的选择器将定位下一个看起来不像CSS的
。这是Sass吗?看起来不像CSS。这是Sass吗?用单选按钮会更好吗?我的意思是,不完全确定行为,但考虑到一次只能选择一个,这取决于期望的行为,但这肯定是可能的。事实上,它甚至使用了相同的:checked+label
语法!请看一个例子:)太棒了,谢谢,再次阅读OP的问题。然而,我认为它的目的是显示名称本身,比如如果你选择第一种颜色,它应该在跨度上显示“Navy”或类似的内容。我认为您所做的只是将标签文本的颜色更改为变量中的颜色,使用单选按钮会更好吗?我的意思是,不完全确定行为,但考虑到一次只能选择一个,这取决于期望的行为,但这肯定是可能的。事实上,它甚至使用了相同的:checked+label
语法!请看一个例子:)太棒了,谢谢,再次阅读OP的问题。然而,我认为它的目的是显示名称本身,比如如果你选择第一种颜色,它应该在跨度上显示“Navy”或类似的内容。我认为您所做的只是将标签文本的颜色更改为变量中的颜色