javascript - 是否有可能使非子元素受到溢出隐藏的影响?如果没有,有什么解决方法?
问题描述
我正在尝试创建一个带有白色侧边栏和标题的叠加层,当扩展器开始填充屏幕时,它们开始将颜色变为黑色。扩展器从中心填充屏幕,因此标题和侧边栏的部分应为黑色,而扩展器未覆盖的部分应为白色。
到目前为止,我已经尝试在扩展器 div 内定位具有所需属性的重复标题/侧边栏,但缩放和定位最终成为一场噩梦,因为我使用 JS 在扩展器上应用变换属性,导致嵌套元素扩展也是。
我想出的当前最佳方法是以某种方式使用溢出隐藏并将侧边栏和标题放置在扩展器之外,但我现在遇到了溢出不影响重复侧边栏/标题的问题,因为它们不是孩子的扩展器。
有没有办法解决这个问题,还是我的架构不好?
编辑:添加了一些代码
Expander 位于一个名为 scroll2 的容器内。Scroll2 只是网站的第二个滚动组件。
<div id="scroll2">
<div id="scroll2Box" />
<div id="expander" />
<div id="scroll2BoxImages" />
</div>
扩展器 CSS
#expander {
position: fixed;
top: 0;
height: 100vh;
width: 100vw;
background: black;
right: 0;
z-index: 1;
transform: scale(0);
overflow: hidden;
}
Expander 的变换样式会根据用户的滚动位置而改变。
document.getElementById('expander').style.transform = 'scale(' + String(heightRatio) + ')'
我的标题和侧边栏组件完全在滚动之外,并放置在我的路由器逻辑区域中。
<Router>
<Sidebar yPosition={y} direction={direction}/>
<Header yPosition={y}/>
<div id="mainContent">
<Switch>
<Route exact path="/" component={HomePage} />
<Route path="/about" component={AboutPage} />
<Route path="/contact" component={ContactPage} />
<Route path="/products" component={ProductsPage} />
</Switch>
</div>
{/* <Footer /> not complete yet */}
</Router>
解决方案
推荐阅读
- python - 如何在python中进行加权双向固定效应回归
- bash - OSX粘贴命令不粘贴整行
- php - PDO::FETCH_GROUP 为每一行返回重复值,为什么?
- sql - 这个 SQL 查询的最佳索引是什么?
- python - 列表Python中的比较总和
- java - ServletRequest getAsyncContext() 上的 IllegalStateException
- python - 如何将python字符串转换为数组
- arrays - 如何检查多维数组是否为空
- django - 如何使用 django-partial-date 和 SelectDateWidget 管理部分日期?
- r - 运行一段代码多次更改 R 中的某些参数(如 SAS 中的宏)