Flexbox 列が 4 つあり、すべて正常に動作しますが、列にテキストを追加して大きなフォント サイズに設定すると、Flex プロパティにより列が本来の幅よりも広くなってしまいます。
word-break:break-word
を使用してみたところ、うまくいきましたが、列のサイズを非常に狭い幅に変更すると、テキスト内の文字が複数の行に分割されてしまいました (各行は 1 文字) )、列の幅は 1 文字のサイズ以上になります。
フォント サイズと列のパディングを小さく設定すると解決することはわかっています...でも、他に解決策はありますか?
#overflow-x:hidden
は使用できません。
JSフィドル
リーリー
リーリー
P粉8846670222023-10-16 12:25:29
Flex と Grid が何年も私を悩ませてきたことがわかったので、次のことを提案します:
リーリーこの動作が必要な場合は、min-width: auto
または min-height: auto
を使用してください。
実際、ボックス サイズを追加して、すべてのレイアウトをより合理的にすることもできます:
リーリー何か奇妙な結果があるかどうか知っている人はいますか?上記の方法を組み合わせて数年間使用しましたが、問題はありませんでした。実際、フレックス/グリッドからコンテンツの内側に向かってレイアウトするのではなく、コンテンツから外側に向かってフレックス/グリッドにレイアウトしたいというケースは思いつきません。もちろん、そのようなケースが存在するとしても、それはまれです。 。したがって、これは悪いデフォルトのように感じられます。しかし、もしかしたら私は何かを見逃しているでしょうか?
P粉5579579702023-10-16 11:35:45
Flexbox のデフォルト設定が表示されました。
フレキシブル項目は、主軸に沿ったコンテンツのサイズより小さくすることはできません。
デフォルト値は...
最小幅: 自動
最小高さ: 自動
...行方向と列方向のそれぞれの伸縮性アイテムの場合。
フレックス項目を次のように設定することで、これらのデフォルトをオーバーライドできます。
最小幅: 0
最小高さ: 0
オーバーフロー: hidden
(または visible
を除くその他の値) 概要自動
値...
min-height: auto
デフォルト値は、overflow
が表示されている
場合にのみ適用されます。
#overflow 場合、min-size 属性の値は
0 です。
したがって、
overflow: hide と
min-height: 0 を置き換えることができます。
###その上...###
たとえば、行指向コンテナ内の Flex アイテムは、デフォルトでは
min-height: auto
曲げ方向: 行と曲げ方向: 列の最小幅は別の方法で表示されますmin-width: auto / min-height: auto
をオーバーライドすることもできます。より高いレベルのアイテム。
基本的に、
min-width: auto を持つ上位レベルの Flex プロジェクトは、 code>min-width: 0
###例:###
Flex アイテムは内容よりも小さく縮小しません
min-height: 0 のデフォルトに戻すか、(2) に基づいているようです。謎のアルゴリズム 0
デフォルト値が自動的に適用される場合があります。 (これはおそらく、介入
と呼ばれるものです。)非常に多くの人が、レイアウト (特に必要なスクロールバー) が Chrome では期待どおりに機能しているのを確認していますが、Firefox/Edge ではそうではありません。この問題については、こちらで詳しく説明しています:
Flex-shrink の Firefox と Chrome の違い
IE11
仕様に記載されているように、min-width
および min-height
プロパティの auto
値は「新規」です。これは、一部のブラウザでは、値を更新する前に Flex レイアウトを実装しており、0
が min 0
値が表示される可能性があることを意味します。 "http://www.w3.org/TR/CSS2/visudet.html#min-max-widths" rel=" -widthCSS 2.1## #。 IE11 はそのようなブラウザです。 他のブラウザは、フレックスボックス仕様で定義された新しい
auto 値に更新されました。中定义的 auto