当项目被点击改变背景颜色- CSS(没有jQuery)
When item is clicked change background color - CSS (Without jQuery)
我正在尝试添加此功能,当"。点击"图标"时,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>
有…您只需要一个触发器,如单选按钮或复选框。结合不同的选择器…例子:
checkbox:checked ~ div {
background-color: green;
}
但是你需要使用display:none来隐藏复选框
相关文章:
- 有没有一种方法可以防止img get请求使用css或js发生
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- 使用JS&HTML作品,JS&CSS没有'不总是
- jquery css没有'我的情况不太好
- CSS没有'使用javascript向页面动态添加元素时无法工作
- 为什么不'当我用JavaScript更改类时,CSS没有动画
- jQuery.CSS没有更新背景
- CSS 没有格式化 ActionLinks
- 为什么我的 CSS 没有打印
- Pnotify-javascript正在工作,css没有
- 在Chrome中,jQuery.css没有正确更改字体大小
- CSS没有在我的Angular项目中应用
- CSS没有在macossafari和chrome上正确加载
- Css:没有<表格>的画廊视图
- 当项目被点击改变背景颜色- CSS(没有jQuery)
- 日期选择器CSS没有正确加载
- Angular2组件样式/css没有被浏览器应用在ngafterviewit中
- Css没有使用JS动态应用
- 移动CSS没有按预期显示
- JQuery与浏览器中的CSS没有链接