我有一个div,其大小取决于其内容。 我想有一个绝对的孩子,能占据整个空间。
在Firefox中,我得到了想要的结果,但在Chromium中却没有。 如何解决?
哪个浏览器违反规范?
<div style="position:relative;float:left;">
<div style="position:absolute;display:table;left:0;top:0;height:100%;width:100%;background:red;">
<div style="display:table-cell;vertical-align:middle;">TEST</div>
</div>
<!-- this is an img in real with unknown size -->
<div style="width:200px;height:200px;background:yellow"></div>
</div>
答案 0 :(得分:0)
您只需要将此div的display
更改为display:flex
并使用margin: auto
来使文本居中:
<div style="position:relative;float:left">
<div style="position:absolute;display:flex;left:0;top:0;height:100%;width:100%;background:red;">
<div style="margin: auto">TEST</div>
</div>
<!-- this is an img in real with unknown size -->
<div style="width:200px;height:200px;background:yellow"></div>
</div>
或使用display: flex
和align-items: center
:
<div style="position:relative;float:left">
<div style="position:absolute;display:flex;left:0;top:0;height:100%;width:100%;background:red;align-items: center">
<div>TEST</div>
</div>
<!-- this is an img in real with unknown size -->
<div style="width:200px;height:200px;background:yellow"></div>
</div>