gpt4 book ai didi

html - 隐藏div,如果div为空

转载 作者:太空狗 更新时间:2023-10-29 12:30:01 25 4
gpt4 key购买 nike

如果 DIV 为空,如何隐藏 DIV (HEADER)?这是我的 HTML 和 Style,已经试过了。 HEADER:empty,但是当我运行代码时,DIV 仍然存在。

<!DOCTYPE html>
<html>
<head>
<style>
body {
width: 1080px;
height: 1920px;
}

/* Start MAIN-grid-container */
.MAIN-grid-container {
display: grid;
grid-template-columns: 1080px;
grid-template-rows: 100px 640px 300px 100px;
grid-template-areas: "HEADER" "TOP" "MIDDLE" "FOOTER";
margin: 0px 0px 0px 0px; /*top,right,bottom,left or auto for horizontal center*/
}

.MIDDLE {
grid-area: MIDDLE;
background-color:lightblue;
}

.FOOTER {
grid-area: FOOTER;
background-color:yellow;
}

.TOP {
grid-area: TOP;
background-color:red;
}

.HEADER {
grid-area: HEADER;
background-color:green;
}

.HEADER:empty {
grid-area: HEADER;
display: block;
}
/* End MAIN-grid-container */

</style>
</head>
<body>
<div class="MAIN-grid-container">
<div class="HEADER"></div>
<div class="TOP">
<div class="SUB-TOP-grid-container">
<div class="SUB-TOP-MAIN" id="WeatherContainer">
<div class="SUB-TOP-MAIN-grid-container">
<div class="SUB-TOP-MAIN-TIME">DATE AND TIME<br/><br/>hhfh</div>
<div class="SUB-TOP-MAIN-CURRENT">CURRENT WEATHER</div>
</div>
</div>
<div class="SUB-TOP-FORECAST">FORECAST test</div>
</div>
</div>
</div>
</body>
</html>

希望有人能在正确的方向上指导我。如您所见,HEADER DIV 是空的 - 但仍显示为绿色背景色。

更新正如你们中的一些人所写,然​​后我可以添加它并且它有效..

.HEADER-empty, .HEADER:empty, [class^=HEADER-]:empty { 
grid-area: HEADER;
display: none;
}

但是我在 TOP div 上得到了一个白色区域,这不是我要找的。如果 HEADER 为空,则隐藏 div 并将 TOP div 置于顶部。

然后我尝试将其用于 TOP 类样式。

position: fixed;

但是我在 TOP 和 MIDDLE div 之间有一个白色区域,有人可以帮助我吗?

最佳答案

无需 JS - 只需在此 CSS 声明 block 中更改显示属性的值:

.HEADER:empty { 
grid-area: HEADER;
display: none;
}

看看这个 fiddle : https://jsfiddle.net/j8avxm1k/

如果您在 div.HEADER 中键入或放置任何内容,它将再次可见

编辑

我个人更喜欢老式的“ float ”属性,而不是使用这种“重新发明轮子”的方法,不过为了在评论中回答您的问题:

重置 grid-template-rows 属性并将其声明中的 .HEADER 高度设置为所需的大小,如下所示:

.MAIN-grid-container {
/* ... */
grid-template-rows: auto 640px 300px 100px;
/* ... */
}

.HEADER {
/* ... */
height: 100px;
/* ... */
}

关于html - 隐藏div,如果div为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55296420/

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