CSS を使用して ul と li の水平配置を実現する 2 つの方法

CSS を使用して ul と li の水平配置を実現する 2 つの方法

li はブロックレベル要素であり、デフォルトで 1 行を占めるため、水平方向の配置を実現する場合は、通常、次の 2 つの方法を使用できます。

フロート:左
この設定には問題があります。li がフロートされると、テキストフローから外れ、スペースを占有しなくなります。親要素に特定のスタイルがあり、幅と高さが固定されていない場合は、親要素でフロートをクリアするか、幅と高さを固定することをお勧めします。

表示:インラインブロック

つまり、li をインライン要素に変換し、幅、高さ、余白を設定します。これにも問題があります。IE ブラウザの下位バージョンは inline-block と互換性がありません。下位バージョンの IE と互換性を持たせるには、その後にさらに 2 つの属性を追加することをお勧めします。
*表示:インライン;
*ズーム:1;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<ヘッド>
<title>CSS + ul li の水平配置の 2 つの方法</title>
</head>
<本文>
  <div id="nav">
  <ul>
    <li><a href="http://blog.csdn.net/superbirds" title="">スーパーバード</a></li>
    <li><a href="http://blog.csdn.net/superbirds" title="">スーパーバード</a></li>    
    <li><a href="http://blog.csdn.net/superbirds" title="">スーパーバード</a></li>
    <li><a href="http://blog.csdn.net/superbirds" title="">スーパーバード</a></li>
  </ul>
  </div>
</本文>
</html>

CSS コード 1:

* {
    マージン: 0;
    境界線: 0;
    パディング: 0;
    フォントサイズ: 13pt;
}
 
#ナビ{
    高さ: 40px;
    上ボーダー: #060 2px 実線;
    下部境界線: #060 2px 実線;
    背景色: #690;
}
 
#nav ul {
    リストスタイル: なし;
    左マージン: 50px;
}
 
#nav li {
    表示: インライン;
    行の高さ: 40px;
    フロート:左
}
 
#nav {
    色: #fff;
    テキスト装飾: なし;
    パディング: 20px 20px;
}
 
#nav a:hover {
    背景色: #060;
}

CSS コード 2:

* {
    マージン: 0;
    境界線: 0;
    パディング: 0;
    フォントサイズ: 13pt;
}
 
#ナビ{
    高さ: 40px;
    上ボーダー: #060 2px 実線;
    上マージン: 100px;
    下部境界線: #060 2px 実線;
    背景色: #690;
}
 
#nav ul {
    リストスタイル: なし;
    行の高さ: 40px;
    左マージン: 50px;
}
 
#nav li {
    表示: ブロック;
    フロート: 左;
}
 
#nav {
    表示: ブロック;
    色: #fff;
    テキスト装飾: なし;
    パディング: 0 20px;
}
 
#nav a:hover {
    背景色: #060;
}
 

以上で、ulとliの水平配置をCSSで実装する2つの方法についての説明は終了です。ulとliの水平配置をCSSで実装する方法の詳細については、123WORDPRESS.COMの過去の記事や以下の関連記事をご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

<<:  HTMLタグのデフォルトスタイルの配置

>>:  Mysql で期間の交差をクエリする方法

推薦する

JavaScript 戦略パターンを使用してフォームを検証する方法

目次概要戦略パターンを使用しないフォーム検証戦略パターンを使用して最適化する戦略パターンの利点要約す...

MySQLは実際に分散ロックを実装できる

序文前回の記事では、eコマース シナリオでのフラッシュ セールの例を通じて、モノリシック アーキテク...

jQuery の CSS スタイル属性 css() と width() の完全ガイド

目次1. css() の基本的な使用法: 1.1 CSSプロパティを取得する1.2 CSSプロパティ...

MySQL のインデックスにおける NULL の影響についての詳細な説明

序文私は多くのブログを読み、弊社の DBA を含む多くの人々が、MySql では列に null が含...

ボタンをEnterキーに関連付けるjsコード

コードをコピーコードは次のとおりです。 <html> <ヘッド> <ス...

MySQL 8.0.12 簡単インストールチュートリアル

この記事では、MySQL 8.0.12のインストールチュートリアルを参考までに紹介します。具体的な内...

DockerでRedashの中国語版をデプロイしてインストールする方法の詳細な説明

1. インストール手順 Linux 環境でのローカル インストールと比較すると、Docker のイン...

MySQL シリーズ 10 同時実行制御を実装するための MySQL トランザクション分離

目次1.同時アクセス制御2. 取引1. トランザクションは ACID 原則に従います。 2. トラン...

UbuntuへのDocker CEのインストール

この記事は、Ubuntu 17.10 での Docker CE のインストールを記録するために使用さ...

JavaScript の組み込みオブジェクト 数学と文字列の詳細な説明

目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...

mysql5.7.21.zip インストールチュートリアル

mysql5.7.21 zipの詳細なインストール手順は次のとおりです。 1. 解凍して指定されたデ...

JSでよく使われるデータ処理方法

目次DOM処理配列方法要約するDOM処理DOM はドキュメントの構造化された表現を提供し、スクリプト...

Win10でIIS10を構成し、ASPプログラムのデバッグをサポートする手順

マイクロソフトIIS (Internet Information Server) は、Microso...

Spark SQL の 4 つの一般的なデータ ソースの詳細な説明

汎用ロード/書き込みメソッドオプションを手動で指定するSpark SQL の DataFrame イ...

Oracle を MySQL に置き換える際の問題と解決策

目次移行ツールアプリケーション変換mysql8.0 ドライバ パッケージを追加データソース構成の変更...