ホームページ > ウェブフロントエンド > CSSチュートリアル > フレックス項目が折り返されるときに、最後の行から不要なマージンを削除するにはどうすればよいですか?

フレックス項目が折り返されるときに、最後の行から不要なマージンを削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-21 06:57:09
オリジナル
165 人が閲覧しました

How to Remove Unwanted Margin From the Last Row of Flex Items When They Wrap?

フレックス項目をラップするときにマージンを削除する

フレックスボックス レイアウトを使用する場合、最後の行がコンテナ内の flex アイテムには、最後のアイテムが CSS クラスから継承しているため、不要な下マージンが生じます。タグ リストが動的である場合、これは困難になり、インデックスに基づいて特定のアイテム (つまり、アイテム-13、アイテム-14 など) をターゲットにするのは現実的ではありません。

解決策

Flexbox には、項目の最後の行からマージンを削除する直接的な方法はありません。ただし、別のアプローチがいくつかあります。

1. Gap プロパティの使用

最新のブラウザでは、CSS のギャップ プロパティを使用してフレックス項目間にスペースを作成できます。ギャップ値を設定すると、すべてのフレックス項目の間にスペースが自動的に追加され、マージンが不要になります。

.container {
  ...
  gap: 5px;                          /* added */
}
ログイン後にコピー

2.行ベースの選択

タグ リストが高さが既知の別のコンテナの子である場合、CSS nth-child() セレクターを使用して最後の行から下マージンを選択的に削除できます。

.container .tags li:nth-child(12n) {
  margin-bottom: 0;
}
ログイン後にコピー

3.計算された幅の子

場合によっては、各子の幅を計算してフレックス コンテナに追加できる場合があります。これにより、コンテナが子を均等にラップするようになり、明示的なマージンが不要になります。

.container {
  ...
  display: flex;
  flex-wrap: wrap;
  width: 100%;  /* width based on child count and their individual widths */
}

.tag {
  width: 20%;
}
ログイン後にコピー

注: ギャップ プロパティは、Chrome、Firefox、およびその他の最新のブラウザでサポートされています。サファリ。サポートされていないブラウザでは 0 に戻ります。

以上がフレックス項目が折り返されるときに、最後の行から不要なマージンを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート