html - 如何在标签 css 样式上添加焦点

标签 html css focus

我正在尝试制作一个看起来像按钮的元素,其中包含一个单选按钮。当用户选择一个选项时,我想在带有背景#CCC 的按钮上创建一个事件状态。

这是相关代码。

.butOption {
  display: block;
  width: 400px;
  margin: 10px auto;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.butOption:hover {
  background-color: #ccc;
}
.butOption input {
  margin: 20px;
  float: left;
  overflow: auto;
}
<label class="butOption">
  <div class="radioBut">
    <input type="radio" name="item" value="" checked />
  </div>
  <div class="text">
    <p>text</p>
    <p>text</p>
  </div>
</label>
<label class="butOption">
  <div class="radioBut">
    <input type="radio" name="item" value="" checked />
  </div>
  <div class="text">
    <p>text</p>
    <p>text</p>
  </div>
</label>

最佳答案

您可以使用 javascript 执行此操作。我仍然无法找到仅使用 CSS 和 HTML 来完成此操作的方法。

( Demo )

使用 javascript,您基本上可以捕获点击事件,然后从当前事件选项中删除 active 类,然后将 active 类添加到被点击元素的类定义中

JavaScript

document.getElementById("button1").onclick = function(){
    document.getElementsByClassName("active")[0].className = 'butOption';
    this.className += ' active';
};
document.getElementById("button2").onclick = function(){
    document.getElementsByClassName("active")[0].className = 'butOption';
    this.className += ' active';
};

CSS

.active {
    background: #CCC;
}

关于html - 如何在标签 css 样式上添加焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996585/

相关文章:

html - 我希望在选中特定单选按钮时显示隐藏的表单元素?

html - 一个 div 在另一个 div 中的垂直对齐不起作用

iphone - 列表项导航在 iPhone/iPad 上的 iOS 中的 Safari/Chrome 上不起作用

css - 堆叠在小型设备上的 Flexbox

.net - WPF中的键盘焦点与逻辑焦点

html - flex 空间之​​间不起作用

css - 如何在响应式网站中添加边距

javascript - 从 Canvas 转换后如何将图像作为表单的一部分提交?

android - 如何强制焦点编辑文本

JQuery lavalamp : Selecting focus/highlighting item within lavalamp when hyperlinks outside lavalamp bar are pressed