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 つの方法

推薦する

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

レム適応の一般的なパッケージ3つについて

序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...

MySQLのkillがスレッドをkillできない理由

目次背景問題の説明原因分析シミュレーションする総括する背景日常の使用において、MySQL で個別また...

HTML における相対と絶対の使用法と違いの詳細な説明

HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...

Ubuntuのpython3でvenvを使用して仮想環境を作成する

1. 仮想環境はプロジェクトに従い、単一のプロジェクト用の仮想環境を作成します(Python 3.4...

Centos7 に MySQL 8.0.23 をインストールする手順 (初心者レベル)

まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...

HTMLにスクリプトを追加する2つの方法と注意点

HTML に <script> スクリプトを追加する方法: 1. HTMLにJavaSc...

HTML でのメタタグと使用法の詳細な説明

これ以上無駄話をして時間を無駄にしないので、今日の話題を始めましょう。 HTML のメタタグ1. メ...

CSS の vertical-align プロパティとベースラインの問題に関する深い理解

vertical-align属性は、主にインライン要素の配置を変更するために使用されます。インライン...

MySQL の結合テーブルにインデックスを作成する方法

この記事では、MySQL で 2 つのテーブルを関連付ける結合テーブルにインデックスを作成する方法を...

MySQL コマンドライン操作中のエンコードの問題の詳細な説明

1. MySQLデータベースのエンコーディングを確認する mysql -u ユーザー名 -p パスワ...

MySQL で 2 つのセットの交差/差/和を取得する方法

MySQL の一般的なシナリオ: 2 つのデータ セットの交差と差を取得するステップ1. 2つのコレ...

MySQL XA で分散トランザクションを実装する方法

目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...

MySQLインデックスを最適化する方法

1. MySQL のインデックスの使用方法インデックスは、特定の列の値を持つ行をすばやく見つけるため...