CSS を使用して複数の方法で等高レイアウトを実装するサンプル コード

CSS を使用して複数の方法で等高レイアウトを実装するサンプル コード

この記事で説明する等高レイアウトでは、純粋な CSS を使用して、要素の高さを手動で設定することなく、各要素の高さを等しくする効果を実現します。図に示すように:


1. テーブルセルを使用して実装する(IE8と互換性あり)

<スタイル>
    body,div,ul,li{マージン: 0;パディング: 0;}
    li{リストスタイル: なし;}
    .テーブルレイアウトコンテナ{
        幅: 50%;
        マージン: 20px 自動;
    }
    .table-row-layout{
        /* 要素の表示がテーブル行に設定されている場合、幅を設定しても効果はありません。そのため、別の div で囲んでから幅を設定する必要があります */
        表示: テーブル行;
    }
    .テーブルセルレイアウト{
        表示: テーブルセル;
        幅: 33.33%;
        パディング: 10px;
        境界線: 1px 実線 #ccc;
        左境界線: なし;
    }
    .table-cell-layout:最初の子{
        左境界線: 1px 実線 #ccc;
    }
</スタイル>

<本文>
    <div class="テーブルレイアウトコンテナ">
        <ul class="テーブル行レイアウト">
            <li class="テーブルセルレイアウト">
                業界の発展は必然的に専門職の細分化を招きますが、フロントエンド分野でも同様です。現在、業界のフロントエンドは、インターフェースの表示、ユーザーエクスペリエンスとアクセシビリティの方向に進んでいます。
                その後、js/nodejsの開発ディレクション、オーディオ/ビデオリッチメディアディレクション、SVG/canvas/webGLのダイナミッククリエイティブ表現とデータ可視化ディレクション、ツール構築ドキュメント管理、社内サイト構築、会議予約、チームビルディング、組織、外部ブランド宣伝のフロントエンド運用ディレクション。
            </li>
            <li class="テーブルセルレイアウト">
                人それぞれの性格特性や成長経験の違いにより、適した方向性も当然異なります。感性豊かでデザインのバックグラウンドを持つ人はユーザーエクスペリエンスに注力でき、論理的かつエンジニアリング的な思考が強い人はバックエンド開発に適しており、数学や物理学に強い人はデータ可視化を検討でき、コミュニケーション力とコーディネーション能力に優れた人はフロントエンドの運用に取り組むことができます。
            </li>
            <li class="テーブルセルレイアウト">
                私が学生だった頃は、みんなとても純粋でした。好きなことを何でも勉強していました。例えば、CSS、Web ページの作成、エフェクトの作成が好きな女の子が多かったです。しかし、彼女が仕事を探し始めたとき、
                実際の業界と接触してから、状況は変わり始めました。
            </li>
        </ul>
    </div>
</本文>

2. フレックスレイアウトを使用して

<スタイル>
    body,div,ul,li{マージン: 0;パディング: 0;}
    li{リストスタイル: なし;}
    .flex-レイアウト{
        ディスプレイ: フレックス;
        幅: 50%;

        マージン: 20px 自動;
    }
    .flex-item{
        幅: 33.33%;
        パディング: 10px;
        境界線: 1px 実線 #ccc;
        左境界線: なし;
    }
    .flex-item:最初の子{
        左境界線: 1px 実線 #ccc;
    }
</スタイル>

<本文>
    <ul class="flex-layout">
        <li class="flex-item">
            業界の発展は必然的に専門職の細分化をもたらしますが、フロントエンド分野でも同様です。現在、業界のフロントエンドは、インターフェース表示のユーザーエクスペリエンスとアクセシビリティ、後方 js/nodejs 開発、オーディオ/ビデオリッチメディア、SVG/canvas/webGL 動的効果のクリエイティブ表現とデータ視覚化、ツール構築、ドキュメント管理、内部サイト構築、フロントエンドの運用と保守、会議の予約、チームビルディング、組織、外部ブランドプロモーションなどの方向性を持っています。
        </li>
        <li class="flex-item">
            人それぞれの性格特性や成長経験の違いにより、適した方向性も当然異なります。感性豊かでデザインのバックグラウンドを持つ人はユーザーエクスペリエンスに注力でき、論理的かつエンジニアリング的な思考が強い人はバックエンド開発に適しており、数学や物理学に強い人はデータ可視化を検討でき、コミュニケーション力とコーディネーション能力に優れた人はフロントエンドの運用に取り組むことができます。
        </li>
        <li class="flex-item">
            私が学生だった頃は、みんなとても純粋でした。好きなことを何でも勉強していました。例えば、CSS、Web ページの作成、エフェクトの作成が好きな女の子が多かったです。しかし、就職活動を始めて実際の業界と接してみると、状況は一変した。
        </li>
    </ul>
</本文>

3. マージンを使用して高さを均等にしたレイアウトを実現する(実際の開発では推奨されません)

テーブルセルとフレックスレイアウトの使用に加えて、負のマージン値を使用して上記の等高レイアウトを実現することもできます。

<スタイル>
    body,div,ul,li{マージン: 0;パディング: 0;}
    li{リストスタイル: なし;}
    .marign-layout{
        幅: 50%;
        マージン: 20px 自動;
        オーバーフロー: 非表示;
    }
    。アイテム{
        フロート: 左;
        幅: 30%;
        パディング: 10px;
        下マージン: -9999px;
        パディング下部: 9999px;
        境界線: 1px 実線 #ccc;
        左境界線: なし;
    }
    .item:最初の子{
        左境界線: 1px 実線 #ccc;
    }
</スタイル>

<本文>
    <ul class="marign-layout">
        <li class="item">
            業界の発展は必然的に専門職の細分化をもたらしますが、フロントエンド分野でも同様です。現在、業界のフロントエンドは、インターフェース表示のユーザーエクスペリエンスとアクセシビリティ、バックエンドのjs/nodejs開発、オーディオ/ビデオリッチメディア、SVG/canvas/webGLダイナミックエフェクトのクリエイティブ表現とデータ視覚化、ツール構築、ドキュメント管理、内部サイト構築、フロントエンドの運用と保守、会議の予約、チームビルディング、組織、外部ブランドプロモーションなどの方向性を持っています。
        </li>
        <li class="item">
            人それぞれの性格特性や成長経験の違いにより、適した方向性も当然異なります。感性豊かでデザインのバックグラウンドを持つ人はユーザーエクスペリエンスに注力でき、論理的かつエンジニアリング的な思考が強い人はバックエンド開発に適しており、数学や物理学に強い人はデータ可視化を検討でき、コミュニケーション力とコーディネーション能力に優れた人はフロントエンドの運用に取り組むことができます。
        </li>
        <li class="item">
            私が学生だった頃は、みんなとても純粋でした。好きなことを何でも勉強していました。例えば、CSS、Web ページの作成、エフェクトの作成が好きな女の子が多かったです。しかし、就職活動を始めて実際の業界と接してみると、状況は一変した。
        </li>
    </ul>
</本文>

図に示すように、負のマージン値を使用すると欠点があります。

下の境界線は、親要素の overflow: hidden; によって切り取られているため、消えています。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  なぜ IE6 が最も多くの人に使用されているのでしょうか?

>>:  MySQL 文字セットの概要

推薦する

React+TS を使用したシンプルな Jira プロジェクトを実装するためのベスト プラクティス

トレーニングのための一連のプロジェクト反応+ts内容は少ないですが、フックのカプセル化、ts ジェネ...

mysqlを完全にアンインストールします。個人テストです!

MySQL をクリーンアンインストールします。個人的にテストしたところ、今回はようやくうまくいきま...

格納可能なセカンダリメニューを実装するための JavaScript

JavaScriptで格納可能なセカンダリメニューを実装するための具体的なコードは参考までに。具体...

海外でダウンロードできる25個の新鮮で便利なアイコンセット

1. Eコマースアイコン2. アイコンスイーツ2 3. 携帯電話アイコンパック4. 旗アイコンセット...

Nginx10m+の高並列カーネル最適化に関する簡単な説明

高い同時実行性とは何ですか?デフォルトの Linux カーネル パラメータは、最も一般的なシナリオ向...

Unix/Linuxフォークの隠れたオーバーヘッド

目次1. フォークの起源2. 初期のUNIXオーバーレイ技術3. UNIXに導入される前のフォークの...

純粋な CSS で実装された大きなドロップダウン メニューのサンプル コード

これは純粋に CSS で実装された大きなドロップダウン メニューです。この大きなメニューは、js コ...

CSSを使用して円形の波効果を実現する

モバイル デバイスでは、金額を表示するために円形の波グラフィックがよく使用されます。最初は、この効果...

Nginx ソースコード調査における nginx 電流制限モジュールの詳細な説明

目次1. 電流制限アルゴリズム2. nginxの基礎知識4. 実戦要約する高並行性システムには、キャ...

Linuxファイルを表示するコマンドの詳細な説明

Linuxファイルを表示する方法ファイルの内容を表示するコマンド: catは最初の行からコンテンツを...

クエリプロファイラを使用して MySQL ステートメントの実行時間を表示する方法

前回の記事では、MySQL ステートメントの実行時間をチェックする 2 つの方法を紹介しました。今日...

MySQL での一時テーブルの使用例

ここ2日間ちょっと忙しくて、公式アカウントも数日更新が止まってしまいました。その結果、何人かの読者か...

MySQL データベース設計 3 つのパラダイム例分析

3つのパラダイム1NF: フィールドは分離不可能です。 2NF: 主キーがあり、非主キー フィールド...

Win10 での MySQL 5.7 の詳細なインストールと設定のチュートリアル

1. MySQL 5.7を解凍する2. 新しい設定ファイルmy.iniを作成し、 D:\Free\m...

VMware WorkStation を Docker for Windows で使用するための詳細なチュートリアル

目次1. はじめに2. Windows用Dockerをインストールする1. Windows用Dock...