如何对齐两个内联块,以便一个在左边,另一个在同一行? 为什么这么难? 是否有类似LaTeX的 hfill这样的东西可以占用它们之间的空间来实现这一目标?
我不想使用浮点数,因为有了内联块,我可以将基线对齐。 当窗口对于两个窗口而言都太小时,使用内联块,我可以将文本对齐方式更改为居中,并且它们将居中对齐。 相对(父)+绝对(元素)定位与浮点数存在相同的问题。
HTML5:
Title
A Link
Another Link
A Third Link
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;
}
Thery彼此相邻,但我希望右侧的nav。
AFAIK解决此问题的唯一方法是使用浮动或绝对定位。 您可以使用导航上的margin-top获得相同的基线位置。
只需使用margin-top和float。 没有那种定位或绝对定位就不可能做到这一点。
使用css媒体查询可根据视口的大小更改css。 您可以同时使用position: absolute和inline-block
编辑:自从我回答这个问题以来已经过去了3年,我想还需要一种更现代的解决方案,尽管当前的解决方案是可行的:)
1.Flexbox
到目前为止,它是最短且最灵活的。将display: flex;应用于父容器,并通过justify-content: space-between;调整其子容器的放置,如下所示:
.header {
display: flex;
justify-content: space-between;
}
可以在此处在线查看-http://jsfiddle.net/skip405/NfeVh/1073/
但是请注意,flexbox支持是IE10及更高版本。如果需要