jQueryのスクロール判定で、firefoxだけscrollTop
の値が足りない状況が起きて、調べたらfirefoxのスクロールホルダーのpadding-bottom
はどうやら効かないようだ。
再現
CSS
.scroll-wrap {
margin: 2rem auto;
background-color: #EFEFEF;
padding: 1rem;
border: 1px solid #CCC;
width: 200px;
height: 200px;
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
.scroll-wrap >.content {
background-color: #FFFFFF;
padding: 0 1rem;
height: 600px;
}
HTML
<div class="scroll-wrap">
<div class="content"></div>
</div>
BUGチケット: https://bugzilla.mozilla.org/show_bug.cgi?id=748518
解決法
.scroll-wrap {
...
padding: 1rem 1rem 0; /* padding-bottomをとる */
...
}
/* .scroll-wrap:afterを追加 */
.scroll-wrap:after {
content: '';
display: block;
height: 1rem;
}
DEMO
BEFORE: https://jsfiddle.net/fpnvuLzw/
AFTER: https://jsfiddle.net/fpnvuLzw/2/
参考になった記事: https://spyweb.media/2018/01/18/css-overflow-auto-scroll-ignore-padding-right-bottom/