javascript - <button> 在 HTML 中单击时改变颜色?

标签 javascript html css button colors

如何使按钮在单击时变为另一种颜色,再次单击时又恢复为原来的颜色?我可以使用 CSS 还是必须使用 Javascript?

提前致谢

这是我的按钮的 HTML 代码。

<div class="H1toH5">
  <button class="seatButton">H1</button>
  <button class="seatButton">H2</button>
  <button class="seatButton">H3</button>
  <button class="seatButton">H4</button>
  <button class="seatButton">H5</button>
</div>

最佳答案

纯CSS

  1. 将您的按钮更改为另一个元素(如span)
  2. 使用标签复选框来控制切换状态
  3. 使用 :checked CSS 选择器和 + 兄弟选择器

.H1toH5 input { display: none; }
.H1toH5 .seatButton { padding: 5px; border: 1px solid #ccc; background: yellow; }
.H1toH5 input:checked + .seatButton { background: red; }
<div class="H1toH5">
  <label>
    <input type="checkbox" />
    <span class="seatButton">H1</span>
  </label>
  <label>
    <input type="checkbox" />
    <span class="seatButton">H1</span>
  </label>
  <label>
    <input type="checkbox" />
    <span class="seatButton">H1</span>
  </label>
  <label>
    <input type="checkbox" />
    <span class="seatButton">H1</span>
  </label>
  <label>
    <input type="checkbox" />
    <span class="seatButton">H1</span>
  </label>
</div>

关于javascript - <button> 在 HTML 中单击时改变颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30430540/

相关文章:

javascript - node.js/socket.io如何分离html的javascript?

css - 更改 CSS flex 方向

html - flex 容器 css 的行线

javascript - Jquery 调整大小延迟

javascript - 映射 Javascript 数组并将其中的对象转换为特定格式?

html - div 不跨越页面宽度

html - 我将鼠标悬停在一个 p 上,但所有 p 都改变了背景,我在这里做错了什么?

javascript - 如何将点击事件附加到以编程方式创建的 jquery 对象?

javascript - 如何使用 Node.JS 为静态文件创建文件夹?

javascript - 平滑滚动不起作用,为什么?