css - 将所有 div 定位到以下两层
问题描述
display: block
当用户将鼠标悬停在元素上时,我正在尝试将所有 div 设置为“以下两层” 。但是,以下代码有效,我只想针对两个向下的两个 div。我需要更新以仅针对divs
向下两层的原因,因为这是一个多级下拉菜单,因此 html 是递归生成的。
我的代码如下,有任何问题请告诉我。
const ListItem = styled(div)`
position: relative;
&:hover {
& * {
display: block;
}
}
`
... Component ....
return (
<ListItem>
<p>Example</p>
<div className='wrapper'>
// I want to set these 2 divs to `display: block`
<div style={{display: 'none'}}>
<p>One</p>
</div>
<div style={{display: 'none'}}>
<p>Two</p>
</div>
</div>
<ListItem>
);
解决方案
这应该可以解决问题
const ListItem = styled(div)`
position: relative;
&:hover {
& > .wrapper > div {
display: block;
}
}
`
推荐阅读
- java - 每次单击按钮时,Firebase 都会创建一个新对象
- docker - 发布容器(外部访问)
- scrapy - scrapy list 命令可以看到spider 但runspider 找不到?
- oracle12c - 从 Select 语句调用 Oracle 存储过程?
- bdd - 如何使用 QAF API 管理 Gherkin 中实现的步骤的响应数据?
- python - 如何在 Django 中以更新形式显示数据库中已有的数据?
- git - gitignore 所有带有扩展模式的文件
- ios - 从后台线程调用 ARKit UIView setAnimationsEnabled
- r - 双向重复测量方差分析:lm.fit() 中的错误... 0 个非 na 案例 (rstatix)
- javascript - Nightwatch - 设置和获取全局变量