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 の詳細な説明

推薦する

Mybatisの特殊文字処理の詳細な説明

序文: Mybatis の特殊文字処理、Mybatis の xml ファイル内の特殊文字の処理、ここ...

MySQLの日付と時刻関数の使用の概要

この記事はMySQL 8.0に基づいていますこの記事では、日付と時刻の操作のための MySQL 関数...

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

Vueリストデータを削除した後、ページを自動的に更新する方法と更新方法の詳細な説明

問題の説明:フロントエンドがデータの一部を削除したり、新しいデータを追加したりすると、バックエンドの...

SQLでEXPLAINコマンドを使用する方法

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

WeChatアプレットの下部にあるタブバーがコンテンツをブロックする問題に対処する簡単な方法

WeChatアプレットでタブバーを設定すると、重要なコンテンツがブロックされ、iPhoneXなどの異...

MySQL マルチバージョン同時実行制御 MVCC の実装

目次MVCCとはMVCC 実装MVCC はファントム リードを解決しますか? MVCCとはMVCC ...

Linux で Squid プロキシ サーバーを構築するための完全な手順

序文この記事では、Linux で Squid プロキシ サーバーを設定することに関する関連コンテンツ...

Docker は 2003 年の問題を解決するために MySQL リモート接続を導入しました

MySQLへの接続ここでは、リモート接続に navicat を使用します。MySQL に接続する前に...

Dockerはプライベートライブラリイメージを完全に削除します

まず、インターネット上の一般的な慣行を見てみましょうデフォルトでは、プライベート ライブラリはイメー...

いくつかの面接の質問を使ってJavaScriptの実行メカニズムを調べる

目次前の単語同期と非同期前菜プレートを追加マクロタスク マイクロタスク約束しましょうタイマーを追加す...

HTMLページの読み込み速度を上げる方法

(1)HTTPリクエストを減らす。 (リソース ファイルをマージし、イメージ スプライトを使用します...

WeChatアプレットがログインインターフェースを実装

WeChatアプレットのログインインターフェースは参考までに実装されています。具体的な内容は次のとお...

ウェブページ上の小さなスペースに大きな画像を配置する方法

出典: www.bamagazine.comウェブページのバナー、ニュースの見出しの周りのスペース、...

CocosCreator ソースコードの解釈: エンジンの起動とメインループ

目次序文準備行く!文章プロセスを開始するメインループまとめ要約する序文準備皆さんは、こんなことを考え...