97国产精品视频人人做人人爱,3344在线观看无码,成年人国产视频,欧美日一级片,在线看AV天堂,高清无码一本到东京热,欧美一级黄片一区2区,免费又爽又刺激高潮网址

修復一個因為 scrollbar 占據空間導致的 bug

2020-5-5    seo達人

背景

這一個因為滾動條占據空間引起的bug, 查了一下資料, 最后也解決了,順便研究一下這個屬性, 做一下總結,分享給大家看看。


正文

昨天, 測試提了個問題, 現象是一個輸入框的聚焦提示偏了, 讓我修一下, 如下圖:


image.png


起初認為是紅框提示位置不對, 就去找代碼看:


<Input

 // ...

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

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

/>


<Table

 data-focused-column={focusedInputName}

 // ...

/>

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


image.png


初步判斷是,紅框位置結算有差異, 差異大小大概是17px, 但是這個差異是怎么產生的呢?


就去測試小哥的PC上看, 注意到一個細節, 在我PC上, 滾動條是懸浮的:

image.png


在他PC上, 滾動條是占空間的:


image.png


在他電腦上, 手動把原本的 overscroll-y: scroll 改成 overscroll-y: overlay 問題就結局了。


由此判定是: 滾動條占據空間 引起的bug。


overscroll-y: overlay

CSS屬性 overflow, 定義當一個元素的內容太大而無法適應塊級格式化上下文的時候該做什么。它是 overflow-x 和overflow-y的 簡寫屬性 。

/* 默認值。內容不會被修剪,會呈現在元素框之外 */

overflow: visible;


/* 內容會被修剪,并且其余內容不可見 */

overflow: hidden;


/* 內容會被修剪,瀏覽器會顯示滾動條以便查看其余內容 */

overflow: scroll;


/* 由瀏覽器定奪,如果內容被修剪,就會顯示滾動條 */

overflow: auto;


/* 規定從父元素繼承overflow屬性的值 */

overflow: inherit;

官方描述:

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

表現:

html {

 overflow-y: overlay;

}

兼容性

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


image.png


問題場景以及解決辦法

1. 外部容器的滾動條

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


html {

 overflow-y: scroll;

}

手動加上這個特性, 不論什么時候都有滾動寬度占據空間。


缺點: 沒有滾動的時候也會有個滾動條, 不太美觀。


優點: 方便, 沒有兼容性的問題。


2. 外部容器絕對定位法

用絕對定位,保證了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. 內部容器做兼容


.wrapper {

   overflow-y: scroll; // fallback

   overflow-y: overlay;

}

總結

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


內容就這么多, 希望對大家有所啟發。


文章如有錯誤, 請在留言區指正, 謝謝。

日歷

鏈接

個人資料

藍藍設計的小編 http://www.0391cbd.com

存檔

主站蜘蛛池模板: 国产欧美精品一区二区| 激情综合网激情综合| 成年A级毛片| 2048国产精品原创综合在线| 国产av无码日韩av无码网站| a亚洲视频| 欧美日韩国产一级| 国产成年无码AⅤ片在线| 老司机精品99在线播放| 高清无码不卡视频| 久草视频精品| 一本大道无码高清| 国产精品美女免费视频大全| 欧美精品v| 伊人久热这里只有精品视频99| 国产成人亚洲毛片| 伊人欧美在线| 777国产精品永久免费观看| 国产精品第一区| 亚洲精品片911| 国产亚洲视频播放9000| 青青草国产一区二区三区| 久久婷婷六月| 99精品一区二区免费视频| 亚洲成人77777| 国产一在线| 国产成人综合在线视频| 欧美午夜在线视频| 99一级毛片| 久久青草精品一区二区三区| 成人精品午夜福利在线播放| 日韩二区三区无| 亚卅精品无码久久毛片乌克兰| 任我操在线视频| 成人午夜网址| 国产精品19p| 在线观看国产小视频| 99在线视频免费| 久久精品亚洲专区| jizz在线免费播放| 精品丝袜美腿国产一区| 国产内射在线观看| www欧美在线观看| 亚洲成人免费看| 一本久道久综合久久鬼色| 四虎成人精品在永久免费| 国产精品久久久久婷婷五月| 亚洲香蕉久久| 国产 在线视频无码| 国产好痛疼轻点好爽的视频| 国产chinese男男gay视频网| 亚洲日韩Av中文字幕无码| 国产毛片久久国产| 91久久国产热精品免费| 夜夜操狠狠操| 国产精品网址你懂的| 日韩高清在线观看不卡一区二区| 激情网址在线观看| 高潮毛片免费观看| 日韩精品成人在线| 精品福利网| 99无码中文字幕视频| 国产综合另类小说色区色噜噜| 一级香蕉人体视频| 中国精品久久| 久久亚洲国产最新网站| 免费观看男人免费桶女人视频| 国产不卡在线看| 国产成人精品男人的天堂| 中文字幕无线码一区| 亚洲视频a| lhav亚洲精品| 亚洲人免费视频| 成人福利在线视频免费观看| 狠狠综合久久| 伊人色天堂| 国产精品亚洲日韩AⅤ在线观看| 天天做天天爱天天爽综合区| 亚洲国产看片基地久久1024| 亚洲熟妇AV日韩熟妇在线| 又爽又大又黄a级毛片在线视频 | 日韩免费毛片|