html - 使模态填充整个父 div
问题描述
我试图让模态填充父 div,当我给它绝对位置和相对父位置时,它只是推动了其他元素,由于某种原因没有超过它们。尝试将高度设置为 100%,宽度相同,父标签是主标签,
我希望模态框从页眉到页脚打开,并获得一个 z-index,因此它是可点击的,其他元素留在它后面直到再次关闭且不显示
我如何让它超越其他元素?
body {
width: 100vw;
height: 100vh;
text-align: center;
display: flex;
flex-direction: column;
margin: 0;
font-family: sans-light;
}
.upload-modal {
position: absolute;
height: 100%;
width: 100%;
z-index: 1001;
}
main {
flex: auto;
background-color: #f3f0ec;
overflow-y: auto;
overflow-x: hidden;
position: relative;
}
<nav>
<div class="logo"></div>
<section class="user-options">
<a href="" class="sign-up">Sign Up</a>
<a href="" class="login">Login</a>
</section>
</nav>
<header>
<h1>Meme Generator</h1>
<p>Create a meme from JPG, GIF or PNG images. Edit your image and make a meme. </p>
</header>
<main>
<section class="upload">
<div class="upload-btn-wrapper">
<button class="btn">Upload a file</button>
<input type="file" name="myfile" />
</div>
<p>Or</p>
</section>
<button class="meme-template">
Select meme template
</button>
<section class="meme-template-modal hide">
<div class="images-container">
</div>
</section>
<section class="upload-modal hide">
<div class="user-panel">
<h2>Meme editor</h2>
<section class="user-controls">
<button> Add Text</button>
<button> Add Image</button>
<button class="generate">Generate meme</button>
</section>
</div>
<canvas></canvas>
</section>
</main>
解决方案
如果您所做的只是添加position: absolute;
到一个元素,那还不会影响它将出现的位置。position: absolute;
除非您指定相对于下一个定位的祖先的位置,否则它将简单地出现在它不应该出现的位置。
要指定(并使其完全拉伸),请添加位置:
.upload-modal {
bottom: 0;
left: 0;
position: absolute;
right: 0;
top: 0;
z-index: 1001;
}
推荐阅读
- database - 任何用于颤振而不是 sqflite 的替代 SQL
- ubuntu - 只有一个字符的差异
- python-3.x - 尝试在 Pycharm 中安装 Scrapy,不断出现错误:命令“python setup.py egg_info”失败,错误代码为 1
- css - 按钮中倾斜的伪元素周围的奇怪轮廓
- c - 如何在 Visual Studio 代码中添加 gtk lib?
- rest - 路径参数的语义招摇错误
- flutter - Flutter for Web - 有没有办法实现类似桌面的文本框?
- python - 数组在视图django中转换为字符串
- sql - 无法使用按功能分组解决问题
- angular - 如何使用复选框将类添加到输入中?