」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 修復下拉式選單/工具提示等隱藏的溢出

修復下拉式選單/工具提示等隱藏的溢出

發佈於2024-11-07
瀏覽:833

您是否曾嘗試為您的按鈕建立下拉列表,然後選擇但隨後被溢出隱藏阻止?

然後你該怎麼做,然後你使用javascript將元素丟到DOM的根目錄,然後根據觸發元素矩形定位元素,每次佈局更改時重新計算,發生滾動和調整視窗大小,不是很有效的。

首先我想說的是它還沒有完全支持,但現在有一個polyfill可以解決這個問題。

我們要依賴的兩個主要功能是

錨定位

Fixing the overflow hidden for dropdowns/tooltips etc

彈出視窗

Fixing the overflow hidden for dropdowns/tooltips etc

所以當我看到對話框被送到根但帶有 DOM 層時,我最初的想法就出現了。我偶然發現了 popover api,你基本上得到了相同的邏輯,但行為略有不同。

我還記得看到一篇關於將元素錨定到範圍滑桿上的拇指的帖子。

然後我想基本上你想對任何需要打破溢出隱藏的下拉選單/工具提示等做什麼,如果你混合兩者,你不需要所有過多的javascript。

所以這是支援它的瀏覽器中的工作演示

  • Chrome、Edge v125
  • Opera v111
  • Android 版 Chrome,Andriod 瀏覽器 v129

好吧,如果你今天想使用它怎麼辦。好吧,我們可以使用一個polyfill。

oddbird/css-anchor-positioning polyfill

它有很好的瀏覽器支援

  • 火狐 54
  • Chrome 51
  • 邊緣 79
  • Safari 10

嘗試存取非polyfill範例中未提及的瀏覽器,下面的範例有效,我親自測試了最新版本的safari和firefox

這意味著,在大多數瀏覽器中,我們將有額外的計算開銷,但當我們有足夠的兼容性時,它很容易使用和關閉。

這種方法有一個問題,那就是 polyfill 的大小約為 92kb,因此會對加載產生影響,但您可以在應用程式/網站完成任何重要操作後延遲加載它

版本聲明 本文轉載於:https://dev.to/sp90/fixing-the-overflow-hidden-for-dropdownstooltips-etc-499?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3