background-attachment属性

本文介绍了如何使用CSS属性background-attachment:fixed实现背景图片在滚动时固定在视口的效果。通过实例展示了当页面滚动时,背景图如何始终保持在相同位置,而其他元素则在其上层叠。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一个效果,就是有两张图片,一张在前,一张在后。当滑动滚动轴向下拉动时,第一张图片是保持不动的,而第二张图片直接覆盖第一张图片。我们首先看下图:

172048_gKk7_3618644.png

灰色代表浏览器窗口,然后分别有3个div,第二个div中放入背景图,黑色圆球就代表背景图。

此时,如果给第2个div加入background-attachment:fixed属性,则会变成如图所示:

172536_Ud6J_3618644.png

背景图跑到了浏览器窗口的最顶部。此时,背景图脱离了第二个div,可以说和第二个div几乎没有任何联系了,而是以视角进行定位。

啥叫以视角进行定位了,我们啥时候对背景图定位了?我们在设置了背景图的时候,是不是设置了background-position属性,这个就是对背景图进行定位了。什么?没写这个属性?没关系,即使没写,这个属性也有个默认值,即left top,视角的左上角。

注意,当黑色圆球背景图设置了background-attachment:fixed属性后,实际上是被第一个div覆盖的。为了方便演示,设置了第一个蓝色div的透明度。

当滚动轴向下拉时,只有第二个div经过的区域,黑色圆球可以正常显示(黑色圆球背景图隶属于第2个div,和第2个div中的内容属于同一级,因此均能显示。而其他div经过背景图时,会覆盖住),如图:

091748_oUsM_3618644.png

注意,黑色圆球背景图此时是全黑,不是因为第2个div设置了透明度才显示的

继续向下拉,第3个div也会覆盖,如图

091918_N7yP_3618644.png

这样,在视觉上就仿佛前一张图片未动,而后一张图片直接覆盖在其之上了。

转载于:https://my.oschina.net/u/3618644/blog/1486658

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值