我想向单选按钮的选定标签添加样式:

HTML:

<div class="radio-toolbar">
 <label><input type="radio" value="all" checked>All</label>
 <label><input type="radio" value="false">Open</label>
 <label><input type="radio" value="true">Archived</label>
</div>

CSS

.radio-toolbar input[type="radio"] {display:none;}
.radio-toolbar label {
    background:Red;
    border:1px solid green;
    padding:2px 10px;
}
.radio-toolbar label + input[type="radio"]:checked { 
    background:pink !important;
}

你知道我做错了什么吗?

推荐答案

.radio-toolbar input[type="radio"] {
  display: none;
}

.radio-toolbar label {
  display: inline-block;
  background-color: #ddd;
  padding: 4px 11px;
  font-family: Arial;
  font-size: 16px;
  cursor: pointer;
}

.radio-toolbar input[type="radio"]:checked+label {
  background-color: #bbb;
}
<div class="radio-toolbar">
  <input type="radio" id="radio1" name="radios" value="all" checked>
  <label for="radio1">All</label>

  <input type="radio" id="radio2" name="radios" value="false">
  <label for="radio2">Open</label>

  <input type="radio" id="radio3" name="radios" value="true">
  <label for="radio3">Archived</label>
</div>

首先,您可能希望在单选按钮上添加name属性.否则,它们不属于同一组,并且可以选中多个单选按钮.

此外,由于我将标签作为sibling (单选按钮的sibling )放置,我必须使用idfor属性将它们关联在一起.

Html相关问答推荐

为什么这个高度为100%的页面会出现滚动条?

动态FormControl值在Angular 上绑定错误的问题

为所有必填字段添加所需的占位符文本(Angular Material)

HTML+CSS+JS动态选中文本高亮 colored颜色 变化

如何在伪元素背景中定位多个CSS径向梯度

如何在html和css中创建动态调整大小的表元素

我怎样才能有一个div,在其中放置一个消息,打破和不go 的div?

在悬停时应用文本装饰

如何将CSS滤镜仅应用于背景图像

在弹性框布局中的第n个元素后强制换行

有没有一种方法可以很容易地将这个div从底部:0转换到顶部:0?

CSS:双面元素未正确显示边框

停止 Bootstrap 5 输入调整 CSS 网格单元的高度

将组件移动到页面底部 Angular

在 CSS 中的 div 中获取文本以环绕其他文本?

pandas `to_html()` - 如何只使特定的行有边框

单击时 HTML 锚元素不重定向到相对路径

项目的水平列表:倒数第二个项目居中,而最后一个项目占据所有剩余空间

圆形边框显示在该部分后面.怎么修?

禁用的 Select 标签没有在 chrome 上的 css 中指定的 colored颜色