html - 仅在 CSS 中通过单击切换更改图标的颜色
问题描述
我正在使用此代码。我也想当它是display: block
标签的颜色发生变化时。
label.divcheck { color:blue; text-decoration:underline; }
input.divcheck { display:none; }
input.divcheck + div { display:none; }
input.divcheck:checked + div { display:block;}
<label class="divcheck" for="navigation">Button Nav</label>
<label class="divcheck" for="other">Button Other</label>
<input type="checkbox" class="divcheck" id="navigation"/>
<div class="navigation">
Foo
</div>
<input type="checkbox" class="divcheck" id="other"/>
<div class="navigation">
Other
</div>
解决方案
不使用 JavaScript 的唯一方法是解析标签元素并将它们定位在输入之后。示例如下。
label.divcheck {
color: blue;
text-decoration: underline;
}
input.divcheck {
display: none;
}
input.divcheck~div {
display: none;
}
input.divcheck:checked~div {
display: block;
}
input.divcheck:checked~label.divcheck {
color: red;
}
section {
display: flex;
}
<section>
<div>
<input type="checkbox" class="divcheck" id="other" />
<label class="divcheck" for="other">Button Other</label>
<div class="navigation">
Foo
</div>
</div>
<div>
<input type="checkbox" class="divcheck" id="navigation" />
<label class="divcheck" for="navigation">Button Nav</label>
<div class="navigation">
Other
</div>
</div>
</section>
推荐阅读
- opencv - OpenCV:识别二维图像中立方体的方向
- html - 带有粘性标题滚动问题的全屏覆盖导航栏(引导程序)?
- javascript - 如何在 ejs 文件中打印值?
- c - 如何使用 malloc 为结构数组动态分配内存?
- reactjs - 等待获取数据后如何修改数据反应axios
- mysql - Aiomysql pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1'")
- javascript - Javascript单击按钮时如何删除元素
- r - 在 R 中创建类似 sgplot 的离散热图
- javascript - 购物车功能有问题
- java - 如果用户在 android 中处于非活动状态,则发送通知