css overflow-y: scroll 总有一部分超出
时间: 2023-10-08 14:13:42 浏览: 152
如果使用 `overflow-y: scroll`,在内容超出容器高度时,会出现滚动条以便用户滚动查看超出的部分。如果您遇到滚动条总是出现,即使内容没有超出容器的情况,那么可能是因为您的容器的实际高度没有被正确设置。您可以使用 `height` 属性来确保容器的高度正确设置,然后再使用 `overflow-y: scroll` 来启用滚动条。
另外,如果您想让滚动条始终显示,而不是仅在内容超出容器时才显示,可以使用 `overflow-y: scroll!important;` 和 `::-webkit-scrollbar { display: block; }`:
```
.container {
height: 200px;
overflow-y: scroll!important;
}
.container::-webkit-scrollbar {
display: block;
}
```
这样设置后,无论内容是否超出容器,滚动条都将始终显示。
相关问题
html, body { height: 100%; overflow-y: scroll; body { -webkit-overflow-scrolling: touch; overscroll-behavior: none; } }
这段代码的问题在于,您在`html`和`body`标签中设置了`overflow-y: scroll`,这会导致整个页面都可以滚动,而不是仅限于内容超出部分。
此外,您设置了`-webkit-overflow-scrolling: touch`,这是一个用于iOS设备的CSS属性,用于实现平滑滚动效果。但是,这个属性应该写在`body`标签中而不是在`body`标签内部的样式中。
最后,`overscroll-behavior: none`用于阻止iOS设备的弹性滚动效果,但是这个属性只在iOS 10及以上版本中生效,如果需要兼容之前的版本,可以考虑使用JavaScript代码实现。
因此,您可以尝试修改为以下代码:
```css
body {
height: 100%;
overflow: hidden;
-webkit-overflow-scrolling: touch;
}
.content {
height: 100%;
overflow-y: scroll;
overscroll-behavior: none;
}
```
这样,您可以在`body`中隐藏滚动条,并使用`.content`来实现内容的滚动,并在其中使用`overscroll-behavior: none`来阻止iOS设备的弹性滚动效果。
.sidebar { display: block; position: absolute; left: 0; top: 70px; bottom: 0; overflow-y: scroll; /* background: #4bae32; */ }
这段代码定义了一个 CSS 样式规则,它用于设置一个侧边栏的样式。其中,.sidebar 是一个 CSS 类名,表示应用这个样式规则的元素是具有该类名的元素。样式规则中的属性如下:
- display: block; 表示显示为块级元素,即占据一整行的宽度。
- position: absolute; 表示使用绝对定位,相对于最近的已定位祖先元素进行定位。
- left: 0; 表示距离最近的已定位祖先元素的左侧为 0,即靠左对齐。
- top: 70px; 表示距离最近的已定位祖先元素的顶部为 70px,即距离顶部有 70px 的偏移量。
- bottom: 0; 表示距离最近的已定位祖先元素的底部为 0,即高度与父元素相同。
- overflow-y: scroll; 表示在侧边栏高度超出父元素高度时,显示纵向滚动条,可以滚动查看内容。
- /* background: #4bae32; */ 是注释部分,表示设置了一个背景颜色,但是被注释掉了,即没有作用。
阅读全文