news 2026/5/23 10:52:10

掌握 `background-attachment: fixed`:打造固定背景滚动特效

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
掌握 `background-attachment: fixed`:打造固定背景滚动特效

background-attachment是 CSS 中用于控制背景图像滚动行为的属性,其中fixed取值是最常用且最具视觉冲击力的选项——它能让背景图像固定在浏览器视口,不随页面滚动而移动,从而实现前景内容滚动、背景静止的高级视觉效果。

一、属性基础

1. 核心语法

选择器{background-image:url("背景图片路径");background-attachment:fixed;/* 配合其他背景属性使用 */background-position:center;background-repeat:no-repeat;background-size:cover;}

2.background-attachment取值对比

取值效果
fixed背景图像固定在视口,页面滚动时背景不动
scroll默认值,背景图像随元素内容一起滚动
local背景图像随元素的滚动容器一起滚动(较少用)

二、基础实战:固定背景全屏区块

我们先做一个最简单的全屏固定背景区块,步骤如下:

1. HTML 结构

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><title>fixed 背景特效</title><linkrel="stylesheet"href="style.css"></head><body><sectionclass="fixed-bg"><h1>固定背景,滚动内容</h1></section><divclass="content"><p>这里是滚动的前景内容...</p><!-- 重复多段文本,方便测试滚动 --><p>测试滚动效果测试滚动效果测试滚动效果</p><p>测试滚动效果测试滚动效果测试滚动效果</p><p>测试滚动效果测试滚动效果测试滚动效果</p><p>测试滚动效果测试滚动效果测试滚动效果</p></div></body></html>

2. CSS 样式

/* 初始化样式 */*{margin:0;padding:0;box-sizing:border-box;}/* 固定背景区块 */.fixed-bg{width:100%;height:100vh;/* 占满视口高度 *//* 核心背景属性 */background-image:url("https://picsum.photos/id/10/1920/1080");background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:cover;/* 背景铺满区块,保持比例 *//* 文字居中 */display:flex;justify-content:center;align-items:center;color:#fff;font-size:3rem;text-shadow:0 0 10px #000;}/* 前景内容 */.content{padding:5rem 2rem;background-color:#fff;font-size:1.2rem;line-height:1.8;}

3. 效果说明

滚动页面时,section.fixed-bg的背景图像会固定在视口,只有下方的.content区域会滚动,形成强烈的视觉分层感。

三、进阶技巧:多区块固定背景

可以在页面中设置多个固定背景区块,打造沉浸式滚动体验,核心思路是重复固定背景的 CSS 写法,更换不同背景图

示例 CSS 片段:

.fixed-bg-1{background-image:url("图1路径");background-attachment:fixed;/* 其他背景属性同上 */}.fixed-bg-2{background-image:url("图2路径");background-attachment:fixed;/* 其他背景属性同上 */}

四、常见问题与解决方案

1. 移动端兼容性问题

background-attachment: fixed部分移动端浏览器(如 iOS Safari)表现异常,背景会随页面滚动,而非固定。
解决方案

  • 移动端使用position: fixed的伪元素替代:
    .fixed-bg{position:relative;overflow:hidden;}.fixed-bg::before{content:"";position:fixed;/* 伪元素固定在视口 */top:0;left:0;width:100%;height:100%;background-image:url("背景图路径");background-position:center;background-size:cover;z-index:-1;/* 置于内容下方 */}

2. 背景图像拉伸变形

原因:未设置background-size或取值不当。
解决方案

  • 使用background-size: cover:背景铺满区块,超出部分裁剪,保持比例。
  • 使用background-size: contain:背景完整显示,可能留空,适合小图标背景。

3. 性能问题

固定背景会增加浏览器渲染压力,尤其是高清大图。
优化方案

  • 压缩背景图片(推荐 TinyPNG 工具)。
  • 避免在同一个页面使用过多固定背景区块。

五、使用注意事项

  1. 背景图建议选择分辨率高、对比度适中的图片,避免文字与背景融合导致可读性差。
  2. 搭配text-shadow或半透明遮罩层,可以提升前景文字的辨识度。
  3. 不要滥用固定背景,过多特效会让页面显得杂乱,影响用户体验。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 6:41:48

2025最新!专科生必看10个AI论文平台测评,写论文不再难

2025最新&#xff01;专科生必看10个AI论文平台测评&#xff0c;写论文不再难 2025年专科生论文写作工具测评&#xff1a;精准筛选&#xff0c;高效提效 随着AI技术的不断发展&#xff0c;越来越多的学术辅助工具进入高校师生的视野。对于专科生而言&#xff0c;论文写作不仅是…

作者头像 李华
网站建设 2026/5/1 5:08:01

拒绝“半吊子”AI代码,Java开发者迎来救星!

家人们&#xff0c;谁还没被AI生成的Java代码里那密密麻麻的“TODO”气得火冒三丈&#xff01;让AI写个Java接口&#xff0c;方法体里就孤零零躺着“// TODO 实现业务逻辑”&#xff1b;让它补全异常处理&#xff0c;直接甩来“// TODO 完善异常捕获”。咱花钱用AI&#xff0c;…

作者头像 李华
网站建设 2026/5/1 12:21:15

2025秋招最最最高薪岗位曝光!

秋招战场&#xff0c;冰火两重天。一边是“月薪过万”的普遍焦虑&#xff0c;另一边&#xff0c;部分方向的毕业生已将“年薪40万”纳入囊中......近日&#xff0c;《2025年秋季校园招聘白皮书》正式发布&#xff0c;它调研了2000毕业生、近1000家企业HR&#xff0c;里面的数据…

作者头像 李华
网站建设 2026/5/9 11:34:55

GLM-4.7深度评测——超越代码生成,打造端到端任务交付引擎

GLM-4.7是智谱AI最新开源的旗舰模型&#xff0c;已从单纯的代码大模型升级为任务交付引擎。文章通过实际场景测试&#xff0c;包括数据分析、全栈开发和代码重构&#xff0c;验证了GLM-4.7能理解复杂意图、主动拆解任务并交付高质量代码的能力。它在多项评测中表现优异&#xf…

作者头像 李华
网站建设 2026/5/10 12:22:59

基于SpringBoot + Vue的医院体检预约管理系统

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 &#x1f49b;博主介绍&#…

作者头像 李华
网站建设 2026/5/15 19:26:21

基于SpringBoot + Vue的中草药销售系统的设计与实现

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 &#x1f49b;博主介绍&#…

作者头像 李华