位置: 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——更改端口号——基础积累

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

  • qq发什么会有东西掉下来(发什么qq会有小东西掉)

    qq发什么会有东西掉下来(发什么qq会有小东西掉)

  • 如何复制筛选后的单元格(如何复制筛选后合并单元格的内容)

    如何复制筛选后的单元格(如何复制筛选后合并单元格的内容)

  • 抖音金币怎么提现(抖音金币怎么提升等级)

    抖音金币怎么提现(抖音金币怎么提升等级)

  • 微信付款码可以刷公交车吗(微信付款码可以坐地铁吗)

    微信付款码可以刷公交车吗(微信付款码可以坐地铁吗)

  • 手机QQ发说说怎么艾特qq好友(手机QQ发说说怎么保持原画质)

    手机QQ发说说怎么艾特qq好友(手机QQ发说说怎么保持原画质)

  • 微信收款太多会被限制吗(微信收款太多会限额吗)

    微信收款太多会被限制吗(微信收款太多会限额吗)

  • 小米10官方标配是包括什么(小米官方标配与套餐一的区别)

    小米10官方标配是包括什么(小米官方标配与套餐一的区别)

  • 手机云空间是什么意思(手机云空间是什么时候开始有的呢苹果)

    手机云空间是什么意思(手机云空间是什么时候开始有的呢苹果)

  • 移动卡信号差是手机问题还是卡的问题(移动电话卡信号弱)

    移动卡信号差是手机问题还是卡的问题(移动电话卡信号弱)

  • 荣耀v10充电器是多少w(荣耀v10充电器是多少瓦)

    荣耀v10充电器是多少w(荣耀v10充电器是多少瓦)

  • 抖音怎么发表自己的作品(抖音怎么发表自己的原声)

    抖音怎么发表自己的作品(抖音怎么发表自己的原声)

  • pr不渲染导出会怎样(pr渲染以后导出还是慢啊)

    pr不渲染导出会怎样(pr渲染以后导出还是慢啊)

  • 腾讯vip可以几个人一起使用(腾讯vip可以几个电视用)

    腾讯vip可以几个人一起使用(腾讯vip可以几个电视用)

  • 电脑长时间没开机,现在开不了机怎么办(电脑长时间没开机导致开不开机)

    电脑长时间没开机,现在开不了机怎么办(电脑长时间没开机导致开不开机)

  • word文档删除其中一页(word文档删除其中一页空白页)

    word文档删除其中一页(word文档删除其中一页空白页)

  • 苹果11怎么清理垃圾(苹果11怎么清理喇叭灰尘)

    苹果11怎么清理垃圾(苹果11怎么清理喇叭灰尘)

  • 淘宝达人怎么升级lv2(淘宝达人怎么升粉丝)

    淘宝达人怎么升级lv2(淘宝达人怎么升粉丝)

  • 手机怎么剪辑视频片段并拼接(手机怎么剪辑视频做成小视频)

    手机怎么剪辑视频片段并拼接(手机怎么剪辑视频做成小视频)

  • ppt2007自动对齐怎么设置(ppt2007自动对齐辅助线)

    ppt2007自动对齐怎么设置(ppt2007自动对齐辅助线)

  • qq的消息提示音没了怎么办(以前qq的消息提示音)

    qq的消息提示音没了怎么办(以前qq的消息提示音)

  • 京东退货如何上门(京东退货如何上传凭证)

    京东退货如何上门(京东退货如何上传凭证)

  • 单臂路由小实验?Switch配置有哪些?(单臂路由实验目的)

    单臂路由小实验?Switch配置有哪些?(单臂路由实验目的)

  • Vue--》Vue 3 路由进阶——从基础到高级的完整指南(vue的路由实现)

    Vue--》Vue 3 路由进阶——从基础到高级的完整指南(vue的路由实现)

  • 125款程序员专属情人节表白网站【建议收藏】HTML+CSS+JavaScript(程序员神器)

    125款程序员专属情人节表白网站【建议收藏】HTML+CSS+JavaScript(程序员神器)

  • YOLOv5深度剖析(yolov5结构解析)

    YOLOv5深度剖析(yolov5结构解析)

  • 印花税退回计入什么科目
  • 上月多计提增值税
  • 小规模纳税人的认定标准是什么
  • 所得税申报资产不允许为0?
  • 去税务局作废申报需要带哪些证件
  • 会计制度方法
  • 工程施工的借方和贷方
  • 公司对公账户给员工发工资税是谁扣
  • 开票软件找不到已开发票
  • 土地增值税计税依据
  • 机票退票账务处理
  • 生产质量问题报告怎么写
  • 进口货物的关税完税价格不包括
  • 核定征收的企业需要成本发票吗
  • 社会组织接受捐赠的资金的使用原则
  • 会务费发票税点是多少
  • 营改增的税收政策
  • 为什么利润表的财务费用与利息费用逻辑不对
  • 什么情况下只交城建税不交教育及地方税?
  • 应税行为扣除额计算怎么填
  • 公司一季度报表一般是什么时候出
  • 个税更正申报需要逐月更正吗
  • 应交税费属于什么费用科目
  • 试用期可以不交五险一金吗
  • 其他应付款注销时怎么冲平
  • 机打发票怎么申请流程
  • 公司付股东退股怎么处理
  • 专项扣除项目有上限吗
  • 个人所得税住房租金可以扣多少
  • 利用网速测试器测试
  • win11打开软件出现????????
  • 房屋装修费如何入账
  • 折扣销售的定义
  • sk是什么软件的缩写
  • regsvr32 shmedia.dll
  • 公司向职工借款利息需要交税吗
  • 个体工商户税收标准2023年
  • 企业签订的技术合同
  • 存货出入库的账务处理
  • 一次性取得的租金收入
  • php 面向对象
  • phpforeach
  • 深度学习环境配置(pytorch版本)----超级无敌详细版(有手就行)
  • spring boot 2.3.0
  • vue开发视频教程
  • 2023年我要实现的目标是
  • login user
  • 有形动产租赁个税是经营所得吗
  • 《开具红字增值税专用发票信息表》纸质
  • 关于存货跌价准备
  • 织梦cms不更新了吗
  • 织梦模板首页logo修改
  • 税率的确定和什么因素有关
  • 装修增值税税率是多少2022
  • mysql常见报错
  • mysql 中文排序是什么规则
  • 对公账户有法律效力吗
  • 土地增值税是什么税种类型
  • 银行承兑汇票的特点
  • 冲回上月暂估入账的商品会计分录
  • 利息返还是什么意思
  • 发票已付款,可以开红字吗
  • sql server 错误
  • mssql注入使用命令
  • 断电恢复
  • 为什么总让升级浏览器
  • mac网易云怎么换皮肤
  • micc是什么意思中文
  • win1020h2镜像
  • win8系统怎么设置开机密码
  • Linux如何使用命令
  • vs2019怎么用gets
  • cocos2dx官方教程
  • 原生js制作日历软件
  • android项目打包成jar包
  • css图片样式网站
  • android应用程序
  • shell脚本字符串操作
  • java 视频教程
  • 扣缴个人所得税怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设