亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSS中overflow-y: visible;不起作用的原因是什么

發布時間:2021-05-27 11:47:28 來源:億速云 閱讀:434 作者:小新 欄目:web開發

這篇文章主要介紹CSS中overflow-y: visible;不起作用的原因是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

場景

最近要做的一個需求是移動端的h6頁面,要求有一排可選擇的卡片, 超出容器部分可以左右滑動,同時每張卡片左上角要有一個刪除按鈕。如下圖:

CSS中overflow-y: visible;不起作用的原因是什么

心想:so easy, 在父容器上加一個max-width: 200px; white-space: nowrap; overflow-x: auto;不就搞定了嘛。Demo如下:

<div class="container">
  <div class="son">
    <div class="delete_btn"></div>
  </div>
  <div class="son">
    <div class="delete_btn"></div>
  </div>
  <div class="son">
    <div class="delete_btn"></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%);
}

原本以為一切順利,結果得到的結果如圖:

CSS中overflow-y: visible;不起作用的原因是什么

看第矩形左上角的紅色方塊,原本為20 * 20的紅色方塊有一部分被隱藏了。我想應該是overflow影響的,所以想通過overflow-y: visible;來解決,結果是不行的。細心的朋友應該記得overflow的默認值就是visible。那么原因是什么呢?

Why

找了好久,大致了解到是如下原因

The computed values of &lsquo;overflow-x&rsquo; and &lsquo;overflow-y&rsquo; are the same as their specified values, except that some combinations with &lsquo;visible&rsquo; are not possible: if one is specified as &lsquo;visible&rsquo; and the other is &lsquo;scroll&rsquo; or &lsquo;auto&rsquo;, then &lsquo;visible&rsquo; is set to &lsquo;auto&rsquo;. The computed value of &lsquo;overflow&rsquo; is equal to the computed value of &lsquo;overflow-x&rsquo; if &lsquo;overflow-y&rsquo; is the same; otherwise it is the pair of computed values of &lsquo;overflow-x&rsquo; and &lsquo;overflow-y&rsquo;.
大致意思是,當overflow-x為scroll或者auto時,overflow-y被設置為auto,反之亦然。這就很尷尬了,那怎么解決這個問題呢。

ps: 上面那段話說是來自于w3c的文檔,但是我找了半天沒找到原文,麻煩找到了的小伙伴留個鏈接~ [手動狗頭]

How

終究還是想讓左上角的紅色方塊顯示完整的,那么解決方案呢,我這里采用的是在container上添加以下樣式

padding-top: 20px;
margin-top: -20px;

原理其實挺簡單的,加了padding-top: 20px;后,絕對定位的紅色方塊就有空間顯示了,不會超出容器體積,然后通過margin-top: -20px;抵消位置的變化.如圖

CSS中overflow-y: visible;不起作用的原因是什么

ps: 第一個紅色方塊左邊被遮住的部分同樣的思路解決,即通過padding-left和margin-left來處理。

以上是“CSS中overflow-y: visible;不起作用的原因是什么”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

城市| 镇平县| 宁安市| 政和县| 伊金霍洛旗| 松桃| 禹州市| 枞阳县| 石柱| 井冈山市| 上蔡县| 安泽县| 留坝县| 塔河县| 洪江市| 南宫市| 凤阳县| 桂阳县| 泸水县| 佛冈县| 织金县| 炉霍县| 定安县| 呼伦贝尔市| 江孜县| 西吉县| 大同市| 乌拉特中旗| 长阳| 嫩江县| 西和县| 安新县| 开封县| 巫溪县| 肥乡县| 泗阳县| 辉县市| 赤水市| 龙江县| 孝感市| 海晏县|