javascript - 如何在某个容器中但相对于屏幕显示的 div 上应用 css
问题描述
我创建了我的自定义模态,位置:固定并将此模态用于内容,但它不适用于屏幕其显示位置:相对于内容固定如何在屏幕中心的中心制作模态?
modal 被导入到内容中。
其中导航位置是固定的侧边栏位置是固定的内容位置是相对的并且模态位置已经固定但是模态的这个固定位置取它的父级而不是正文
问题:Modal 相对于其父级采用固定位置,但我需要针对 HTML body 标记应用模态。有什么方法可以应用这个吗?
不能将 modal 直接放到 body 中,因为它的创建方式是它会在哪里放置,它会自动用于绘制 wrto body
也使用父选择器
.overlay{
animation: ${fadeIn} 200ms ease-out;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999;
background-color: ${(props) => props.theme.palette.greyScale[9]};
}
body < parent(body) {
position:relative;
}
不起作用。
这是结构:
解决方案
我认为布局不正确。我建议以下布局和样式。把所有东西都放在一个容器里。我创建了一个带有示例布局的 jsfiddle。请看一看。让我知道是否有任何疑问
.container {
background: lightgray;
width: 100vw;
height: 100vh;
float: left;
display: block;
position: relative;
}
.nav-bar {
widows: 100%;
height:20%;
background: gray;
}
.side-bar {
width:20%;
height: calc(100% - 20%);
float: left;
background: lightblue;
}
.content {
width: calc(100% - 20%);
background: red;
float: left;
height: calc(100% - 20%);
}
.modal {
position: fixed;
width: 200px;
height: 150px;
background: green;
transform: translate(-50%, -50%);
left: 50%;
top: 50%;
}
<div class="container">
<div class="nav-bar">
NavBar
</div>
<div class="side-bar">Side Bar</div>
<div class="content">
Content
<div class="modal">
Modal
</div>
</div>
</div>
推荐阅读
- mobx - 无法将引用“801214578”解析为类型“AnonymousModel”mobx-state-tree
- dashboard - Cognos Dashboard:从两个数据集创建查询
- python - 为一个函数设置多个名称
- javascript - 从单个 Firebase Firestore 文档中获取值
- mysql - RUNAS 错误:1327:登录失败:用户帐户限制
- jmeter - jmeter 中的 xml 响应显示 html 标记如何将其转换为正确的 xml
- python - 如何确保在子进程完成之前其余代码不会运行?
- flutter - VS Code dart 小部件包装器无法正常工作
- highcharts - Highcharts (styledMode): filter: url(#drop-shadow not working
- python - 找不到满足要求的版本 snowflake-connector-python==2.3.6