ホームページ  >  に質問  >  本文

Google Chrome は Flexbox ビューポートを使用して展開方向を固定します

<p>Google Chrome で、<code>スペース</code Expand/collapse> または <em>隣接</em> Flex アイテムを持つ Flexbox コンテナ内に要素を配置すると問題が発生します。 code>center</code> ビューポートに対してコンテンツをさまざまな方向に揃えます。 </p> <p>Firefox、IE11、Edge、または Safari では、要素は常に下に展開されるため、これは問題になりません。 </p> <p>興味があります:</p>
P粉852578075P粉852578075395日前518

全員に返信(1)返信します

  • P粉283559033

    P粉2835590332023-08-26 12:21:55

    このコードを Flex コンテナに追加します:

    • オーバーフロー アンカー: なし

    これにより、ボックスが上に拡張される「スクロール アンカー」と呼ばれる Chrome の機能が無効になります (改訂されたコード ペン )。


    Chrome では、展開可能なボックスの上下方向は、レイアウト自体ではなく、ビューポート内のスクロール位置によって決まります。

    ユーザー エクスペリエンスを向上させるために、Chrome はこの動作に対して独自のアプローチを採用しています。

    基本的に、DOM 要素を現在のスクロール位置にバインドします。画面上のこの特定の (「アンカー」) 要素の移動により、スクロール位置 (存在する場合) の調整が決定されます。

    彼らはこの方法を「スクロール アンカリング」と呼んでいます。アルゴリズムはこのページで説明されています。 https://github.com/WICG/ScrollAnchoring/blob/master/explainer.md

    この動作は現時点では Chrome に固有のものですが、Google は標準化を推進しています。

    スクロール アンカーのドキュメントによると、適切な要素に overflow-anchor: none を適用すると、スクロール アンカーの調整が無効になります。

    ###詳しくは:###

      https://github.com/WICG/ScrollAnchoring/blob/master/interpreter.md
    • https://bugs.chromium.org/p/chromium/issues/details? id=739860
    • https://hacks.mozilla.org/2019 /03/scroll-anchoring-in-firefox-66/
    • CSS フレックス順序を変更するとスクロールが発生する
    • 返事
      0
  • キャンセル返事