CSS中overflow-y: visible;不起作用的解決方法
這篇文章帶給大家的內容是關於CSS中overflow-y: visible;不起作用的解決方法,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
場景
最近要做的一個需求是行動端的h5頁面,要求有一排可選擇的卡片, 超出容器部分可以左右滑動,同時每張卡片左上角要有一個刪除按鈕。如下圖:
心想:so easy, 在父容器上加一個max-width: 200px; white-space: nowrap; overflow- x: auto;不就搞定了。 Demo如下:
<div> <div> <div></div> </div> <div> <div></div> </div> <div> <div></div> </div> </div> .container { max-width: 500px; overflow-x: auto; white-space: nowrap; } .son { display: inline-block; width: 200px; height: 200px; background-color: lightblue; position: relative; margin-right: 20px; } .delete_btn { width: 20px; height: 20px; position: absolute; top: 0; left: 0; background-color: red; transform: translateX(-50%) translateY(-50%); }
原本以為一切順利,結果得到的結果如圖:
看第矩形左上角的紅色方塊,原本為20 * 20的紅色方塊有一部分被隱藏了。我想應該是overflow影響的,所以想透過overflow-y: visible;來解決,結果是不行的。細心的朋友應該記得overflow的預設值就是visible。那麼原因是什麼呢?
Why
找了好久,大致了解到是如下原因
The computed values of ‘overflow-x’ and ‘overflow-y’ are the same as their specified values, except that some combinations with ‘visible’ are not possible: if one is specified as ‘visible’ and the other is ‘scroll’ or ‘auto’, then ‘visible’ is set to ‘auto’. The computed value of ‘overflow’ is equal to the computed value of ‘overflow-x’ if ‘overflow-y’ is the same; otherwise it is the pair of computed values of ‘overflow-x’ and ‘overflow-y’.
#大致意思是,當overflow-x為scroll或auto時,overflow-y被設定為auto,反之亦然。這就很尷尬了,那要怎麼解決這個問題。
ps: 上面那段話說是來自於w3c的文檔,但是我找了半天沒找到原文,麻煩找到了的小伙伴留個鏈接~ [手動狗頭]
How
終究還是想讓左上角的紅色方塊顯示完整的,那麼解決方案呢,我這裡採用的是在container
上添加以下樣式
padding-top: 20px; margin-top: -20px;
原理其實挺簡單的,加了padding-top: 20px;後,絕對定位的紅色方塊就有空間顯示了,不會超出容器體積,然後通過margin-top: -20px;抵消位置的變化.如圖
ps: 第一個紅色方塊左邊被遮住的部分同樣的思路解決,即透過padding-left和margin-left來處理。
相關建議:
iframe雙重滾動條 解決方式CSS3 overflow-y 屬性_html/css_WEB-ITnose
## HTML標籤的overflow處理用應_HTML/Xhtml_網頁製作
#以上是CSS中overflow-y: visible;不起作用的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

要調整 Bootstrap 中元素大小,可以使用尺寸類,具體包括:調整寬度:.col-、.w-、.mw-調整高度:.h-、.min-h-、.max-h-

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

答案:可以使用 Bootstrap 的日期選擇器組件在頁面中查看日期。步驟:引入 Bootstrap 框架。在 HTML 中創建日期選擇器輸入框。 Bootstrap 將自動為選擇器添加樣式。使用 JavaScript 獲取選定的日期。

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。
