両端揃えレイアウトを実現する CSS 列のサンプルコード

両端揃えレイアウトを実現する CSS 列のサンプルコード

1. 堂々巡り

いろいろ試行錯誤した結果、均等割り付けレイアウトを実現する最も簡単な方法は CSS 列を使用することだということが分かりました。

たとえば、両端の 3 つの列の要素を中央に 30 ピクセルの間隔を置いて配置する場合、CSS コードは次のようになります。

。容器 {
    列数: 3 30px;
}

ピンポーン、終わったよ、ゲームオーバー~

それはとんでもなく単純です。

疑わずに、リアルタイム レンダリングの例を見てみましょう。

<div class="コンテナ">
    <div class="zhang"></div>
    <div class="xin"></div>
    <div class="xu"></div>
</div>
。容器 {
    列数: 3 30px;
}
.コンテナ > div {
    パディング: 50px;
    背景: deepskyblue;
}

リアルタイムレンダリング効果は以下のとおりです

2. 列実装のメリットとデメリット

アドバンテージ

Flex レイアウトや Grid レイアウトでのスペース間の値の配置効果と比較して、CSS 列レイアウトを使用する最大の利点は、必要なコードが少なくなるだけでなく、HTML 要素の元のdisplay計算値が保護されることです。

たとえば、ブラウザのデフォルトでは、 <li>要素にはドットなどの箇条書きや数字のシーケンスが含まれます。

FlexレイアウトやGridレイアウトを使用する場合は、 display:flexまたはdisplay:gridを設定する必要があります。元のdisplay:list-item計算値を変更すると、ドットや数字は消えます。

この利点のために、デモを作成しました。こちらをクリックしてください: リストスタイルのタイプを保持し、両端の列を揃えるデモ

次の図に示すように、 <li>要素の子要素は配置効果を維持し、 <li>要素自体のデフォルトのドット記号も保持されていることがわかります。

これは、Flex レイアウトや Grid レイアウトでは簡単に実現できないことです。

欠点

単一行要素の配置効果に適しています。リスト要素の行数が多い場合、列レイアウトの処理は容易ではありません。まず、リストの流れは垂直方向が優先されます。次に、リストが垂直に分割されるという予期しないシナリオが発生しやすくなります。

3. 結論

実際の開発では、両端のレイアウト効果を実現するために CSS 列を使用することは現実的ではありませんが、それでも多くの制限があります。

唯一適切なシナリオは、表示値を変更せずに両端のレイアウト効果を実現する場合です。このようなシナリオは比較的まれですが、実際の開発プロジェクトや使用シナリオは数千に及ぶため、いつ遭遇するかを保証することは困難です。このとき、 columns:3 30pxなどのいくつかの文字を使用するだけで、絶妙なレイアウト効果を実現できます。素晴らしいと思いませんか。

実際、テクノロジーとはそういうものです。まったく役に立たない、まったく役に立たない API はほとんどありません。それらの API は存在する理由があり、登場には価値がありますが、その使用シナリオは非定型的なシナリオに対処するためのものです。

学んで理解すれば、短期間で成果が表れるわけではないかもしれませんが、プロジェクトの経験が蓄積されていくにつれて、必ず適切な使用シナリオに出会うでしょう。他の人はどうやってそれを実現するか頭を悩ませ、Google で検索し続けるでしょうが、あなたはそのようなニーズを一瞬で実現し、数行のコードを書くことができます。その感覚はあなたを夢中にさせるでしょう。それはどんな感じでしょうか?それは、テクノロジーの世界の支配者であり、数多くのコードを監視し、コードの世界で誰にも負けないという感覚です。本質的には、権力をコントロールし、技術の専門家であるという感覚です。

そのため、CSS 列は両端のレイアウトを実装するために使用される可能性は高いものの、それ自体の価値は低くありません。

さて、この記事は技術的にそれほど難しいものではなく、主にレイアウトのヒントをいくつか共有することを目的としています。

この記事のアドレス: https://www.zhangxinxu.com/wordpress/?p=9429

CSS 列を使用して両端揃えレイアウト効果を実現する方法についての記事はこれで終わりです。CSS 列を使用した両端揃えレイアウトの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MyCat を使用して Linux で MySQL マスター/スレーブの読み取り/書き込み分離を実装する方法

>>:  MySQL 8.0.26 のインストールとアンインストールの完全なステップバイステップの記録

推薦する

CSSは高さと幅を固定した要素の比例表示効果を実現します

padding-top パーセンテージを使用すると、固定幅と比例した高さの表示を実現できます。現在の...

JSにおける4つのデータ型判定方法

目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...

CSS3の3D効果を使って立方体を作成する

CSS3 の 3D 効果を使用して立方体を作成する方法を学ぶと、3D シーンの回転と変位のプロパティ...

Linux Centos でスクリプトを使用して Docker をインストールする方法

Dockerの主な機能は何ですか?現在、Docker には少なくとも次のアプリケーション シナリオが...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

MYSQLクエリデータの結果に自動的に番号を付ける方法

序文実際、クエリ中に結果に番号が付けられるこのような状況に遭遇したことは一度もありません。同僚が転職...

src 属性と href 属性の違い

src と href には違いがあり、混同される可能性があります。 src は現在の要素を置き換える...

JavaScriptはクリックトグル機能を実装します

この記事の例では、クリックして切り替える機能を実装するためのJavaScriptの具体的なコードを参...

MySQL sql99構文の内部結合と非等価結合の詳細な説明

#事例: 従業員の給与水準を照会する 選択 給与、等級 から 従業員 参加する ジョブグレード g ...

UbuntuはCUDAの複数のバージョンをインストールし、いつでも切り替えることができます

CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...

MySQL の主キーとトランザクションの詳細な説明

目次1. MySQLの主キーとテーブルフィールドに関するコメント1. 主キーと自動増分2. テーブル...

HTML のブロックレベル要素と行レベル要素、特殊文字、ネスト規則

基本的な HTML Web ページ タグのネスト ルールを紹介する場合、最初に説明する必要があるのは...

Centos Docker ブリッジ モードでホスト Redis サービスにアクセスできないというトラブルシューティングの経験

背景:以前、コンテナ内のホストが提供する Redis サービスにアクセスする必要があるプロジェクトを...

要素テーブルの多層ネスト表示の実践

複数の注文を含むリストが必要です。各注文は一意にすることも、複数の注文を結合することもできます。各注...

Navicat Premium が MySQL 8.0 に接続してエラー「1251」を報告する問題を解決する方法の分析

長い間何もしていなかった人は、努力をすると一生懸命働いていると思うようになります。 1. 問題Nav...