セル内に正方形を描画するグリッドがあります。行と列の数があり、グリッド セルを描画し、(配列に従って) 各セルに正方形があるかどうかを確認し、必要に応じて正方形を描画します。 HTML の最終結果は次のようになります: (1 行 3 列があると仮定すると、正方形を持つセルは 2 つだけになります)
リーリー リーリー
行は画面の幅全体を占め、列のサイズはすべての列で同じである必要があり、画面上の列の数に基づいて変更されます (たとえば、列が 5 つある場合は、すべてに幅が指定されている必要があります) 100 ピクセルですが、列が 1000 個ある場合、それらはすべて 10 ピクセル幅になるはずです)。
私の問題は、列サイズの特定のブレークポイントの後にパディングと境界線の半径が奇妙に見えることであり、そのブレークポイントに到達したときにそれらの値を変更したいと考えています。 @container クエリはまだ完全にサポートされていないため、使用できません。
それが役立つ場合は、私は vue 2 を使用しています。ただし、この場合は CSS ソリューションの方が良いと思います。
P粉4278776762024-04-04 14:37:48
説明されている問題の解決を試みます:
このシナリオを達成するための条件をより詳しく調査するために、小さなデモを作成しました。
.row
要素は引き続き Flexbox コンテナですが、その Flex アイテムには border
が設定されておらず、スタイル設定に outline
設定が使用されます。
したがって、Flex アイテムの境界線を表示しようとするときに、レイアウトがスタイルの奇妙さによって影響を受けないようにするために、このデモでは、これらの境界線をレンダリングするために 2 つの重要な側面のみに依存しています。
柔軟な項目間の
アウトライン::after を使用して要素にコンテンツを追加します
疑似要素として適用され、ここでもグリッド レイアウトには何も影響しないことが保証されます。
リーリー
ダッシュボード - オプションの探索
そこから、
position:fixed
列幅 (px)
カウンターの表示/非表示を切り替えます
: 各フレックス項目の上にカウンターを表示/非表示にします
ので、それは別の要因であると言うべきです。 さまざまなパラメーターを試し、ギャップも考慮してデモの数値を計算しました。適切で安全なレイアウトを使用すると、潜在的な問題を最小限に抑えることができます (たとえば、境界線のサイズを大きくすることもできます)。 Flex レイアウトを使用すると、これ以上のことはできませんでした。
リーリー リーリー リーリー