如何在 DIV(HEADER)为空时隐藏它?
以下是我的 HTML 和样式,我尝试使用
希望有人可以指导我,指明正确的方向。如您所见,标题DIV为空 - 但仍显示为绿色背景色。
更新 正如一些人所写的那样,我可以添加这个并且它可以工作...
但是我遇到了一个问题,当顶部div出现时,会覆盖在头部div上,这不是我想要的结果。如果头部为空,则隐藏该div并使顶部div占据顶部位置。
然后,我尝试使用以下样式来处理顶部类:
但是我在TOP和MIDDLE div之间得到了一个白色区域,有人可以帮帮我吗?
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>
希望有人可以指导我,指明正确的方向。如您所见,标题DIV为空 - 但仍显示为绿色背景色。
更新 正如一些人所写的那样,我可以添加这个并且它可以工作...
.HEADER-empty, .HEADER:empty, [class^=HEADER-]:empty {
grid-area: HEADER;
display: none;
}
但是我遇到了一个问题,当顶部div出现时,会覆盖在头部div上,这不是我想要的结果。如果头部为空,则隐藏该div并使顶部div占据顶部位置。
然后,我尝试使用以下样式来处理顶部类:
position: fixed;
但是我在TOP和MIDDLE div之间得到了一个白色区域,有人可以帮帮我吗?