background-attachment(backgroundattachment属性都特效)
CSS滚动视差
何为滚动视差
????视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。 作为网页设计的热点趋势,越来越多的网站应用了这项技术。
????通常而言,滚动视差在前端需要辅助 Javascript 才能实现。但是使用background-attachment也可以做到这样的效果。
????要了解background-attachment的作用可以参考我的另一篇关于它的简单介绍:
????什么是background-attachment
????使用background-attachment: fixed实现滚动视差
????首先,我们使用background-attachment: fixed来实现滚动视差。fixed?此关键字表示背景相对于视口固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。
????这里的关键在于,即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。也就是说, 背景图从一开始就已经被固定死在初始所在的位置。
????我们使用,图文混合排布的方式,实现滚动视差,HTML 结构如下, .g-word表示内容结构,.g-img表示背景图片结构 :
关键 CSS:
效果如下:
嗯?有点神奇,为什么会是这样呢?可能很多人会和我一样,第一次接触这个属性对这样的效果感到懵逼。
我们把上面background-attachment: fixed注释掉,或者改为background-attachment: local,再看看效果:
这次,图片正常跟随滚动条滚动了,按常理,这种效果才符合我们大脑的思维。
而滚动视差效果,正是不按常理出牌的一个效果,重点来了:
当页面滚动到图片应该出现的位置,被设置了background-attachment: fixed的图片并不会继续跟随页面的滚动而跟随上下移动,而是相对于视口固定死了。
好,我们再来试一下, 如果把所有.g-word内容区块都去掉 ,只剩下全部设置了background-attachment: fixed的背景图区块,会是怎么样呢?
效果如下:
结合这张 GIF,相信能对background-attachment: fixed有个更深刻的认识,移动的只有视口,而背景图是一直固定死的。
综上,就是 CSS 使用background-attachment: fixed实现滚动视差的一种方式,也是相对而言比较容易的一种。
参考文章: 滚动视差?CSS 不在话下
background attachment什么意思
background-attachment :定义背景图片随滚动轴的移动方式
取值: scroll | fixed | inherit
scroll: 随着页面的滚动轴背景图片将移动
fixed: 随着页面的滚动轴背景图片不会移动
inherit: 继承初始值: scroll
继承性: 否
适用于: 所有元素
在css中background-attachment: fixed的意思是啥
在CSS中,首先需要理解background-attachment的意思是定义背景图片随滚动轴的移动方式,取值方式有:scroll | fixed | inherit,scroll: 随着页面的滚动轴背景图片将移动,fixed: 随着页面的滚动轴背景图片不会移动,inherit: 继承,具体的用法通过代码来理解:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" ""
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
titleCSS background-attachment 属性示例/title
style type="text/css" media="all"
body
{
background-image:url('/images/list-orange.png'); //图片的地址你可以去自行添加,这里只是假设的一种图片
background-attachment:fixed;
background-repeat:repeat-x;
background-position:center center;
position:absolute;
height:5000px;
}
/style
/head
body
p拖动滚动条,并且注意中间有一条橙色线并不会随滚动条的下移而上移./p
那个background-attachment的取值,scroll和local到底区别在哪
Background-attachment:设置背景图片是否随着文字移动而移动,还是固定在一个位置上。 scroll:背景图像是随对象内容滚动 fixed:背景图像固定