我在angular-app中有一個列表,其中每個項目都可以包含小圖像(作爲div的背景 - >紅色)以及一些文本或僅文本。將文字與父母的父母對齊
li {
display: flex;
border: 1px solid black;
width: 80%;
margin-bottom: 5%;
list-style: none;
position: relative;
}
.text {
text-align: center;
width: 100%;
background: lightgrey;
}
.image {
background: red;
width: 25%;
height: 100%;
position: absolute;
}
<ul>
<li><div class="text"><p>item 1<br/>some text</p></div>
</li>
<li><div class="image"></div><div class="text split"><p>item 2<br/>some text</p></div>
</li>
<li><div class="image"></div><div class="text split"><p>item 2<br/>some more text in a very very long line which may break at the end</p></div>
</li>
</ul>
有一些文字的圖像包含文本將移動div的中心。所以這兩個文本不會是一個在另一個之上。 有什麼辦法可以將item2的文本「居中」到li元素,以便與其前任(最好不使用javascript)保持一致?
編輯:使用position: absolute
似乎工作。但是,如果文字足夠長,它不會被破壞(如所喜歡的),但它會消失在紅色的背後,或者顯示在它的前面。由於紅色的div實際上會被圖像填充,所以浮動文本不會是一個好的決定...... 當然,我可以計算每個項目的寬度並手動分割線條,但我更喜歡更簡單的方法。
具體而言,我希望文本的中心位置爲列表項(但不是文本div),而行的寬度爲75%時,它的行被打破。
有沒有人有更多的提示?
感謝
不確定絕對定位是否可以接受,但是,您可以這樣做:https://jsfiddle.net/f60juvpq/ – sinisake
這裏有三個選項:http://stackoverflow.com/q/38948102/3597276 –
有沒有人有更多的想法? – user3479074