I have the following HTML code:
<header>
<h1>Title</h1>
<nav>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</nav>
</header>
我希望把这段文本变成网页顶部的单行文字,并通过向右浮动
<nav>
实现。然而,由于<h1>
字体大小比<li>
元素大得多,文本会错位。我希望这些元素在基线上对齐。如下图所示,红线表示基线。目前的情况如下:
#float, #nofloat { width: 300px; }
ul, h1, nav, p { margin: 0; padding: 0; }
h1 {
display: inline-block;
font-size: 3rem;
}
nav { display: inline-block; }
ul { list-style-type: none; }
ul > li { display: inline; }
ul > li:after { content: " | "; }
ul > li:last-child:after { content: ""; }
#float nav { float: right; }
<p>Everything is aligned to baseline before floating:</p>
<div id="nofloat">
<header>
<h1>Title</h1>
<nav>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</nav>
</header>
</div>
<p>But after floating it's messed up:</p>
<div id="float">
<header>
<h1>Title</h1>
<nav>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</nav>
</header>
</div>