gpt4 book ai didi

html - 具有多个标签的已选中单选按钮的 CSS

转载 作者:可可西里 更新时间:2023-11-01 12:58:42 27 4
gpt4 key购买 nike

选中此单选按钮时,单选按钮上的第二个标 checkout 现 CSS 问题。我已经发现可以在标签标签中使用“for”来创建第二个(和第三个)标签。不可能将所有内容都分组到一个标签中。

选中单选按钮时如何更改第二个标签的背景?

我的(简化的)代码如下,第一个标签有效,第二个标签无效。

.radioclass:checked + label {
background-color: cyan;
}
<div class="row">
<div class="col-sm-4">
<input class="radioclass" id="id_radiobtn1" type="radio" name="radiobtn1" value="1">
<label for="id_radiobtn1">first label</label>
</div>
<div class="col-sm-4">
<label for="id_radiobtn1">second label</label>
</div>
</div>

最佳答案

css 中的 + 选择器表示“直接兄弟”,即输入后的下一个元素必须是标签。这只会选择直系 sibling 。

另一种方法是 ~,这意味着“任何兄弟”并在输入后定位任何标签。

在这两种情况下,元素(输入和标签)都在相同的 dom 级别。没有办法遍历向上 dom,捕获同胞,然后是标签——这就是你试图用提供的 html 做的。

如果您能够更改 html,则要么将输入放在两个 div 之外,要么将两个 label 放在同一个 div(输入后)。

.radioclass:checked ~ div label {
background-color: cyan;
}
<div class="row">
<input class="radioclass" id="id_radiobtn1" type="radio" name="radiobtn1" value="1">
<div class="col-sm-4">
<label for="id_radiobtn1">first label</label>
</div>
<div class="col-sm-4">
<label for="id_radiobtn1">second label</label>
</div>
</div>

.radioclass:checked ~ label {
background-color: cyan;
}
<div class="row">
<div class="col-sm-4">
<input class="radioclass" id="id_radiobtn1" type="radio" name="radiobtn1" value="1">
<label for="id_radiobtn1">first label</label>
<label for="id_radiobtn1">second label</label>
</div>
</div>

如果您不能更改 html,那么 JS 是唯一的其他方法(出于演示目的,我已将输入更改为复选框):

$('input').on('change', function(){
var func = 'removeClass';
if($(this).is(':checked')) {
func = 'addClass';
}

$('label[for="'+$(this).attr('id')+'"]')[func]('checked');
});
label.checked {
background-color: cyan;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="row">
<div class="col-sm-4">
<input class="radioclass" id="id_radiobtn1" type="checkbox" name="radiobtn1" value="1">
<label for="id_radiobtn1">first label</label>
</div>
<div class="col-sm-4">
<label for="id_radiobtn1">second label</label>
</div>
</div>

关于html - 具有多个标签的已选中单选按钮的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45029617/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com