最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CSS中overflow-y: visible;不起作用的原因分析及解決方法

  發(fā)布時(shí)間:2018-09-13 14:42:44   作者:佚名   我要評(píng)論
小編最近遇到這樣的需求,移動(dòng)端的h5頁(yè)面,要求有一排可選擇的卡片, 超出容器部分可以左右滑動(dòng),同時(shí)每張卡片左上角要有一個(gè)刪除按鈕。接下來(lái)通過(guò)本文給大家介紹CSS中overflow-y: visible;不起作用的原因分析及解決方法,需要的朋友參考下吧

場(chǎng)景

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

心想:so easy, 在父容器上加一個(gè)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%);
}

 

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

看第矩形左上角的紅色方塊,原本為20 * 20的紅色方塊有一部分被隱藏了。我想應(yīng)該是overflow影響的,所以想通過(guò)overflow-y: visible;來(lái)解決,結(jié)果是不行的。細(xì)心的朋友應(yīng)該記得overflow的默認(rèn)值就是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’.
大致意思是,當(dāng)overflow-x為scroll或者auto時(shí),overflow-y被設(shè)置為auto,反之亦然。這就很尷尬了,那怎么解決這個(gè)問(wèn)題呢。

ps: 上面那段話說(shuō)是來(lái)自于w3c的文檔,但是我找了半天沒(méi)找到原文,麻煩找到了的小伙伴留個(gè)鏈接~ [手動(dòng)狗頭]

How

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

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

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

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

總結(jié)

以上所述是小編給大家介紹的CSS中overflow-y: visible;不起作用的原因分析及解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解CSS中zoom屬性或overflow:auto屬性清除浮動(dòng)的作用

    這篇文章主要為大家介紹了CSS中zoom屬性或overflow:auto屬性清除浮動(dòng)的作用,文中通過(guò)實(shí)例代碼介紹的很詳細(xì),相信會(huì)對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋
    2016-11-26
  • 使用CSS的overflow屬性防止float撐開(kāi)div的方法

    我們?cè)谑褂胒loat設(shè)定浮動(dòng)元素的時(shí)候經(jīng)常會(huì)遇到撐破div的情況,其中一種解決方法即是利用overflow: hidden,這里我們就來(lái)看一下使用CSS的overflow屬性防止float撐開(kāi)div的方法:
    2016-07-07
  • CSS屬性text-overflow的使用問(wèn)題

    下面小編就為大家?guī)?lái)一篇CSS屬性text-overflow的使用問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-13
  • 使用CSS隱藏元素滾動(dòng)條的示例代碼

    這篇文章主要介紹了使用CSS隱藏元素滾動(dòng)條的示例代碼,需要的朋友可以參考下
    2019-07-10
  • css 給div添加滾動(dòng)并隱藏滾動(dòng)條

    這篇文章主要介紹了css 給div添加滾動(dòng)并隱藏滾動(dòng)條的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-09
  • 最新評(píng)論

    微信 投稿 腳本任務(wù) 在線工具
    思南县| 闽侯县| 桂林市| 崇礼县| 芦溪县| 上栗县| 武义县| 漳平市| 龙南县| 晋江市| 定南县| 浙江省| 长宁区| 丰镇市| 景泰县| 察隅县| 苍溪县| 石门县| 铁岭市| 嘉黎县| 民权县| 阳城县| 武穴市| 根河市| 双牌县| 辛集市| 平舆县| 额敏县| 临沧市| 衡阳市| 英吉沙县| 商洛市| 潢川县| 毕节市| 棋牌| 株洲市| 突泉县| 广昌县| 元阳县| 清原| 荣成市|