【发布时间】:2016-04-24 06:11:30
【问题描述】:
我正在尝试使该图像中的文本居中对齐,最好使用尽可能少的 CSS/HTML。如您所见,左侧的图标将其推离中心:
这是此顶部的相关 HTML 和 CSS:
<div class="navbarheader">
<div class="header-left">
<button type="button" class="pull-left btn-nav-menu">
<i class="navbar-text fa fa-fw fa-navicon"></i>
</button>
<button type="button" class="pull-left" ng-click="ui.showSearch()">
<i class="navbar-text fa fa-fw fa-search"></i>
</button>
</div>
<div class="header-title">
<div class="navbar-brand">{{ui.headerTitle}}</div>
</div>
<div class="header-right">
<button class="btn-watchlist pull-right" ng-click="ui.toggleWatchlists()">
<i class="navbar-text fa fa-fw fa-binoculars"></i>
</button>
</div>
</div>
CSS:
.navbarheader {
display: flex;
flex-direction: row;
justify-content: space-around;
}
.navbarheader .header-left {
margin-left: -0.5rem;
}
.navbarheader .header-title {
flex-grow: 2;
text-align: center;
}
.navbarheader .header-right {
margin-right: -0.5rem;
}
任何想法如何保持文本中心对齐,但在必要时允许它占据所有空白空间?
值得一提的是,这是在 Bootstrap 4.0 alpha 代码库中。
【问题讨论】:
-
有点hacky,但你不能把同样的图标放在右边,这样可以平衡,但不会被看到?
-
不确定要居中的文本是什么?
-
有什么方法可以发布足够的代码来重现问题或工作演示?
-
将左右图标容器设为
flex-basis、flex-grow和flex-shrink,将white-space:nowrap添加到标题中即可。 -
感谢 cmets 伙计们 - 下面有很多很好的答案目前有效,因此不再对问题进行更新。
标签: html css twitter-bootstrap flexbox