gpt4 book ai didi

css 属性 - 底部不适用于位置为 :fixed 的网格容器

转载 作者:行者123 更新时间:2023-11-27 22:56:24 25 4
gpt4 key购买 nike

我已经通过

设置了一个覆盖整个屏幕的容器
.container {
display: grid;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}

问题是如果我将属性 - 底部更改为另一个值,它不会影响显示。

function toggle(){
var container = document.querySelector(".container");
container.classList.toggle("pull-down");
}
.container {
display: grid;
grid-template-rows: 1fr 100px;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}

.container.pull-down {
bottom: -100px;
}

div {
pointer-events: none;
}

button {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
height: 40px;
width: 120px;
}
<div class="container">
<div>first row</div>
<div>second row</div>
</div>
<button onclick="toggle()">toggle</button>

我期望的是,如果用户单击该按钮,第二行将移出屏幕。

在 FF 上的行为是正确的,但在 chrome 版本 - 78.0.3904.108 上不正确。

最佳答案

这似乎是一个错误,因为如果您调整屏幕大小,它就会起作用。您可以在脚本中添加一些内容以强制刷新页面:

function toggle(){
var container = document.querySelector(".container");
container.classList.toggle("pull-down");

/* Force page redraw*/
container.style.display="none";
setTimeout(function(){container.style.display="grid"},1);
/* */
}
.container {
display: grid;
grid-template-rows: 1fr 100px;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}

.container.pull-down {
bottom: -100px;
}

div {
pointer-events: none;
}

button {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
height: 40px;
width: 120px;
}
<div class="container">
<div>first row</div>
<div>second row</div>
</div>
<button onclick="toggle()">toggle</button>

关于css 属性 - 底部不适用于位置为 :fixed 的网格容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59232692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com