PC端两栏布局:固定栏与滚动栏的完美结合
在PC端网页设计中,经常需要实现一栏固定,一栏滚动的两栏布局。 传统的固定定位(position: fixed
)结合百分比 left
值虽然可以实现此效果,但分辨率变化会导致固定栏位置偏移。本文提供一种基于 CSS Grid 布局的解决方案,有效避免此问题。
问题分析: 使用 position: fixed
和百分比 left
值,固定栏的位置依赖于屏幕宽度百分比,分辨率改变时,百分比对应的像素值也会改变,从而导致固定栏偏移。
CSS Grid 布局解决方案: CSS Grid 提供了一种强大的布局方式,可以轻松解决这个问题。 以下代码示例演示如何使用 Grid 布局实现一栏固定,一栏滚动,并避免分辨率变化带来的位置偏移:
<!DOCTYPE html>
两栏布局
Header
左侧内容...
左侧内容...
左侧内容...
左侧内容...
左侧内容...
右侧固定内容...
这段代码使用 grid-template-columns
定义两栏的比例 (9:3),grid-template-areas
定义各栏位置。 position: sticky
和 top
属性确保右侧栏固定在距离顶部 50 像素的位置。 overflow-y: auto
允许左侧栏内容滚动。 容器宽度 (width: 1000px
) 可根据实际需求调整。 通过这种方式,即使改变分辨率,右侧栏的位置也能保持不变,左侧栏内容可以自由滚动。