css - CSS变量不是全局的?
问题描述
我不确定我是否理解 CSS 变量。在下面的示例中,为什么当按钮悬停在上面时 div 没有出现?
:root {
--op: hidden;
}
button:hover {
background-color: yellow;
--op: visible;
}
div {
visibility: var(--op);
width: 100px;
height: 100px;
background-color: red;
}
<button>Hover</button><div></div>
解决方案
您实际上并没有针对 hidden div
。尝试使用相邻的选择器。
相邻的兄弟组合符 (+) 分隔两个选择器,并且仅当它紧跟在第一个元素之后,并且它们都是同一个父元素的子元素时才匹配第二个元素。
:root {
--op: hidden;
}
button:hover {
background-color: yellow;
}
button:hover + div {
--op: visible;
}
div {
visibility: var(--op);
width: 100px;
height: 100px;
background-color: red;
}
<button>Hover</button><div></div>
推荐阅读
- jquery - 仅显示单击的 div,带切换
- c++ - C++ 向量初始化遗传算法的代理向量
- python - django 中的 post_save 信号 DecimalField 变为 float 类型
- javascript - prismjs:突出显示单个单词
- tfs - 让@Mention 在 TFS 2017.3 上使用 TFS 扩展
- c - C 创建 RSA 密钥对时的警告 - 随机:未初始化的 urandom 读取(读取 32 个字节)
- python - Python 计数转换并将日期聚合到月份列
- r - 用替换对 R 中数据帧的随机行进行采样
- activemq - Active MQ VirtualTopic - 即使将消息分派到所有已定义/链接的队列,消息也会保持排队
- r - R:将格式化的数据框(带自动换行)导出到 PDF **没有** Rmarkdown