我正在创建一个英雄图像风格的旗帜,我想要在图像中间的文本居中,但有文本的行左对齐。绝对中心的文字,但左对齐
我有一个p
其中包含两行内容,由br
分隔。我希望线条的宽度是最大量的内容的宽度,也是这条线要居中。下一行应该是文本左对齐。
这个js小提琴显示了我到目前为止有:https://jsfiddle.net/hnox2t18/
正如你所看到的,p
并不总是延长是内容的宽度,而不是在分裂前排队。 p
应该是内容的宽度,直到br
,并以此宽度为中心。
CSS
.home-slider .home-slide {
position: relative;
}
.home-slider img {
width: 100%;
}
.home-slider p {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-family: "proxima-nova", Arial, sans-serif;
text-transform: uppercase;
font-size: 40px;
color: #ffffff;
line-height: 1em;
}
.home-slider span {
font-weight: bolder;
}
HTML
<div class="home-slider">
<div class="home-slide">
<img src="https://placeholdit.imgix.net/~text?txtsize=0&w=800&h=400">
<p>Over <span>1,500</span> ports, <span>3000</span> terminals<br />and <span>6,800</span> berths</p>
</div>
</div>
你可以使用flexbox吗? – wiesson
不幸的是,我们需要支持较旧的浏览器,所以试图远离flexbox –