1.在做数据展示的时候,因为后台没有数据,为了提示用户没有数据,自己手写了一个div中间显示一个“暂无数据的字样”,
然后控制显示和隐藏,这样方法有两种:
第一种:设置display隐藏,但有一个问题,因为我的div中用了display:table-cell,所以起了冲突,
第二种:更改z-index的值 不显示的时候设置0,显示的时候设置最大值就行(推荐使用)
本文主要是探讨,因为外层的div的宽度和高度是不固定,导致了文字不能水平垂直居中的问题,解决办法:
#big{ width:100%; height:100%; font-size:32px; font-weight:bold; position:absolute; background-color:pink; overflow:hidden; } #big>p{ position:absolute; width:130px;/**依据字体的宽度而定**/ height:45px;/**依据字体的大小而定**/ top:0; left:0; right:0; bottom:0; margin:auto; } <div id="big"> <p>暂无数据</p> </div>
2.还有一种情况,高度不固定的块计元素里面直接包裹一个文字,这种情况可以这么解决
<dl style="height:100%">
<dt style="height:20%">测试问题居中问题</dt>
<dd style="height:80%"></dd>
</dl>
解决:伪元素before
dt::before{ content:\'\', height:100%; display:inline-block; vertical-align:middle; }
![](https://image.shishitao.com:8440/aHR0cHM6Ly9pbWcyMDIwLmNuYmxvZ3MuY29tL2Jsb2cvMzU2OTUvMjAyMTA4LzM1Njk1LTIwMjEwODE3MTMxMzQ2ODAyLTkzMDExMzA5MC5qcGc%3D.jpg?w=700&webp=1)