CSSは複数の要素をボックスの両端に揃える効果を実現します

CSSは複数の要素をボックスの両端に揃える効果を実現します

要素の両端を揃える配置レイアウトは、実際の開発のいたるところで見られます。これは、フレックスレイアウトの --justify-content: space-between を使用すると簡単に実現できます。ただし、いくつかのシナリオでは互換性などを考慮する必要があり、フレックスレイアウトをあきらめなければなりません。したがって、同じ効果を実現したい場合は、タイプセッティングを研究する必要があります。インターネットで答えを検索した後、問題を解決できる本当にシンプルで実質的な答えはほとんどないことがわかりました。実際、実際のプロジェクトでこの種のレイアウトによく遭遇するため、コミュニケーションと共有のために、余暇を利用してここでその基本的な実装を共有します。

シナリオ要件

特定の幅のボックスで、ボックスの元のレイアウトに影響を与えずにアイテムの両端を揃えます。

<div class="コンテナ">
        <ul>
            <li>12</li>
            <li>2</li>
            <li>3</li>
            <li>12</li>
            <li>2</li>
            <li>3</li>
            <li>12</li>
            <li>2</li>
            <li>3</li>
        </ul>
    </div>

ここにこれらのアイテムがあるとします

* {
        マージン: 0;
        パディング: 0;
    }
    
    。容器 {
        幅: 1200ピクセル;
        高さ: 500px;
        背景色: 水色;
        マージン: 0 自動;
    }
    
    ul {
        /* キーは要素の幅で、マージンを負の値にシフトすることでコンテナと重なります*/
        幅: 1220ピクセル;
        左マージン: -20px;
        リストスタイル: なし;
    }
    
    ul li {
        フロート: 左;
        /* 幅 = (ボックスの幅 - 余白の間隔 * 行内の項目数 - 1) / 行内の項目数*/
        /* (1200px - 20 * 2) / 3 */
        幅: 386.666px;
        高さ: 60px;
        マージン: 0px 0 20px 20px;
        背景色: 赤;
    }

CSSの鍵は、アイテムの幅を計算する必要があることです両端のメント、フローティングレイアウト、フロー方向の幅が十分ではない場合、フローの列が1つずつ折りたたまれていると想像してください最後に連続して、明らかにマージンを0に設定するのが最良のソリューションではありません。現時点では、外側のボックス、外側のボックスULの幅(ここではULタグを使用し、ブロックタグは問題ありません)、および-Margin値設定を扱うことができます。

外箱の幅が1220pxなのはなぜですか

これはコンテナの元の幅です

これは ul の幅です。はい、コンテナよりも大きく、右側が大きくなっています。その後、ul を -margin で処理すると、両端が視覚的に揃います。

ulの背景色をキャンセルすると、効果が得られます

要約する

CSS を使用してボックス内の複数の要素を整列させる方法については、これで終わりです。CSS 要素ボックス整列の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MySQLが中国語の文字を挿入する問題を永久に解決するコツを教えます

>>:  Bootstrap 3.0 学習ノートのボタンとドロップダウン メニュー

推薦する

Bash スクリプトでの配列メソッドの作成と使用の概要

Bashで配列を定義するbash スクリプトで新しい配列を作成する方法は 2 つあります。 1 つ目...

Vueはボタン切り替え画像を実装します

この記事では、ボタン切り替え画像を実現するためのVueの具体的なコードを例として紹介します。具体的な...

JavaScriptの基礎を学ぶ

目次1. JavaScriptを記述する場所2. JavaScriptでよく使われる入力文と出力文1...

mysql-connector-java8.0.27 へのアップグレードに関する注意事項

最近、オンライン セキュリティ スキャンにより、MySQL コネクタに脆弱性が見つかりました。確認し...

Reactでプロキシを有効にする2つの実用的な方法

プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...

MySQL を使用して Excel でデータ生成を完了する方法

Excel は、データ分析に最もよく使用されるツールです。この記事では、MySQL と Excel ...

JavaScript DOMContentLoaded イベントのケーススタディ

DOMContentLoaded イベント文字通り、DOM がロードされた後に実行されます。 win...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

CSSマスクのフルスクリーン中央揃えを実装する方法

具体的なコードは次のとおりです。 <スタイル> #トーストローダーフルスクリーン{ 高さ...

Docker+DockerCompose を使用して Web アプリケーションをカプセル化する方法

目次テクノロジースタックバックエンドビルドAPIフロントエンドウェブ構築ゲートウェイ建設ゲートウェイ...

LinuxでLVMディスクを拡張する詳細な手順

1.ハードディスクを追加する2. パーティションの状態を確認します: fdisk -l 3. パーテ...

CSSファイルをインポートする3つの方法の詳細な説明

CSS を導入する方法には、インライン スタイル、内部スタイル シート、外部スタイル シートの 3 ...

VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

2 年生から、これらのインストールと設定の仕方を尋ねられました。簡単なチュートリアルを作成し、ここ...

JSはreduce()メソッドを使用してツリー構造データを処理します

目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...

Centos8 で yum を使用して mongodb 4.2 をインストールする方法

1. リポジトリファイルを作成するmongodb の公式インストール ドキュメントを参照し、次のスク...