• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    修復(fù)一個(gè)因?yàn)?scrollbar 占據(jù)空間導(dǎo)致的 bug

    2020-5-5    seo達(dá)人

    背景

    這一個(gè)因?yàn)闈L動(dòng)條占據(jù)空間引起的bug, 查了一下資料, 最后也解決了,順便研究一下這個(gè)屬性, 做一下總結(jié),分享給大家看看。


    正文

    昨天, 測(cè)試提了個(gè)問題, 現(xiàn)象是一個(gè)輸入框的聚焦提示偏了, 讓我修一下, 如下圖:


    image.png


    起初認(rèn)為是紅框提示位置不對(duì), 就去找代碼看:


    <Input

     // ...

     onFocus={() => setFocusedInputName('guidePrice')}

     onBlur={() => setFocusedInputName('')}

    />


    <Table

     data-focused-column={focusedInputName}

     // ...

    />

    代碼上沒有什么問題, 不是手動(dòng)設(shè)置的,而且, 在我和另一個(gè)同事, 還有PM的PC上都是OK的:


    image.png


    初步判斷是,紅框位置結(jié)算有差異, 差異大小大概是17px, 但是這個(gè)差異是怎么產(chǎn)生的呢?


    就去測(cè)試小哥的PC上看, 注意到一個(gè)細(xì)節(jié), 在我PC上, 滾動(dòng)條是懸浮的:

    image.png


    在他PC上, 滾動(dòng)條是占空間的:


    image.png


    在他電腦上, 手動(dòng)把原本的 overscroll-y: scroll 改成 overscroll-y: overlay 問題就結(jié)局了。


    由此判定是: 滾動(dòng)條占據(jù)空間 引起的bug。


    overscroll-y: overlay

    CSS屬性 overflow, 定義當(dāng)一個(gè)元素的內(nèi)容太大而無法適應(yīng)塊級(jí)格式化上下文的時(shí)候該做什么。它是 overflow-x 和overflow-y的 簡(jiǎn)寫屬性 。

    /* 默認(rèn)值。內(nèi)容不會(huì)被修剪,會(huì)呈現(xiàn)在元素框之外 */

    overflow: visible;


    /* 內(nèi)容會(huì)被修剪,并且其余內(nèi)容不可見 */

    overflow: hidden;


    /* 內(nèi)容會(huì)被修剪,瀏覽器會(huì)顯示滾動(dòng)條以便查看其余內(nèi)容 */

    overflow: scroll;


    /* 由瀏覽器定奪,如果內(nèi)容被修剪,就會(huì)顯示滾動(dòng)條 */

    overflow: auto;


    /* 規(guī)定從父元素繼承overflow屬性的值 */

    overflow: inherit;

    官方描述:

    overlay  行為與 auto 相同,但滾動(dòng)條繪制在內(nèi)容之上而不是占用空間。 僅在基于 WebKit(例如,Safari)和基于Blink的(例如,Chrome或Opera)瀏覽器中受支持。

    表現(xiàn):

    html {

     overflow-y: overlay;

    }

    兼容性

    沒有在caniuse上找到這個(gè)屬性的兼容性, 也有人提這個(gè)問題:


    image.png


    問題場(chǎng)景以及解決辦法

    1. 外部容器的滾動(dòng)條

    這里的外部容器指的是html, 直接加在最外層:


    html {

     overflow-y: scroll;

    }

    手動(dòng)加上這個(gè)特性, 不論什么時(shí)候都有滾動(dòng)寬度占據(jù)空間。


    缺點(diǎn): 沒有滾動(dòng)的時(shí)候也會(huì)有個(gè)滾動(dòng)條, 不太美觀。


    優(yōu)點(diǎn): 方便, 沒有兼容性的問題。


    2. 外部容器絕對(duì)定位法

    用絕對(duì)定位,保證了body的寬度一直保持完整空間:


    html {

     overflow-y: scroll; // 兼容ie8,不支持:root, vw

    }


    :root {

     overflow-y: auto;

     overflow-x: hidden;

    }


    :root body {

     position: absolute;

    }


    body {

     width: 100vw;

     overflow: hidden;

    }

    3. 內(nèi)部容器做兼容


    .wrapper {

       overflow-y: scroll; // fallback

       overflow-y: overlay;

    }

    總結(jié)

    個(gè)人推薦還是用 overlay, 然后使用scroll 做為兜底。


    內(nèi)容就這么多, 希望對(duì)大家有所啟發(fā)。


    文章如有錯(cuò)誤, 請(qǐng)?jiān)诹粞詤^(qū)指正, 謝謝。

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 成人自拍视频在线观看| 瑞安市| 婷婷色一区二区三区| 亚洲黄片一区二区三区| 尤物亚洲最大AV无码网站| 久久激情综合狠狠爱五月| 狼友导航| 色综合天天综合婷婷伊人| 日韩av一中美av一中文字慕| 欧美黄色电影网站| 欧美综合网| 日韩欧美国产亚洲中文| 狠狠色噜噜狠狠狠狠奇米777| 亚洲热视频在线观看| 亚洲一道一本快点视频| 色婷婷丁香综合激情| 国产午夜亚洲精品午夜鲁丝片| 亚洲制服丝袜中文字幕自拍| 仙女白丝jk小脚夹得我好爽| 久久国产黑丝袜视频| 久久精品国产亚洲AV成人毛片| 蒙自县| 中文字幕欧美亚州视频免费| 97av视频在线观看| 国产成人免费高清AⅤ| 国内精品人妻无码久久久影院| 国产一级特黄aa大片软件| 久久久久国产一级毛片高清版A| 精品91自产拍在线观看一区| 久久ER热在这里只有精品66| 久久水蜜桃亚洲av无码精品麻豆| 狠狠色婷婷久久综合频道毛片 | 国产精品性色av免费| 亚洲中文波霸中文字幕| 亚洲视频在线观看免费视频| 无码日韩精品一区二区免费暖暖| 壶关县| 人妻%20偷拍%20无码%20中文字幕| 思思久久96热在精品国产10| 园内精品自拍视频在线播放| 成人性色生活片免费毛片|