javascript - 单击元素时更改背景颜色 - CSS(无 jQuery)

标签 javascript jquery html css

<分区>

我正在尝试添加此功能,当单击“.icon”时,hr 元素的背景颜色应从灰色变为白色,并在其处于事件状态时保持白色。

再次按下它应该变回灰色。

我已经使用 jQuery 实现了这一点 - 有没有一种方法可以使用纯 CSS 实现这一点?

代码在这里:https://jsfiddle.net/e3ux2ffb/

CSS: *

{
                margin:0 auto;
                padding:0px;
            }
            .top {
                background-color:black;
                width: 100%;
                height: 60px;
            }
            .icon {
                width: 28px;
                border:1px solid gray;
                padding:5px;
                float:right;
                position:relative;
                top:50%;
                -webkit-transform: translateY(-50%);
                margin-right:10px;

            }


            .icon hr:not(:first-child) {
                margin-top:5px;
            }

            .icon hr {
                height: 2px;
                background-color:gray;
                border:0px;
            }

            .icon:hover {
                cursor:pointer;
            }

            .icon:active, .icon:focus {
                background-color:white;
            }

HTML:

<div class="top">
            <div class="icon">
                <span><hr><hr><hr></span>
            </div>
        </div>

最佳答案

对于纯 CSS,有一个复选框和 :checked 伪元素的技巧。

查看它的工作情况:https://jsfiddle.net/e3ux2ffb/3/

CSS

 input[type=checkbox] { display: none; }
 input[type=checkbox]:checked + label { background:white;}

HTML

  <div class="top">
       <input type="checkbox" id="chckbx">
       <label for="chckbx" class="icon">
            <span><hr><hr><hr></span>
       </label>
  </div>

关于javascript - 单击元素时更改背景颜色 - CSS(无 jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32719020/

相关文章:

javascript - 如何在 javascript 中获取具有 3 个选项的输入单选按钮的值?

javascript - 我怎样才能让机器人很难玩乘法俄罗斯方 block 游戏?

javascript - Webpack 抛出意外的 token 错误

javascript - javaScript 中的这种模式是什么,我在哪里可以阅读更多相关信息

php - 未捕获的语法错误 : Unexpected token ILLEGAL

javascript - 针对 Vanilla JS 中的下一个 sibling 的 parent 元素

javascript - Twilio.Device.setup 无权访问用户的麦克风?

javascript - ext.js 5.0.0 图片按钮

javascript - 在 jquery 中不使用 ID 更改文本框的背景颜色

html - 如何使用 CSS 为部分提供不随页面滚动的背景?