位置: IT常识 - 正文

【CSS】面试官问我视差滚动怎么实现?我懵了...(css经典面试题)

编辑:rootadmin
原力计划【CSS】面试官问我视差滚动怎么实现?我懵了...

推荐整理分享【CSS】面试官问我视差滚动怎么实现?我懵了...(css经典面试题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:css面试题2021及答案,css面试常见的问题,面试题css,div+css面试题,面试题css,前端面试css问题,css面试题2021及答案,css面试问题,内容如对您有帮助,希望把文章链接给更多的朋友!

🐱 个人主页:不叫猫先生 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫优质专栏:vue3从入门到精通、TypeScript从入门到实践 📢 资料领取:前端进阶资料可以找我免费领取 🔥 摸鱼学习交流:我们的宗旨是在工作中摸鱼,摸鱼中进步,期待大佬一起来摸鱼(文末有我wx或者私信)。

视差滚动

视差滚动是一种效果,能够使不同层次的元素以不同的速度进行滚动,从而产生了视觉上的深度感和动态效果。可以通过两种方式来实现:background-attachment和transform:translate3D

1、background-attachment【CSS】面试官问我视差滚动怎么实现?我懵了...(css经典面试题)

background-attachment:决定背景图像的位置是在视口内固定,或者随着包含它的区块滚动。 它的属性值的含义如下:

属性值含义fixed背景相对于视口固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容local背景相对于元素的内容固定。如果一个元素拥有滚动机制,背景将会随着元素的内容滚动,并且背景的绘制区域和定位区域是相对于可滚动的区域而不是包含他们的边框。scroll背景相对于元素本身固定,而不是随着它的内容滚动(对元素边框是有效的)。

对父元素css_demo设置overflow: scroll,当元素内容超出页面时滚动。子元素word随着页面滚动显示,对子元素bg设置 background-attachment: fixed,使其在当前视口固定。

<template> <div class="css_demo"> <div class="word">视差滚动</div> <div class="bg bg1"></div> <div class="word">二</div> <div class="bg bg2"></div> <div class="word">三</div> <div class="bg bg3"></div> <div class="word">四</div> <div class="bg bg4"></div> <div class="word">五</div> <div class="bg bg5"></div> <div class="word">六</div> <div class="bg bg6"></div> <div class="word">七</div> <div class="bg bg7"></div> <div class="word">八</div> <div class="bg bg8"></div> <div class="word">九</div> <div class="bg bg9"></div> </div></template><style lang='scss' scoped>.css_demo { width: 100%; height: 100%; overflow: scroll; .bg { background-position: center center; background-size: cover; background-attachment: fixed; &.bg1 { background-image: url("/src/assets/img/1.jpeg"); } &.bg2 { background-image: url("/src/assets/img/2.webp"); } &.bg3 { background-image: url("/src/assets/img/3.webp"); } &.bg4 { background-image: url("/src/assets/img/4.webp"); } &.bg5 { background-image: url("/src/assets/img/5.webp"); } &.bg6 { background-image: url("/src/assets/img/6.webp"); } &.bg7 { background-image: url("/src/assets/img/7.webp"); } &.bg8 { background-image: url("/src/assets/img/8.webp"); } &.bg9 { background-image: url("/src/assets/img/9.webp"); } }}div { height: 100%; width: 100%; background: rgba(0, 0, 0, 0.1); color: #fff; line-height: 100vh; text-align: center; font-size: 20vh;}</style>

实现效果如下:

2、transform:translate3D

涉及到的CSS属性如下:

transform 可以对元素进行变换(2d/3d),包括平移 translate、旋转 rotate、缩放 scale等perspective 指定了观察者与 z=0 平面的距离,使具有三维位置变换的元素产生透视效果。z>0 的三维元素比正常大,而 z<0 时则比正常小,大小程度由该属性的值决定。元素涉及 3d 变换时,perspective 可以让我们眼睛看到 3d 立体效果,有空间感。transform-style 设置元素的子元素是位于 3D 空间中还是平面中。

通过设置transform-style和 perspective,使该容器的子元素处在3D空间中,然后设置 transform: translateZ使物体在滚动的时候在Y轴移动位移不同,产生视觉差。

<template> <div class="transform_container"> <div class="container"> <div class="one">一一一一</div> <div class="two">二二二二</div> <div class="three">三三三三三</div> </div> </div></template><style scoped lang="scss">.transform_container { perspective: 1px; transform-style: preserve-3d; height: 100%; overflow-y: scroll; overflow-x: hidden;}.container { transform-style: preserve-3d; height: 150%; .one { font-weight: 600; transform: translateZ(-1px); position: absolute; top: 20%; left: 20%; } .two { font-weight: 600; transform: translateZ(-2px); position: absolute; top: 20%; left: 35%; } .three { font-weight: 600; transform: translateZ(-3px); position: absolute; top: 20%; left: 50%; }}</style>

具体实现效果如下:

🌟好书推荐

《深入理解设计模式》链接直达 本书系统介绍了23种设计模式,根据具体的实例形象化、具体化地进行了代码的编写和详细讲解,让那些本来对设计模式不太了解、一知半解、只有概念的读者,彻底了解和掌握常用的设计模式使用场景及使用方式,并掌握每个设计模式的UML结构和描绘方式。本书共23章,包括认识设计模式、单例模式、工厂模式、建造者模式、原型模式、适配器模式、装饰器模式、外观模式、桥接模式、组合模式、享元模式、代理模式、策略模式、命令模式、状态模式、模板方法模式、备忘录模式、中介者模式、观察者模式、迭代器模式、责任链模式、访问者模式、解释器模式。通过以上的知识,让你从模式小白直接升级为模式大神!本书所需源代码,均可通过本书配套下载链接获得。

本文链接地址:https://www.jiuchutong.com/zhishi/295321.html 转载请保留说明!

上一篇:vscode+live server——更改端口号——基础积累

下一篇:【微信小程序】按钮还能这样用?(微信小程序开发一个多少钱)

  • iphone发短信怎么选择主副号(iphone发短信怎么知道对方是否拉黑了)

    iphone发短信怎么选择主副号(iphone发短信怎么知道对方是否拉黑了)

  • 华为mate30和p30拍照对比(华为mate30和p30哪款拍照好)

    华为mate30和p30拍照对比(华为mate30和p30哪款拍照好)

  • 华为p30横屏设置在哪里(p30横屏设置在哪里)

    华为p30横屏设置在哪里(p30横屏设置在哪里)

  • 苹果手机突然暗下来过一会突然明怎么办(苹果手机突然暗突然亮)

    苹果手机突然暗下来过一会突然明怎么办(苹果手机突然暗突然亮)

  • 华为手机怎么传软件到另一个手机(华为手机怎么传照片到电脑)

    华为手机怎么传软件到另一个手机(华为手机怎么传照片到电脑)

  • 启动热键是哪个(从u盘启动重装系统)

    启动热键是哪个(从u盘启动重装系统)

  • 微信朋友圈从群选择什么意思(微信朋友圈从群里选择不可见 是群里的都看不见吗)

    微信朋友圈从群选择什么意思(微信朋友圈从群里选择不可见 是群里的都看不见吗)

  • 10658000是什么短信(10658000是什么短信怎么取消)

    10658000是什么短信(10658000是什么短信怎么取消)

  • 小爱同学隐藏的黑科技有哪些(小爱同学隐藏的黑科技)

    小爱同学隐藏的黑科技有哪些(小爱同学隐藏的黑科技)

  • 苹果x手机声音越来越小怎么办(苹果X手机声音变小了怎么回事)

    苹果x手机声音越来越小怎么办(苹果X手机声音变小了怎么回事)

  • 手机蓝光是什么意思(手机蓝光是指蓝色的光吗)

    手机蓝光是什么意思(手机蓝光是指蓝色的光吗)

  • ps怎么给物体加阴影(ps怎么给物体加投影)

    ps怎么给物体加阴影(ps怎么给物体加投影)

  • win10系统语言改中文(win10系统语言改中文改不了)

    win10系统语言改中文(win10系统语言改中文改不了)

  • 华为nova5z搭载什么处理器(华为nova5搭载什么芯片)

    华为nova5z搭载什么处理器(华为nova5搭载什么芯片)

  • 趣键盘怎么直接发送文字(趣键盘不能用了)

    趣键盘怎么直接发送文字(趣键盘不能用了)

  • xr怎么设置铃声(iphone xr怎么设置铃声音乐)

    xr怎么设置铃声(iphone xr怎么设置铃声音乐)

  • vue怎么调节图片间隔时间(vue图片速度怎么调)

    vue怎么调节图片间隔时间(vue图片速度怎么调)

  • 第一台计算机的操作系统(第一台计算机的英文缩写)

    第一台计算机的操作系统(第一台计算机的英文缩写)

  • 体验金收益怎么提现(体验金收益怎么提取)

    体验金收益怎么提现(体验金收益怎么提取)

  • 小爱音箱没有wifi可以用吗(小爱音箱没有wifi怎么连接手机)

    小爱音箱没有wifi可以用吗(小爱音箱没有wifi怎么连接手机)

  • qq扩列怎么填(qq扩列怎么填比较好)

    qq扩列怎么填(qq扩列怎么填比较好)

  • 美团评论是立即显示吗(美团评论当天可以看到吗)

    美团评论是立即显示吗(美团评论当天可以看到吗)

  • 如何快速制作app首页原型(如何快速制作ppt)

    如何快速制作app首页原型(如何快速制作ppt)

  • Linux桌面背景怎么设置为图片拉伸显示?(linux设置壁纸的命令)

    Linux桌面背景怎么设置为图片拉伸显示?(linux设置壁纸的命令)

  • python中filter与map不同(python中map和filter有啥区别)

    python中filter与map不同(python中map和filter有啥区别)

  • 进项票可以抵扣销项票吗
  • 个人劳务票必须本人开吗
  • 公司向个人借款不还如何处理
  • 每月10万不要交税从什么时候开始
  • 实收资本能是现金流出吗
  • 存在商业折扣的情况下,应收账款按什么金额入账?
  • 购买法下的操纵手法有哪些
  • 股本与注册资本实收资本的区别
  • 怎么设置存货科目
  • 企业收到银行收款通知
  • 建筑业未开票收入情况说明
  • 商家促销怎么做
  • 图书出版行业做账流程
  • 房租当月无发票怎么办
  • 营业收入包括其收入吗
  • 税收编码选错了,发票已经开出去几个月了,还有影响吗
  • 房地产公司销售自建房怎么纳税
  • 公司买汽车怎么做内账
  • 文化建设事业费优惠政策
  • 农副产品免税怎么报税
  • 交通定额发票税率
  • 加工贸易的方式
  • 企业向个人借款是否交印花税
  • 企业送礼怎么办
  • 公司奖金没有按时发可以要吗
  • php中数组的常用函数及用法
  • 向分公司借款
  • PHP:Memcached::isPristine()的用法_Memcached类
  • 最早的拍照手机是哪一年
  • 阿圭罗来自哪里
  • php restful接口
  • vue优化方案
  • ubuntu busier
  • 使用php连接多种数据库
  • 租赁公司的
  • win11开机后开始菜单没反应
  • 投资收益如何做账务处理
  • ChatGPT全面升级,GPT4支持多模态数据。
  • PHP中spl_autoload_register()函数用法实例详解
  • 应收账款确认坏账损失
  • 当月增加的固定资产当月不计提折旧
  • 个体户一直未申请怎么办
  • 小规模个体户国税怎么算
  • mysql临时表什么时候销毁
  • 汇算清缴的费用标准 中汇
  • 个税没有达到起征点能摇号吗
  • 其他应付款的项目
  • 非营利组织也被称为?
  • 纳税申报表期末未缴税额什么意思
  • 计提坏账准备的方法
  • 小规模未达到起征点如何结转
  • 捆绑销售如何做会计处理合适?
  • 房地产开发票的时间?
  • 水果店的账务处理
  • 公司章程约定的出资时间
  • 私营公司的钱怎么拿出来
  • sql语句大全实例教程
  • 445端口 关闭
  • xp系统怎么取消自动关机
  • windows无法删除软件怎么办
  • xp系统1
  • windowxp系统升级
  • centos如何配置ip
  • 深度技术win7光盘安装教程
  • window八
  • Linux系统配置IP地址
  • windows10一分钟重启解决
  • nodevideo翻译
  • python 先序遍历
  • Unity3D游戏开发标准教程吴亚峰于复兴人民邮电出版社
  • 微信小程序实现人脸识别
  • node urlencode
  • ftp自动上传脚本怎么用
  • 微信假消息
  • jquery悬浮显示
  • 发票查验结果怎么保存
  • 浙江省税务师事务所排名
  • 国,地税纳税申报表是什么
  • 退契税的时间是什么时候
  • 印尼贸易政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设