【发布时间】:2012-05-03 14:18:13
【问题描述】:
如何对齐两个内联块,使一个在左侧,另一个在同一行右侧?为什么这么难?有没有类似 LaTeX 的 \hfill 可以消耗它们之间的空间来实现这一点?
我不想使用浮点数,因为使用 inline-blocks 我可以排列基线。当窗口对于他们俩来说都太小时,使用内联块我可以将 text-align 更改为 center ,它们将彼此居中。相对(parent) + Absolute(element) 定位和浮动有同样的问题。
HTML5:
<header>
<h1>Title</h1>
<nav>
<a>A Link</a>
<a>Another Link</a>
<a>A Third Link</a>
</nav>
</header>
CSS:
header {
//text-align: center; // will set in js when the nav overflows (i think)
}
h1 {
display: inline-block;
margin-top: 0.321em;
}
nav {
display: inline-block;
vertical-align: baseline;
}
它们紧挨着,但我想要右边的nav。
【问题讨论】:
-
AFAIK 解决这个问题的唯一方法是使用浮动或绝对定位。您可以使用导航上的 margin-top 来实现相同的基线位置。
-
只需使用 margin-top 和浮动。没有那个或绝对定位是不可能做到这一点的。
-
使用 css 媒体查询根据视口的大小更改 css。您可以同时使用
position: absolute和inline-block