CSS background-attachment

background-attachment

这个属性决定背景图像的位置是否固定在视口(viewpoint), 还是随着它的包含块滚动.

语法

关键词

  1. scroll
    • 默认值, 表示背景相对于元素自身的固定的, 不随着元素的内容滚动而滚动
      • 概括理解视口就是浏览器的可见部分, 但不包括浏览器自身的书签栏, tab 栏和地址栏部分.
    • <div style="height: 1000px; width: 100px;"></div>
      <div class="box">
        遊戲...
      </div>
      <div style="height: 1000px; width: 100px;"></div>
      
    • .box {
        max-height: 200px;
        width: 300px;
        outline: 1px solid #111;
        overflow-y: auto;
        background: url(../../float/coffee-part.png) no-repeat;
      }
      
    • 请添加图片描述
  2. local
    • 背景相对元素的内容是固定的. 如果一个元素有滚动机制, 那么背景会随着元素内容的滚动而滚动, 并且背景的绘制区域和背景定位区域是相对整个滚动区域而不是相对于border

    • <div class="box box1">
        遊戲整合...
      </div>
      
    • .box1 {
        background-attachment: local;
      }
      
    • 请添加图片描述

    • 不同于scroll, 当内容滚动不可见时, 内容下的背景图像同样滚动不可见了

  3. fixed
    • 表示背景相对于视口viewpoint是固定的. 即使一个元素拥有滚动机制, 背景也不会随着元素滚动.
    • background-clip: text 不兼容
    • <div class="box box2">
        遊戲整...
      </div>
      
    • .box2 {
        background-attachment: fixed;
      }
      
    • 请添加图片描述
    • 图片相对于固定在了viewpointleft top位置, 只有元素出现在背景图片上面, 才能在元素内容下出现背景图; 否则, 不论怎么滚动元素内容都看不到背景图.

案例

  1. 我们可以用这个属性实现丝滑的 PPT 翻页效果

    • <body>
        <div class="box">123</div>
        <div class="box">456</div>
        <div class="box">789</div>
      </body>
      
    • html, body {
        padding: 0;
        margin: 0;
      }
      .box {
        height: 100vh;
        width: 100%;
        background-attachment: fixed;
        font-size: 5rem;
        background-size: cover;
        color: #fff;
        -ms-user-select: none;
        -webkit-user-select: none;
        user-select: none;
      }
      .box:nth-of-type(1) {
        background-image: url(../../float/model.jpg);
      }
      .box:nth-of-type(2) {
        color: #111;
        background-image: url(../../float/love.jpg);
      }
      .box:nth-of-type(3) {
        background-image: url(../../float/fish.jpg);
      }
      
    • 请添加图片描述
  2. 更多的例子可以参考 css-tricks 的这篇文章

  3. 图片来自 unsplash, 侵删🌹

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值