【发布时间】:2019-07-02 22:34:37
【问题描述】:
我正在尝试在容器div 的中心对齐span 元素,并让另一个span 与左对齐文本右对齐:
+--------------------------------------------------------+
| <div> |
+----------------------+----------+ |
| <span> | <span> | |
| | | |
| | | |
| | | |
| right-aligned | centered | |
| | | |
| | | |
| | | |
| | | |
+----------------------+----------+ |
| |
+--------------------------------------------------------+
两个 span 的内容都是动态生成的,所以我希望尽可能避免使用任何绝对像素宽度。
知道如何实现这种类型的布局吗?
这是我最终根据 Persinj 的回答使用的标记:
HTML
<nav class="navbar">
<span class="nav-aside">Right-aligned: </span>
<span class="nav-menu">centered</span>
<span class="nav-aside"></span>
</nav>
CSS
nav.navbar {
display: flex;
}
span.nav-aside {
flex-grow: 1;
flex-basis: 0;
text-align: right;
}
span.nav-menu {
align-self: center;
text-align: center;
}
由于我对浏览器的要求有限,因此我将供应商前缀排除在我的标记之外,并且我依靠 autoprefixer 来解决这个问题。如果需要,请查看已接受的答案。
【问题讨论】:
-
向我们展示您迄今为止尝试过的标记和相关 css...
-
好的,当前标记已添加。我已经尝试了几种方法,但到目前为止没有运气。