我正在使用flexbox將標題居中放置一個圖標。我試圖將標題的文本部分完全居中,忽略圖標。文本居中後,圖標應該添加到標題的右側。我嘗試使用絕對定位,但它並不完全正常工作,因爲當瀏覽器寬度變小時,我還需要打包標題。如何將標題與圖標水平居中,忽略圖標
在我的示例中,整個標題居中。圖標在那裏,它拋棄了文本的中心。
HTML
<div class="container">
<div class="wrapper">
<div class="image"></div>
<div class="heading">
<span class="title">racecar racecar racecar</span>
<span class="fa fa-lg fa-car">
</span>
</div>
<div class="description">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam tortor dolor, varius a convallis ut, tincidunt non turpis. Nam gravida.
</div>
</div>
<div class="wrapper">
<div class="image"></div>
<div class="heading">
<span class="title">kayak kayak kayak</span>
<span class="fa fa-lg fa-car">
</span>
</div>
<div class="description">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam pellentesque euismod efficitur. Quisque vitae gravida dolor. Fusce et dui quis arcu sagittis sodales. Vivamus tincidunt orci et neque pulvinar, a aliquam diam tristique. Curabitur lacinia nibh est, id cursus ligula mollis eu. Nullam suscipit nisi vel euismod bibendum. Duis congue.
</div>
</div>
<div class="wrapper">
<div class="image"></div>
<div class="heading">
<span class="title">rotor rotor rotor</span>
<span class="fa fa-lg fa-car"></span>
</div>
<div class="description">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce et dui quis arcu sagittis sodales. Vivamus tincidunt orci et neque pulvinar, a aliquam diam tristique. Curabitur lacinia nibh est, id cursus ligula mollis eu. Nullam suscipit nisi vel euismod bibendum. Duis congue.
</div>
</div>
</div>
CSS
.wrapper {
border: 1px solid red;
display: flex;
flex-direction: column;
align-items: center;
}
.image {
height: 100px;
width: 100px;
background-color: blue;
border-radius: 65px;
}
.title {
font-size: 50px;
}
.description {
padding: 15px;
}
由於柔性容器的空間分佈對齊的項目,當你只是一個側面有一個項目這會造成一種不平衡,將一個居中的兄弟姐妹拋出中心。一種解決方案是創建一個圖標的副本,放在相反的(左側),'visibility:hidden'。這將平衡事情。這裏有一個完整的解釋和其他選項:http://stackoverflow.com/q/38948102/3597276 –
看到我更新的答案。 –
您是否需要使用flexbox,或者其他方法也可以(如果有效)?另外,如果文本包裝爲2行,您希望圖標最終位於何處? – andi