li はブロックレベルの要素であり、デフォルトで 1 行を占有するため、水平方向に配置するには、一般に次の 2 つの方法が使用されます。この設定には問題があります。li がフロートされた後は、テキスト フローから分離されます。つまり、どの位置も占めません。親要素に特定のスタイルがあり、幅と高さが固定されていない場合は、次のようにすることをお勧めします。親要素はその float をクリアするか、固定の幅と高さを設定します。
float:left
つまり、li をインライン要素にして、幅、高さ、マージンを設定することにも問題があります。Ie ブラウザの以前のバージョンは、inline-block と互換性がありません。2 つ追加することをお勧めします。互換性のため、その後に属性が追加されます。下位バージョン ie
(推奨チュートリアル:
)display:inline-block
*display:inline;
*zoom:1;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>CSS + ul li 横向排列的两种方法 </title> </head> <body> <div id="nav"> <ul> <li><a href="http://blog.csdn.net/superbirds" title="">superbirds</a></li> <li><a href="http://blog.csdn.net/superbirds" title="">superbirds</a></li> <li><a href="http://blog.csdn.net/superbirds" title="">superbirds</a></li> <li><a href="http://blog.csdn.net/superbirds" title="">superbirds</a></li> </ul> </div> </body> </html>
CSS コード 2:
* { margin: 0; border: 0; padding: 0; font-size: 13pt; } #nav { height: 40px; border-top: #060 2px solid; border-bottom: #060 2px solid; background-color: #690; } #nav ul { list-style: none; margin-left: 50px; } #nav li { display: inline; line-height: 40px; float:left } #nav a { color: #fff; text-decoration: none; padding: 20px 20px; } #nav a:hover { background-color: #060; }
以上がCSSでulとliを水平方向に配置する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。