Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 仅使用CSS更改选定元素的CSS样式_Jquery_Html_Css - Fatal编程技术网

Jquery 仅使用CSS更改选定元素的CSS样式

Jquery 仅使用CSS更改选定元素的CSS样式,jquery,html,css,Jquery,Html,Css,我有一个框,我想改变样式,比如当用户点击框时改变边框 我知道这可以通过JS或jQuery来完成,但这是否可以只使用CSS呢 我试着使用:focus和:active,当你点击时,它确实会改变样式,但在释放点击时,它会恢复CSS 这是我的密码: CSS: 我创作小提琴也是为了尝试: 请建议 给你: HTML 编辑:我最初删除它是因为有更好的答案。但我错了,它可以起作用。CSS中有一个复选框技巧: 这可能是因为以下几点: 复选框被隐藏。 如果单击标签,则选中复选框。原因是for=toggle-1和id

我有一个框,我想改变样式,比如当用户点击框时改变边框

我知道这可以通过JS或jQuery来完成,但这是否可以只使用CSS呢

我试着使用:focus和:active,当你点击时,它确实会改变样式,但在释放点击时,它会恢复CSS

这是我的密码:

CSS:

我创作小提琴也是为了尝试:

请建议

给你:

HTML


编辑:我最初删除它是因为有更好的答案。但我错了,它可以起作用。

CSS中有一个复选框技巧: 这可能是因为以下几点:

复选框被隐藏。 如果单击标签,则选中复选框。原因是for=toggle-1和id=toggle-1中的值相同 此声明输入[type=checkbox]:选中~.box{}与给定元素的同级元素匹配。 如果.box元素是输入的同级元素[type=checkbox]:选中,则它将与.box元素匹配 CSS:

HTML:


有关更多信息,请阅读此处:

您可以使用target,但需要创建链接


纯javascript有什么问题?不,不可能;这在JS或JQUERY中是可能的。这只有当你添加到HTML中,这样你才能在这样的文本输入中很好地工作,否则你可能会想用于任何div。这很公平,尽管它的语义非常令人不快。你能解释一下背后的原理吗?很有趣。我不知道for=something和id=something根据事件将元素绑定在一起。谢谢你的解释。
<div class="box"></div>
.box{
    width:100px;
    height:100px;
    border:2px solid #ff0000;

}

.box:active, .box:focus {
    border: 2px solid #00afec;
}
<div id='clickme'><a href="#clickme">Click Me</a></div>
#clickme{
    width:100px;
    height:100px;
    border:2px solid #ff0000;
    text-align:center;
    line-height: 100px;
}

#clickme:target
{
    background-color: red;
}
.box, .label{
    width:100px;
    height:100px;
    border:2px solid #ff0000;
    text-align:center;
    line-height: 100px;
}
.label {
    position: absolute;
    display:block; 
    border:0;
}
#toggle-1 { display:none; }


/* Toggled State */
input[type=checkbox]:checked ~ .box {
   border: 2px solid #00afec;
}
<label for="toggle-1" class="label"></label>
<input type="checkbox" id="toggle-1">
<div class="box">Click ME!!</div>