両端の CSS レイアウトのサンプルコード (親の負のマージンを使用)

両端の CSS レイアウトのサンプルコード (親の負のマージンを使用)

最近、開発中に両端が揃ったレイアウトに遭遇しました。レイアウトはパーセンテージに基づいていました。以前はフレックスレイアウトを使用していましたが、両端にフレックスレイアウトを使用すると、さまざまなバグが発生していました。例えば、以下のように動的に生成される場合、3列以上であれば、両側に以下のリストが分散されます。
解決はできるものの、やはり通常の CSS を使ってレイアウトする方法を見てみたいと思います。私がこれを書いたからです。

オンラインでいくつかのチュートリアルを見つけましたが、それらはすべて操作の幅が固定されていました。それをパーセンテージ形式に変更して簡単に記録しました。
まず、CSS

<スタイル>
        * {
            パディング: 0px;
            マージン: 0px;
            ボックスのサイズ: 境界線ボックス;
        }
        
        .max-box {
            最大幅: 1200px;
            マージン: 0px 自動;
        }
        
        。箱 {
            オーバーフロー: 非表示;
            幅: calc(100% + 20px);
            左マージン: -10px;
        }
        
        .インナー{
            高さ: 100px;
            境界線: 実線 1px 赤;
            フロート: 左;
            左マージン: 10px;
            幅: calc(((100% - 20px) - 10px * 3) / 4);
        }
        
        .max-box2 {
            最大幅: 1200px;
            マージン: 50px 自動;
            境界線: 実線 1px 赤;
            高さ: 200px;
        }
    </スタイル>

次にHTMLへ

 <div class="max-box2">

    </div>
    <div class="max-box">
        <div class="box">
            <div class="inner">

            </div>
            <div class="inner">

            </div>
            <div class="inner">

            </div>
            <div class="inner">

            </div>
        </div>
    </div>

これらを HTML に記述すると、その効果を確認できます。
下記の通り

ここに画像の説明を挿入

最後に、式をまとめてみましょう

x = 10px; つまり、必要な間隔 y = 4 つまり、必要な行数 親: width: calc(100% + (x * 2));
子: 幅: calc(((100% - (x * 2)) - x * ( y - 1)) / y );

要約する

CSS レイアウト - 両端レイアウト (親の負のマージンを使用) に関するこの記事はこれで終わりです。CSS レイアウトの親の負のマージンに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

<<:  Linux netstatコマンドの詳細な説明

>>:  JavaScript排他的思考の具体的な実装

推薦する

MYSQL の 10 の典型的な最適化ケースとシナリオ

目次1. SQL最適化の一般的な手順1. SQL実行計画の分析を説明する2. プロフィール分析を表示...

誰もが知っておくべきウェブサイトのユーザビリティに関する 10 のヒント

これ以上時間を無駄にせず、早速本題に入りましょう。 1. ロゴに代替テキストを追加するこれには 2 ...

EclipseにTomcatサーバー設定を追加する方法

1. ウィンドウ -> 設定を選択してEclipseの設定パネルを開きます。 2. 「設定」ウ...

TypeScript 名前空間のマージの説明

目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...

Linux ドメイン ネーム サービス DNS 設定方法

DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...

初心者向けウェブサイト構築チュートリアルの概要

これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...

doctype のマークアップ検証

しかし最近、この方法を使用すると問題が発生することがわかりました。コードを参照してください。コードを...

VMware仮想マシンブリッジによるインターネット相互接続を実現する方法

VMware をインストールして新しい仮想マシンを作成したら、オプション バーの [編集] - [仮...

HTML に基づいてページを更新せずにフォーム送信を実装する

ページを更新せずにフォーム送信を実装するために Ajax を使用することは、プロジェクトでよく使用さ...

MySQL最適化ツール(推奨)

序文今日 GitHub を閲覧していたところ、SQL を最適化および書き換えるための sora とい...

Reactのコンポーネント作成方法のまとめ

目次1. 関数を使用してコンポーネントを作成する2. クラスを使用してコンポーネントを作成する3. ...

vscode で console.log を書く 2 つの簡単な方法の詳細な説明

(I) 方法 1: 事前にスクリプト タグ内に直接定義します。この HTML ファイルにのみ適用され...

タブ効果を実現する js 開発プラグイン

この記事の例では、タブ効果を実現するためのjsプラグインの具体的なコードを参考までに共有しています。...

MySQLでテーブルを作成し、フィールドコメントを追加する方法

コードと例を直接投稿する #テーブル作成時にコメントを記述する CREATE TABLE useri...

Nginx ストリーム構成プロキシ (Nginx TCP/UDP ロード バランシング)

序章nginx が優れたリバース プロキシ サービスであることは誰もが知っています。nginx を使...