我想垂直和水平居中一些內容覆蓋圖像幻燈片(flexslider)。有一些類似的問題,但我找不到一個令人滿意的解決方案,直接適用於我的具體問題。由於FlexSlider的限制,我不能在我的實現中使用img標籤上的position: absolute;
。爲什麼width:100%不能在div {display:table-cell}上工作?
我幾乎有下面的解決方法工作。唯一的問題是我無法獲得寬度&高度聲明inner-wrapper
div與display: table-cell
屬性。
這是標準行爲,還是我錯過了我的代碼?如果這是標準行爲,那麼對我的問題最好的解決方案是什麼?
HTML
<ul>
<li>
<img src="#">
<div class="outer-wrapper">
<div class="inner-wrapper">
<h1>My Title</h1>
<h5>Subtitle</h5>
</div>
</div>
</li>
</ul>
CSS
html, body {
margin: 0; padding: 0;
width: 100%; height: 100%;
}
ul {
background: #CCC;
height: 100%;
width: 100%;
list-style-position: outside;
margin: 0; padding: 0;
}
li {
width: 100%;
display: table;
}
img {
width: 100%;
height: 410px;
}
.outer-wrapper {
position: absolute;
width: 100%;
height: 100%;
top: 0;
margin: 0; padding: 0;
}
.inner-wrapper {
display: table-cell;
vertical-align: middle;
text-align: center;
width: 100%;
height: 100%;
}
注:該中心的內容將超過1元,所以我不能使用的line-height伎倆。
我需要上面的文本 - 覆蓋在圖像的頂部。 – timshutes
對不起,我跳了一把槍,看到我的編輯 – woojoo666
需要注意的是,當您只是將內嵌文本與標記對齊時,Flexbox居中會表現得很滑稽 - 然後將其視爲「內嵌塊」元素。 – Paracetamol