为什么table布局中,如果没写内容,背景不显示

这里用table布局,上下定宽,中间自适应,为什么top div里没写内容,
它就只占位,不显示背景色(背景色我已经设置为黄色了),
图片说明

.top是display:table-row,相当于table下的tr,很多样式对tr都是不生效的,通常对td设置才可以,因为td才是单元格,用于输入内容的。
两个解决方案:
1、在top内再套一个div

 <div class="top">
    <div style="display: table-cell; background-color: #000"></div>
</div>

2、加一个空格

 <div class="top">&nbsp</div>

table布局默认是以内容为载体的,当设置背景色没有内容不显示的时候可以设置固定宽和高

没看到你的css有颜色设置啊,用浏览器的f12看下css,设置了没有,以及,上面那个是top不是,还有,有没有别的挡住了。
是不是top是白色的那一块还是它根本没有高度。
如果没有设置颜色,加上 .top {background: #颜色值;}

设置固定宽高试一下呢