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

推薦する

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1: ログイン.vue <テンプレート> <p class=&quo...

Vueのログインとログアウトの詳細な説明

目次ログインビジネスプロセスログイン機能の実装要約するまず、エフェクトの実装プロセスを見てみましょう...

Vue が Web オンラインチャット機能を実現

この記事では、Webオンラインチャットを実装するためのVueの具体的なコードを参考までに紹介します。...

ubuntu14.04 に jdk1.8 をインストールするチュートリアル

1. jdkダウンロードアドレスをダウンロードする我下載的是jdk-8u221-linux-x64....

Linuxでのソフトウェア(ライブラリ)の更新コマンドの詳しい説明

Ubuntu サーバーにパッケージをインストールする場合、sudo apt-get install ...

Java で ffmpeg を呼び出してビデオ形式を flv に変換する方法の詳細な説明

Java で ffmpeg を呼び出してビデオ形式を flv に変換する方法の詳細な説明注:以下のプ...

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

Vue+ElementUI Treeの使い方

Vue+ElementUI Treeの使い方は参考までに。具体的な内容は以下のとおりです。 フロント...

HTML で入力プロンプトのテキスト スタイルを変更するためのサンプル コード

多くのウェブサイトでは、入力ボックスにヒントテキストが表示されています。入力ボックスにヒントテキスト...

MySQLのバッファプールの詳細な説明

MySQL のデータはディスクに書き込む必要があることは誰もが知っています。ディスクの読み取りと書き...

MySQL のロック待機とデッドロック問題の分析

目次序文: 1. ロック待機とデッドロックを理解する2. 現象の再発と治療要約:序文: MySQL ...

Dockerコンテナを外部IPとポートにバインドする方法

Docker を使用すると、外部からコンテナにアクセスしたり、コンテナを相互接続したりすることで、ネ...

Linux で at および cron スケジュールタスクをカスタマイズする方法

Linux システムには 2 種類のスケジュールされたタスクがあります。1 つは 1 回だけ実行され...

CenterOS7 インストールおよび構成環境 jdk1.8 チュートリアル

1. まずcenterosに付属のJDKをアンインストールします rpm-qa|grepopenjd...

URL を入力すると、バックグラウンドでは具体的に何が起こるのでしょうか?

ソフトウェア開発者は、ネットワーク アプリケーションがどのように動作するかを階層的に完全に理解してい...