CSSアダプティブレイアウトは、サブ要素項目の全体的な中央揃えと内部項目の左揃えを実現します。

CSSアダプティブレイアウトは、サブ要素項目の全体的な中央揃えと内部項目の左揃えを実現します。

日常業務では、次のようなレイアウトに遭遇することがあります。親要素のフレーム (ブラウザのサイズに応じて幅が調整されます) に多数のボタンが含まれ、これらのボタン (固定幅) を親要素の中央に配置する必要があり、ボタンの全体的なコンテンツは左から右に配置されるというものです。解決策は次のとおりです。

次のコードがあります:

<div class="wrap">
    <button class="btn">1</button>
    <button class="btn">2</button>
    <button class="btn">3</button>
    <button class="btn">4</button>
    <button class="btn">5</button>
    <button class="btn">6</button>
    <button class="btn">7</button>
</div>

対応する CSS は次のとおりです。

。包む {
    境界線: 2px 黒一色;
    マージン: 0 自動;
    パディング: 10px;
    幅: 40%;
}
.btn{
    アウトライン: なし;
    境界線: なし;
    幅: 180ピクセル;
    高さ: 30px;
    背景色: コーンフラワーブルー;
    マージン: 5px;
}

表示効果:

表示効果1

動的に変化する幅:

幅バリエーション1

ご覧のとおり、ブラウザ ウィンドウのサイズを縮小すると、親要素 (黒いボックス) の幅が動的に調整され、その子要素も親要素の幅に応じて動的に配置されます。ただし、ボタン グループは親コンテナー内で左揃えになっています。全体を中央揃えにしたい場合は、次のようにします。

CSSコード:

。包む {
    境界線: 2px 黒一色;
    マージン: 0 自動;
    パディング: 10px;
    幅: 40%;
    表示: グリッド;
    グリッドテンプレート列: repeat(自動入力、200px);
    コンテンツの中央揃え: 中央;
}
.btn{
    アウトライン: なし;
    境界線: なし;
    幅: 180ピクセル;
    高さ: 30px;
    背景色: コーンフラワーブルー;
    マージン: 5px;
}

親要素のdisplayプロパティをgridに設定し、グリッド列テンプレートを auto-fill に設定し、幅を200pxに設定し (ここでの幅は、単一のボタン要素よりもわずかに大きくすることができます)、 justify-contentプロパティ値をcenterに設定して、コンテンツを水平方向に中央揃えにします。効果は以下のとおりです。

表示効果2

動的に変化する効果:

幅バリエーション2

幅の変更プロセス中、サブ要素全体が常に中央に留まっていることがわかります。

CSSだけでこの効果を実現するには、グリッドを使うことしか思いつきませんでした。他の方法があれば、ぜひメッセージを残して一緒に学んでくださいね〜

ヒント: グリッドの互換性は現時点ではあまり良くありません。古いバージョンのブラウザをサポートする必要がある場合は、注意して使用してください。

互換性

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQL マスタースレーブレプリケーションと読み取り書き込み分離の詳細な説明

>>:  ウェブページのメモリ使用量とCPU使用量を削減する方法

推薦する

MySQL InnoDB の重要なコンポーネントの概要

Innodbには以下のコンポーネントが含まれています1. innodb_buffer_pool:これ...

最新の超詳細な VMware 仮想マシンのダウンロードとインストールのグラフィック チュートリアル

目次1. 仮想マシンをダウンロードする2. 仮想マシンのインストールVMware のダウンロードとイ...

MySQL の永続性とロールバックの原理を 1 つの記事で理解する

目次再実行ログディスクデータを直接更新するのではなく、最初にメモリデータを更新する必要があるのはなぜ...

MySQL における distinct と group by の違い

簡単に言うと、distinct は重複を削除するために使用され、group by は統計を集計するよ...

MySQL における「:=」と「=」の違いの簡単な分析

=設定および更新の場合にのみ、:= と同じ効果、つまり代入効果があり、それ以外の場合は等号の効果があ...

SQLはROW_NUMBER() OVER関数を使用してシーケンス番号を生成します。

構文: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY...

40 CSS/JSスタイルと機能的な技術処理

1-ドロップダウン選択ボックスのスタイル設定 - ドロップダウン リストを変更します。 2- <...

クロスドメイン js フロントエンドの 8 つの実装ソリューション

目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...

CSS 読み込み効果の実装 パックマン

えーっと、名前はただの推測です 2333序文これは練習用の CSS デモです。何か間違っている点があ...

Vue グローバル フィルターの概念、注意事項、基本的な使用方法

目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...

CSS でテキストシャドウと要素シャドウ効果を使用する

テキストシャドウの紹介CSSでは、 text-shadowプロパティを使用してテキストの影を設定しま...

WeChatアプレットがユーザーの移動軌跡を記録

目次設定を追加json 構成レイヤー構成の表示論理層の構成位置追跡をオンにする録音を開始開始座標を決...

上位Nを見つけるためのMySQLグループソートの詳細な説明

MySQLグループソートで上位Nを見つけるテーブル構造grp でグループ化し、num で並べ替えて、...

Windows 10 64 ビット版に MySQL 5.6.35 をインストールするためのグラフィック チュートリアル

1. MySQL Community Server 5.6.35をダウンロードするダウンロードアドレ...