先上代码:html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style> #parent{ overflow: hidden;
} #child{ width: 100%; height: 400px; overflow-y: scroll; padding-right: 20px; /* 滚动条的宽度 */ border: 1px solid #ddd;
}
</style>
</head>
<body>
<div id="parent">
<div id="child"> 1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> 1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> 1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>1<br>2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br> end. </div>
</div>
</body>
</html>
实践出真知,简单描述下我的看法:实际上 #child 上是存在y轴的滚动条的, 只不过 #child 的宽度为 #parent 的100%,而又加上 20px 滚动条宽度的 padding-right, 因此实际 #child 的y轴滚动条在最右边,屏幕可视区域的右边 20px。而 #parent 的 overflow 为 hidden,故不可见。能够把 #parent 的overflow:hidden;去掉,会出现根元素html的x轴滚动条,右滑,即可以看到 #child 的y轴滚动条了。本人也是尝试了好多写法才得出这个结论,若有理解不正之处请指正。spa