css3 flexレイアウト justify-content:space-between 最後の行は左揃えになります

css3 flexレイアウト justify-content:space-between 最後の行は左揃えになります

justify-content:space-betweenレイアウトを使用する場合、要素の最後の行にjustify-self: start;を使用しても効果がありません。調べたところ、CSS3 flexbox はまだサポートされていないことがわかりました。

では、最後の行を左揃えにするにはどうすればよいでしょうか?

いくつかの既存のソリューション

  • タグ要素を使用して不足している項目を補完する
  • グリッドの使用
  • 擬似クラスの使用

疑似クラスの場合、最後の要素がいっぱいになるとプレースホルダーが存在し、グリッドに互換性の問題が発生し、新しいタグを追加したくなくなります。

固定数の列で各行を左揃えにする

列の数は固定されているため、最後の要素のmargin-right値を計算して、完全な左揃えを確保できます。

各行に要素の列が 3 つしかないと仮定すると、最後の要素が 2 番目の列にある場合にのみmargin-right処理が必要になり (つまり、 li:last-child:nth-child(3n + 2) )、距離は 1 つの要素の幅 + ギャップ幅になります。

要素の幅が$widthであると仮定すると、上記の状況に必要な距離は次のようになります: (100% - 3 * $width) / 2 + $width => (100% - $width) / 2

.list1 li:最後の子:n番目の子(3n + 2) {
  右マージン: calc((100% - $width) / 2);
} 

同様に、1 行 4 列の場合、最後の要素が 2 列目にある場合と、最後の要素が 3 列目にある場合の 2 つのケースを処理する必要があります。

.list2 li:最後の子:n番目の子(4n + 2) {
  右マージン: calc((100% - $width) / 3 * 2);
}
.list2 li:最後の子:n番目の子(4n + 3) {
  右マージン: calc((100% - $width) / 3 * 1);
} 

デモコードを見るにはここをクリックしてください

列数が固定されていない各行の左揃え

最善の解決策はグリッドを使用することだと思います。インターネット上にはグリッドがたくさんあるので、ここでは説明しません。

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

<<:  ウェブ上でチャートを描くための 9 つの優れた JavaScript フレームワーク スクリプト

>>:  HTML 選択タグにリンクを追加する 3 つの方法

推薦する

Vue2.0の双方向データバインディング原則を手動で実装する

一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...

Linux でローカル コンピューターとリモート サーバーのポートが接続されているかどうかを確認する方法

以下のように表示されます。 1. ssh -v -p [ポート番号] [ユーザー名]@[IPアドレス...

CentOS7.5 の MySQL8.0.19 のインストールチュートリアルの詳細な手順

1. はじめにこの記事には MySQL インストール部分のスクリーンショットがないので、ある程度の基...

Vue2.x と Vue3.x のルーティングフックの違いの詳細な説明

目次vue2.xプレコンセプト:ルーティングフックのカテゴリルーティングとコンポーネントの概念(フッ...

Tencent Cloud Server Centosにデータディスクをマウントする方法

まず、ハードディスクデバイスにデータディスクがあるかどうかを確認します # まずfdisk -lを実...

h5入力ボックスプロンプト+通常のテキストボックスプロンプトを実装する方法

XML/HTML コードコンテンツをクリップボードにコピー<入力 id = "ユーザ...

Docker Compose を使用して Confluence を構築するチュートリアル

この記事は「Attribution 4.0 International (CC BY 4.0)」ライ...

Spring Boot 階層化パッケージング Docker イメージの実践と分析 (推奨)

目次1. Springbootプロジェクトを準備する2. 関連する設定を実行する3.パッケージ4.D...

VMware に Centos8 をインストールする詳細なチュートリアル

CentOS公式サイトアドレスhttps://www.centos.org/まず必要なファイルをダウ...

Docker ベースの MySQL マスタースレーブレプリケーション環境を構築するための実装手順

1. はじめに以前のプログラム アーキテクチャは次の形式になります。プログラムのサイズが大きくなると...

Vue はブラウザのパスワード記憶機能を無効にするサンプル コードを実装します

情報を探すインターネットで見つかったいくつかの方法: autocomplete="off&...

デザイン理論:人の心を理解する方法

<br />かつて、仏印と東坡氏が仏教について雑談していたとき、東坡氏が突然こう言った。...

React antdはフォームの動的な増減を実現します

以前、動的フォームを記述しているときに落とし穴に遭遇しました。インデックスの添え字をキーとして使用す...

VMware Workstation 14 Pro のインストールとアクティベーションのグラフィック チュートリアル

この記事では、VMware Workstation 14 Proのインストールとアクティベーションに...

要素 ui の el-table の列にさまざまなスタイルのデータを動的に実装する例

問題の説明Ele.me UI のフレームワークでは、入力データは el-form であり、出力データ...