在我正在处理的一个网站上,页面顶部有一个高度为300px的横幅,其中包含页面的标题和下划线。
这是标记。
这使得它具有样式(带标记)。 为了实现这个目标,我使用了边距来强制间距,但当标题变得更长时,这种方法很难维护。我宁愿使用Flexbox来对齐横幅内的文本,以便文本始终垂直居中,无论内容量多少。
例如,我可以将类应用于#banner,如下所示:
问题是:使用这种方法时,图像不能自然地浮动在文本下方。
因此,我尝试了:
所以下划线应该自动放置在h1下方,但实际上它只会坐在h1元素旁边。
这是标记。
<div class="container">
<div id="banner">
<div class="jumbotron">
<div class="container">
<h1>Terms and conditions</h1>
<img class="center-block" src="assets/img/common/header-blue-underline.png" width="158" height="10" alt=""/>
</div>
</div>
</div>
<div id="banner-nav">
<ul class="get-in-touch-links">
<li><a href="/">Home</a></li>
</ul>
</div>
</div>
这使得它具有样式(带标记)。 为了实现这个目标,我使用了边距来强制间距,但当标题变得更长时,这种方法很难维护。我宁愿使用Flexbox来对齐横幅内的文本,以便文本始终垂直居中,无论内容量多少。
例如,我可以将类应用于#banner,如下所示:
.flex{
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
问题是:使用这种方法时,图像不能自然地浮动在文本下方。
因此,我尝试了:
<div class="container">
<div id="banner" class="flex">
<h1>Nulla quis lo</h1>
</div>
<div id="banner-nav">
<ul class="get-in-touch-links">
<li><a href="/">Home</a></li>
</ul>
</div>
</div>
#banner h1:after{
content: url(assets/img/common/header-blue-underline.png);
}
所以下划线应该自动放置在h1下方,但实际上它只会坐在h1元素旁边。
基本上,我正在努力停止把事情做得很随意,而是使用现代标准来精确地定位事物。
.flex {...}
中添加flex-direction: column;
,但我想尝试几个不同的想法。 - Raphael Rafatpanah