CSS の両端揃えを実現する div+css レイアウトの 4 つの方法の概要

CSS の両端揃えを実現する div+css レイアウトの 4 つの方法の概要

2 端揃えを実現する div+css レイアウトは、Web ページの組版でよく使用されます。この記事では、実現可能な方法をまとめます。

HTML構造

CSS を使用してデモ内の div を配置します。

<div class="box">
 <div class="demo">
     <div>1</div>
     <div>2</div> 
     <div>3</div>
 </div>
</div>

1. マイナスマージン方式

この方法では、要素の間隔を中間層のマージン オーバーフロー値として使用して、追加のネスト層を実装する必要があります。

<スタイル>
。箱{
     幅:300px;マージン:自動;オーバーフロー:非表示;境界線:1px実線 #ddd;
}
.box .demo{
    左余白:-10px;幅:310px
}
.box .demo div{
     width:93.333px;/*(計算: (300-10*2)/3)*/
     フロート:左;
     左マージン:10px;
}
</スタイル>

2.display:inline-block/text-align:justifyメソッド

正当化方法はよりシンプルで便利です。シンプルな要素が宣言されている限り、その中の要素は自動的に等間隔で整列され、レイアウトされます。親コンテナーの幅を変更することはもちろん、各リスト要素間の余白の間隔を計算する必要もありません。

注意: デモ構造内の要素には [改行] または [スペース] が含まれている必要があります。そうでない場合、直接書き込んでも機能しません。

<スタイル>
。デモ{
     マージン:0;パディング:0;
     テキスト配置:両端揃え;
     text-align-last:justify;/*IE サポートを解決する*/
     line-height:0;/*標準ブラウザコンテナの下部にある余分な空白スペースを解決します*/
}
@media すべておよび (-webkit-min-device-pixel-ratio:0) {
  。デモ{
     font-size:0;/*webkit は要素内で [改行] または [スペース文字] を使用した後、最後の要素内の余分なスペースをクリアします*/
  }
}
.demo:after{/*text-align-last:justify は IE でのみサポートされており、標準ブラウザでは同様の効果をシミュレートするために .demo:after 疑似クラスを使用する必要があります*/
     表示:インラインブロック;
     オーバーフロー:非表示;
     幅:100%;
     高さ:0;
     コンテンツ:'';
     vertical-align:top;/*Opera ブラウザは下部の余分なスペースを解決します*/
}
.demo div{
     幅:20%;
     表示:インラインブロック;
     text-align:center;/*上位要素の影響を解除*/
     テキストの最後揃え:中央;
     フォントサイズ:12px;
}
</スタイル>

3. CSS3プロパティspace-between

この方法は、WebKitカーネルとWinphone IE10以上をベースにしたWebアプリケーション開発をベースとしており、モバイル端末のレイアウトによく使用されます。

<スタイル>
。デモ{
    ディスプレイ:-webkit-box;
    ディスプレイ:-webkit-flex;
    ディスプレイ:-ms-flexbox;
    ディスプレイ:フレックス;
    -webkit-box-pack: 正当化する;
    コンテンツ間のスペースを空ける
    -ms-flex-pack: 揃える;
    コンテンツの両端揃え:スペースの間;
}

.demo div{
     幅:30%; 
}
</スタイル>

4. CSS3プロパティ列数

column属性は複数列レイアウトです。両端揃えを実現するためにcolumnを使用する場合は、モジュールの数を列の数と一致するように設定するだけで済みます。モバイル端末レイアウトに推奨されます。

<スタイル>
。デモ{
     -webkit-列数:3;-moz-列数:3;列数:3;
     -webkit-列間隔:10px;-moz-列間隔:10px;列間隔:10px; 
}

.demo div{
     
}
</スタイル>

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

<<:  nginx を最適化する 6 つの方法

>>:  JavaScript における Promise の詳細な説明

推薦する

JPG、GIF、PNGなどのさまざまな画像形式の詳細な説明

ウェブページ上の画像が一般的に jpg、gif、png 形式であることは誰もが知っています。それらの...

MySQL の悲観的ロックと楽観的ロックの理解と応用分析

この記事では、例を使用して MySQL の悲観的ロックと楽観的ロックについて説明します。ご参考までに...

Vueで複数の添付ファイルをアップロードする実装例

目次序文コアコードコードのファイル表示部分序文この記事では主に、Vue プロジェクトでの添付ファイル...

MySQL に外部キー制約を追加する具体的な方法

このチュートリアルの動作環境: Windows 7 システム、MySQL 8 バージョン、Dell ...

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

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

MySQL列挙型のテスト例

プロジェクトを開発しているとき、支払い済み、支払済み、クローズ済み、返金済みなどの注文ステータスなど...

メタビューポートタグ(モバイルブラウジングズームコントロール)の使用方法

OP が現在のファームウェアで Web ページを開くと、常に 50% にズームアウトされてから表示さ...

LNMP と phpMyAdmin を Docker にデプロイする方法

環境準備:複数のコンテナに基づいてホストに lnmp をデプロイします。 nginx サービス: 1...

Linux CentOS 7.4 で mysql5.7.20 のパスワードを変更する方法

MySQL がバージョン 5.7 にアップグレードされた後、セキュリティが大幅に向上しました。しかし...

MySQLデータベースのマスタースレーブレプリケーションの原理と機能の分析

目次1. データベースのマスター/スレーブ分類: 2. MySQL マスタースレーブの紹介3. マス...

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...

超詳細なMySQL使用仕様の共有

最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...

Dockerイメージのローカル移行の実装

最近 Docker を勉強しているのですが、よく問題に遭遇します。Docker イメージをダウンロー...

HTML テーブル境界制御実装コード

一般的に、テーブルを使用する場合は、常に <table border="1"...