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

推薦する

div 内の img と span の垂直方向の中央揃えの問題について

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<htm...

Docker可視化管理ツールであるDocker UIの使用

1. DockerUIの紹介DockerUI は Docker API をベースとしており、Dock...

Vue で動的に追加されたルーティング ページの更新時に失敗する理由と解決策

目次問題の説明シナリオインターフェースリターンフロントエンドメニューの定義vuex のメソッド問題原...

MySQLデータベースは何をするのか

MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...

MySQLはgroup_concat()関数に基づいて複数のデータ行を結合します

非常に便利な機能group_concat() について、マニュアルには次のように記載されています: ...

Linux の Docker コンテナで bash を終了する 2 つの方法

bash を終了する場合は、次の 2 つのオプションがあります。最初のもの: Ctrl + d を押...

Nginx 仮想ホストを構成する 3 つの方法 (ポートベース) の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...

LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。

0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...

左右の幅を固定し、中央の幅を適応させたHTMLレイアウトのソリューションの詳細な説明

この記事では、次のように、誰にでも共有できる左右幅固定のミドルアダプティブ HTML レイアウトソリ...

マークアップ言語 - フレーズ要素

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Vue での weixin-js-sdk の一般的な使用方法の詳細な説明

リンク: https://qydev.weixin.qq.com/wiki/index.php?ti...

CSS BEM 命名標準の概要 (推奨)

1 BEM命名標準とはBem は、ブロック、要素、修飾子の略語であり、Yandex チームによって...

Excelアップロード機能を実現するVue + iViewの完全コード

1. HTML部分 <Col span="2">ファイルをアップロー...

Vueがsweetalert2プロンプトコンポーネントを統合する際の問題についてお話ししましょう

目次1. プロジェクト統合1. CDNインポート方法: 2. 箱の梱包を確認する3. 迅速な箱詰め4...

autoconfを使用してMakefileを生成し、プロジェクトをコンパイルする手順

序文Linux では、コンパイルとリンクには Makefile を使用する必要がありますが、適切な ...