Flexbox レイアウトでラップされた Flex アイテムの幅を一貫して実現するにはどうすればよいですか?
フレックスボックス レイアウトでラップされたフレックス項目の幅を一貫して確保する方法
問題
フレックスボックス レイアウトでは、フレックス項目は通常、指定された幅に準拠します。最小幅と最大幅。ただし、フレックス項目が新しい行に折り返されると、使用可能なスペースを占有するために拡張する傾向があり、その結果、異なる行の項目間の幅が不一致になります。
解決策
直接的な解決策はありません。 CSS 仕様内のこの問題に対しては、メディア クエリを使用して回避策を実現できます。
Mixin アプローチ
SCSS Mixin:
@mixin flex-wrap-fix($flex-basis, $max-viewport-width: 2000px) { flex-grow: 1; flex-basis: $flex-basis; max-width: 100%; $multiplier: 1; $current-width: 0px; @while $current-width < $max-viewport-width { $current-width: $current-width + $flex-basis; $multiplier: $multiplier + 1; @media(min-width: $flex-basis * $multiplier) { max-width: percentage(1/$multiplier); } } }
使用法:
各フレックス項目にミックスインを適用します:
.flex-item { @include flex-wrap-fix(100px) }
説明
このミックスインは、指定されたフレックスに基づいて一連のメディア クエリを生成します-フレックス項目の基礎。各メディア クエリは、100% をその行に収まるフレックス アイテムの数で割ることにより、指定されたビューポート幅に対するフレックス アイテムの最大幅を計算します。
コンテナベースのコントロール用に更新された Mixin
場合によっては、フレックス コンテナの幅がビューポートの幅と一致しないことがあります。これに対処するには、代わりにミックスインの更新バージョンをフレックス コンテナに適用します。
@mixin flex-container-wrap-items($flex-basis, $max-expected-width: 2000px) { display: flex; flex-wrap: wrap; > * { max-width: 100%; flex-grow: 1; flex-basis: $flex-basis; } $multiplier: 1; $current-width: 0px; @while $current-width < $max-expected-width { $current-width: $current-width + $flex-basis; $multiplier: $multiplier + 1; &[min-width~="#{$flex-basis * $multiplier}"] > * { max-width: percentage(1/$multiplier); } } }
使用法:
ミックスインをフレックス コンテナに適用します。
.flex-container { @include flex-container-wrap-items(100px) }
例
変更された CodePen の例はここにあります:
http://codepen.io/anon/pen/aNVzoJ
注意事項
- このアプローチでは、すべての行のフレックス項目間の等しい幅はサポートされません。
- ビューポートの最大幅がわかっている場合は、過剰なメディア クエリを避けるためにそれを指定する必要があります。
以上がFlexbox レイアウトでラップされた Flex アイテムの幅を一貫して実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

CSS Gridは、レイアウトをこれまで以上に簡単にするように設計されたプロパティのコレクションです。何でもするように、少し学習曲線がありますが、グリッドは

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります
