loading...
首页 开放平台 问答求助 新手报到 官方公告
首页 > 交流论坛 > 开放平台 > 资源分享 使用CSS制作的页面背景固定和滚动效果

使用CSS制作的页面背景固定和滚动效果 复制链接

发布于:2016-03-29 17:26:46 | 只看该作者 | 关注作者 |本帖最后由 小青 于2016-03-29 编辑 楼主

如何创建一个不需要Javascript而仅仅只需CSS的background-attachment属性就能实现页面背景固定和滚动效果。我们看到现在有很多的网站项目使用了视差效果,通过图片和背景的动态变化以及js脚本来产生视差,而今天我们只需要CSS即可。

HTML
HTML结构很简单,一个class为.cd-fixed-bg的div元素用于放置固定背景图,一个class为.cd-scrolling-bg的div元素用于滚动的部分。我们可以放置多个.cd-fixed-bg和.cd-scrolling-bg编组.

<main> 
    <div class="cd-fixed-bg cd-bg-1"> 
        <h1><!-- title goes here --></h1> 
    </div>  
  
    <div class="cd-scrolling-bg cd-color-2"> 
        <div class="cd-container"> 
            <p> 
                Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore incidunt suscipit similique, dolor corrupti cumque qui consectetur autem laborum fuga quas ipsam doloribus sequi... 
            </p> 
        </div>  
    </div>  
    ...多组div并列... 
</main> 
CSS
那么如何实现背景固定和滚动效果呢?一开始,我想使用jQuery,也许我先应该让一个div固定位置,然后当滚动页面时改变背景图片,但是觉得不好弄。而简单的我们使用几行CSS就能做到,将要固定的元素的背景background-size值设置为cover,background-attachment的值设置为fixed,这样就实现了单页面的背景固定和滚动效果。请看以下代码:
body, html, main { 
    /* important */ 
    height: 100%; 
} 
  
.cd-fixed-bg { 
    min-height: 100%; 
    background-size: cover; 
    background-attachment: fixed; 
    background-repeat: no-repeat; 
    background-position: center center; 
} 
  
.cd-fixed-bg.cd-bg-1 { 
  background-image: url("../img/cd-background-1.jpg"); 
} 
.cd-fixed-bg.cd-bg-2 { 
  background-image: url("../img/cd-background-2.jpg"); 
} 
.cd-fixed-bg.cd-bg-3 { 
  background-image: url("../img/cd-background-3.jpg"); 
} 
 
  
.cd-scrolling-bg { 
    min-height: 100%; 
} 



点击下载附件 售价:2 积分,下载次数:0 次 (积分不够?

    发布于:2016-04-01 | 只看该用户 沙发

    该跟帖已被版主设置为隐藏!

    您需要登录后才可以发帖,登录 | 注册
      
      
    到底了,所以往后的每一步都在进步