您是否曾嘗試為您的按鈕建立下拉列表,然後選擇但隨後被溢出隱藏阻止?
然後你該怎麼做,然後你使用javascript將元素丟到DOM的根目錄,然後根據觸發元素矩形定位元素,每次佈局更改時重新計算,發生滾動和調整視窗大小,不是很有效的。
首先我想說的是它還沒有完全支持,但現在有一個polyfill可以解決這個問題。
我們要依賴的兩個主要功能是
錨定位
彈出視窗
所以當我看到對話框被送到根但帶有 DOM 層時,我最初的想法就出現了。我偶然發現了 popover api,你基本上得到了相同的邏輯,但行為略有不同。
我還記得看到一篇關於將元素錨定到範圍滑桿上的拇指的帖子。
然後我想基本上你想對任何需要打破溢出隱藏的下拉選單/工具提示等做什麼,如果你混合兩者,你不需要所有過多的javascript。
所以這是支援它的瀏覽器中的工作演示
好吧,如果你今天想使用它怎麼辦。好吧,我們可以使用一個polyfill。
oddbird/css-anchor-positioning polyfill
它有很好的瀏覽器支援
嘗試存取非polyfill範例中未提及的瀏覽器,下面的範例有效,我親自測試了最新版本的safari和firefox
這意味著,在大多數瀏覽器中,我們將有額外的計算開銷,但當我們有足夠的兼容性時,它很容易使用和關閉。
這種方法有一個問題,那就是 polyfill 的大小約為 92kb,因此會對加載產生影響,但您可以在應用程式/網站完成任何重要操作後延遲加載它
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3