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 文字セットの概要

推薦する

Linux クラウド サーバーに新しいディスクをマウントする方法

背景社内に新しいサーバーが追加され、2Tのハードディスクがマウントされました。sshでログイン後、マ...

Vue.js フロントエンドフレームワークにおけるイベント処理の概要

1. v-onイベント監視DOM イベントをリッスンするには、v-on ディレクティブを使用します。...

MySQLでのカスタムパラメータの使用に関する詳細な説明

MySQL 変数には、システム変数とシステム変数が含まれます。今回の学習課題はユーザー定義変数です。...

JSは星を消すケースを実現する

この記事の例では、星を消すためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のと...

Web プロジェクトでの SQL インジェクションの防止

目次1. SQLインジェクションの概要2. SQLインジェクション攻撃の全体的な考え方SQLインジェ...

Docker Hubの動作原理と実装プロセスの分析

GitHub が提供するコード ホスティング サービスと同様に、Docker Hub はイメージ ホ...

LinuxはMySQLデータベースの自動バックアップとスケジュールバックアップを毎日実装しています

概要バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために...

浮遊要素によって引き起こされる問題と解決策の詳細な説明

1. 問題複数のフローティング要素は親要素の幅を拡張できず、親要素の高さが 0 になる可能性がありま...

ウェブページヘッダーの最適化の提案

ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...

CSSで検索ボックスを非表示にする機能を実装します(アニメーション順方向と逆方向のシーケンス)

上部のメニュー バーに検索ボックスを配置するのは一般的なシナリオですが、検索機能がそれほど頻繁に使用...

CSS 経由で JS にパラメータを渡す方法

1. CSSを通す必要がある背景CSS におけるメディアクエリの用途は、デバイスサイズの判別、マウス...

HTMLシールドの右クリックメニューと左クリック入力機能の例

右クリックメニューを無効にする <body oncontextmenu=self.event....

Nginxでネットワーク分離を解決した実践記録を詳しく解説

必要最近、Node オンライン サービスを移行する必要があったため、2 つの新しいオンライン サーバ...

Nginx+SSL による双方向認証を実装するためのサンプル コード

まずディレクトリを作成する cd /etc/nginx mkdir ssl cd ssl CA と自...

MySQLデータベースの基礎知識

目次1. データベースを理解する1.1 データベースとデータ構造の関係1.2 なぜデータベースが必要...