标题居中、按钮位于右侧的导航栏
所以我尝试创建一个导航栏,标题位于中间,按钮显示在右侧。如您所见,当我尝试执行此操作时,该按钮出现在下一行的div:
之外Fiddle
数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">.title-bar {
background-color: #48A6B8;
font-style: italic;
margin-bottom: 3%;
color: #fff;
}
.title {
text-align: center;
font-size: 36px;
line-height: 180%;
}
.buts {
float: right;
}
<div class="title-bar">
<div class="title">Title</div>
<div class="button">
<button class="buts">Whats Up</button>
</div>
</div>
display:inline-block
似乎移去了文本的居中位置,因此我无法使用它...
提前谢谢!
解决方案
使用flexbox
flex: 1 0 auto;
将使title
灵活,它将获取flex-container中的所有可用空间。
.title-bar {
background-color: #48A6B8;
font-style: italic;
margin-bottom: 3%;
color: #fff;
display: flex;
}
.title {
text-align: center;
font-size: 36px;
line-height: 180%;
flex:1 0 auto;
}
<div class="title-bar">
<div class="title">Title</div>
<div class="button">
<button class="buts">Whats Up</button>
</div>
</div>
编辑:在@Burak评论它不在正中之后。
正如您在下图中看到的,部分空间由"上一页"按钮获得,这就是为什么标题不在确切的中心,而文本在其父标题的确切中心。
我们也可以使它正好居中,但要做到这一点,我们需要使用position:absolute
.title-bar {
background-color: #48A6B8;
font-style: italic;
margin-bottom: 3%;
color: #fff;
display: flex;
position:relative;
}
.title {
text-align: center;
font-size: 36px;
line-height: 180%;
flex:1 0 auto;
background:rgba(0,0,0,.5)
}
.button{
position:absolute;
right:0;
top:0;
}
<div class="title-bar">
<div class="title">Title</div>
<div class="button">
<button class="buts">Whats Up</button>
</div>
</div>
相关文章