我正在使用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