いくつかのオプションがあります:
#ranks li {
float: left;
}
これにより、水平方向の画面スペースがなくなるまで、すべてのリスト項目が折り返されずに左にフロートされます。あるいは、
#ranks li {
display: inline-block;
}
また、要素を並べて配置しますが、ブロック レベルの要素として処理します。ブロックレベルのスタイリングを気にしない場合は、ストレートなインライン表示を使用できます。
#ranks li {
display: inline;
}
リスト項目を他のインライン要素 (<span>
または など<a>
) と同様に扱います。
リスト項目には、リストの親だけでなく、削除する必要がある固有のスタイルが他にもいくつかあります。margin
、およびを必ずチェックしてくださいpadding
。
デモ: http://jsbin.com/iconud/edit#html,live
先を見てください!
リスト アイテムを並べて配置すると、リスト アイテム間に見苦しいギャップが生じる場合があります。これは、インライン リストの一般的な問題です。解決策の 1 つは、リスト アイテムの終了タグと開始タグの間の改行スペースを削除することです。
<ul id="ranks"><li>
Index</li><li>
Contact</li><li>
Portfolio</li>
</ul>
または、それらをすべてインラインにして、少し識別しにくくします。
<ul id="ranks">
<li>Index</li><li>Contact</li><li>Portfolio</li>
</ul>
これは目に少し厳しいです。HTML では、終了タグは必ずしも必要ではないため、終了タグを省略することもできます (ただし、これには少し神経質になります)。
<ul id="ranks">
<li>Index
<li>Contact
<li>Portfolio
</ul>
複数のリストもインラインに!
OPのコメントのいくつかから、リストアイテムをインラインで取得するだけでなく、リスト自体を取得しようとしているようです。その場合は、前述の同じルールをリスト自体に適用します。
#ranks,
#specs {
margin: 0;
padding: 0;
display: inline-block;
}
#ranks li,
#specs li {
display: inline-block;
border: 1px solid #CCC;
padding: 5px 10px;
}
ここでは、id を検索してからタグを検索するセレクターを使用して、2 つのルール セットを識別しました。共通のクラスをリストに適用するか、セレクターを共通の親要素に基づいて作成することで、これを簡素化できます。次はマークアップです。
<ul id="ranks">
<li>Index</li>
<li>Contact</li>
<li>Portfolio</li>
</ul>
<ul id="specs">
<li>Foo</li>
<li>Bar</li>
</ul>
これにより、両方のリストとそのアイテムが水平方向に表示されます。
デモ: http://jsbin.com/iconud/2/edit