ここにいくつかの例を含むフィドルがあります:http://jsfiddle.net/joplomacedo/ejSby/
'nav'要素には固有のcss動作がありますか、それとも純粋にセマンティックコンテナですか?
要素はnav純粋にセマンティックなコンテナです。cssに関しては、のような単純なブロックレベルの要素にすぎませんdiv。
ボタンを中央に配置している場合は、ボタンを「フロート」する必要はありませんか?テキストの整列、ulの中央でうまくいくはずです。
ulあなたが言っているように、あなたが'を使用している場合は、 li'も必要になります。問題はli、ブロックが表示されることです(実際には、ブロックではありません- list-item。私たちが興味を持っている方法では、ブロックのように動作します)-ブロックレベルの要素を並べて配置する場合は、次のようになります。常に必要でfloatあるか、表示をinline(inline-block)に変更してください。
'floats'または'inline-blocking'のいずれか。私は多くの理由で「インラインブロック手法」を使用することを好む傾向があります。その1つは、必要に応じてブロックを中央に配置することは、text-alignを親要素の中央に設定することだけです。
ボタンをナビゲーションバー自体よりも短くしたい場合は、バーに高さを設定するか(ボタンの中央に線の高さを使用)、ボタンにマージンを追加してバーを外側(垂直方向)に押しますか?
padding-top&bottomをnavブロックに追加する方が簡単なようですよね?
繰り返しになりますが、ここにフィドルがあります:http: //jsfiddle.net/joplomacedo/ejSby/