前端HTML、CSS--11(CSS-8)

news2025/1/19 23:07:05

目录:

·CSS3 属性选择器

·CSS3 结构伪类选择器

·CSS3 伪元素选择器

·CSS3 2D转换

·CSS3 动画

·CSS3 3D转换

·浏览器私有前缀

4. 2D转换

转换(transform)是CSS3中具有颠覆性的特性之一,可以实现元素的位移、旋转、缩放等效果。

转换你可以简单理解为变形。

· 移动:translate

· 旋转:rotate

· 缩放:scale

4.1 二维坐标系

2D转换是改变标签在二维平面上的位置和形状的一种技术,先来学习二维坐标系

x轴 水平向右  ,y轴垂直向下,注意哟

4.2 2D 转换之移动 translate

2D移动是2D转换里面的一种功能,可以改变元素在页面中的位置,类似定位.

移动盒子的位置我们现有:定位、盒子的外边距、2D转换移动

1.语法:

transform:translate(x,y); 

 x即x轴方向上移动x个位置,y即y轴方向上移动y个位置

或者分开写

transform:translateX(n); 

transform:translateY(n); 

2.重点

·定义2D转换中的移动,沿着x和y轴移动元素

·translate最大的优点:不会影响到其它元素的位置。不同于定位和外边距会影响其它元素的位置。

·translate中的百分比单位是相对于自身元素的translate:(50%,50%);

比如我们一个大盒子里面套着一个小盒子,小盒子原先在大盒子左上角,现在我们想要小盒子在大盒子里垂直居中,我们之前可以用外边距或者定位。用定位的时候是这样,先子绝父相,然后top:50%;left:50%;这里的50%是走父盒子的50%,所以小盒子此时在大盒子偏右下角,然后再让小盒子走自身宽高的一半,即如果小盒子宽200高200,那么就margin-top:-100px;  margin-left:-100px;  即可达到垂直居中。但是这个缺点是当小盒子宽高改变时,margin-top和margin-left就要修改。

如果用translate,这一步直接transform:translate(-50%,-50%); 盒子往上走和往左走自身长度的一半,小盒子宽高改变时,就不用再去调整。

·对行内标签没有效果

4.3 2D转换之旋转rotate

2D旋转指的是让元素在2维平面内顺时针或逆时针旋转。

1.语法:

transform:rotate(度数);

2.重点:

·rotate里面跟度数,单位是deg比如rotate(45deg);

·角度为正时,顺时针,负时,为逆时针

·默认旋转的中心点是元素的中心点

例子:我想做一个我一点击这个图片它就旋转360度怎么做?

CSS3--书写三角箭头

我们之前的三角一般都是用字体图标,现在我们还可以用代码写出这个三角。

用伪元素,伪元素也是一个盒子嘛,给它宽高,然后例如给出一个左边框和下边框,然后再旋转45度即可得到一个指向下的三角箭头。

用CSS3做的话,还可以做当鼠标经过的时候让这个三角箭头旋转。当然如果想要看到过程可以加上过渡。

4.4 2D转换中心点transform-origin

我们可以设置元素转换的中心点

1.语法:

transform-origin:x y;

2.重点:

·注意后面的参数x和y用空格隔开

·x y默认转换的中心点是元素的中心点(50% 50%)

·还可以给x y设置像素或者方位名词(top bottom left right center)

案例:也经常用

 4.5 2D转换之缩放scale

缩放就是放大和缩小。只要给这个元素加上了这个书写就能控制它放大或缩小。

1.语法:

transforom:scale(x,y);

x即高度y即宽度

2.注意:

·注意其中的x和y是用逗号隔开的

·transform:scale(1,1);宽和高都放大一倍,相对于没有放大

·transform:scale(2,2);宽和高都放大了2倍

·transform:scale(2);只写一个参数,第二个参数则和第一个参数一样,相当于scale(2,2)

·transform:scale(0.5,0.5);缩小

·sacle缩放最大的优势:可以设置转换中心点,默认以转换中心点缩放的,而且不影响其它盒子。

以前直接修改高度宽度就可能会影响其它盒子,而且是只能往下往左右改变宽高。【】【、

例如:

 要是想固定其在某盒子内放大就添加溢出隐藏即可

分页案例:

4.6 2D转换综合写法 

注意:

1.同时使用多个转换,其格式为:transform:translate() rotate() scale() ...等,注意空格隔开

2.其顺序会影响转换的效果。(先旋转会改变坐标轴方向)

3.当我们同时有位移和其它属性的时候,记得要将位移放到最前面

5.动画

动画(animation)是CSS3中最具有颠覆性的特征之一,可通过设置多个节点来精确控制一个或一组动画,常用来实现复杂的动画效果。

相比于过渡,动画可以实现更多变化,更多控制,连续自动播放等效果。

5.1 动画的基本使用

制作动画分为两步:

1.先定义动画

2.再使用(调用)动画

1.用keyframes定义动画(类似定义类选择器)

@keyframes 动画名称 {

       0%{

               width:100px;

       }

       100%{

               width:200px;

      }

}

2.元素使用动画

div {

            width: 200px;

            height: 200px;

            background-color: pink;

             /* 2.使用动画 */

             /* 调用动画名称 */

             animation-name: move;

             /* 持续时间 */

             animation-duration: 2s;

      }

动画序列:

·0%是动画的开始,100%是动画的完成。这样的规则就是动画序列。

·在@keyframes中规定某项CSS样式,就能创建由当前样式逐渐改为新样式的动画效果。

·动画是使元素从一种样式逐渐变化为另一种样式的效果。你可以改变容易多的样式任意多的次数。

·请用百分比来规定变化发生的时间,或者用关键词“from”和“to”,等同于0%和100%

案例:做多个状态的变化

里面的百分比得是整数,里面的百分比就是总时间(如此例10s)的划分 

5.2 动画常用属性

改 :pause改为paused 

steps(5)就是分几步来完成我们的动画,有了steps就不要再写ease或者linear了 

而且千万注意,transform的综合写法中间是用空格隔开而不是逗号!!!

例如: transform: translateY(17.5px) rotateX(-70deg);  中间不是逗号隔开而是

并且注意如果有移动加其它样式,那么必须先写移动

案例:大数据热点图案例

 

 案例:奔跑的熊大案例

6.3D转换

特点 :·近大远小 ·物体后面遮挡不可见

当我们在网页上构建3D效果的时候参考这些特点就能产出3D效果

6.1 三维坐标系

 三维三个轴

·x轴:水平向右  注意:x 右边是正值,左边是负值

·y轴:垂直向下  注意:y 下面是正值,上面是负值

·z轴:垂直屏幕  注意:z 往外面是正值,往里面是负值

3D转换我们主要学习工作中最常用的3D位移和3D旋转

主要知识点

·3D位移:translate3d(x,y,z)

·3D旋转:rotate3d(x,y,z)

·透视:perspective

·3D呈现 transfrom-style

6.2 3D移动 translate

3D移动在2D移动的基础上多加了一个可以移动的方向,就是z轴方向。

语法:

·transfrom:translateX(100px):仅仅是在x轴上移动

·transfrom:translateY(100px):仅仅是在y轴上移动

·transfrom:translateZ(100px):仅仅是在z轴上移动(注意:translateZ一般用单位px,什么%不用)

·transfrom:translate3d(100px,100px,100px):其中x,y,z分别指要移动的方向的距离,xyz是不能省略的,如果没有就写0

6.3 透视 perspective

加了透视才能看到近大远小的3d效果

注意:透视是给父亲加透视

给父级盒子加透视,那其子级盒子也能有透视效果

transfrom:translateZ(100px);有了透视后,里面的值越大,物体就越变大,反之越变小。这个是物体在z轴上移动

perspective:500px;这个值越大物体越小。这个是眼睛在屏幕前移动,距离越近即数值越小物体就显的越大嘛。

6.5 3D旋转 rotate3d

3D旋转指可以让元素在三维平面内沿着x,y,z轴或者自定义轴进行旋转

语法:

·transfrom:rotateX(45deg):沿着x轴正方向旋转45度

·transfrom:rotateY(45deg):沿着y轴正方向旋转45度

·transfrom:rotateZ(45deg):沿着x轴正方向旋转45度

·transfrom:rotate3d(x,y,z,deg):沿着自定义轴旋转deg为角度(了解即可)

6.6 3D呈现 transfrom-style

·控制子元素是否开启三维立体环境

·transfrom-style:flat; 子元素并开启3D立体空间,默认的

·transfrom-style:perserve-3d;子元素开启立体空间

·代码写给父级,但是影响的是子盒子

·这个属性很重要,后面必用

案例:

1.两面翻转盒子案例

2.3D导航栏

 

 3.旋转木马案例

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/434796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术引领,创邻科技Galaxybase亮相2023数据技术嘉年华

2023年4月7日-8日,由中国DBA联盟(ACDU)和墨天轮社区联合主办的第十二届『数据技术嘉年华』(DTC2023)在北京举办。本次大会以“开放融合数智化——引领数据技术发展,释放数据要素价值”为主题,从…

线下活动 | 探索现代服务业的人效提升之路

3月25日,盖雅搞得定系列活动-卓越管理闭门分享会圆满落幕。此次活动主题定为「探索服务业的人效提升之路」,20余位现代服务业企业代表参与了此次活动,共同探讨如何利用数字化工具赋能企业管理,促进人效提升。招商积余人力负责人谢…

仿函数详解

目录 1、函数对象 2、谓词 2.1、一元谓词(谓词有一个参数) 2.1.1、普通函数提供策略 2.1.2、仿函数(上面的函数调用)提供策略 2.1.3、一元谓词全部代码 2.1、二元谓词(谓词有两个参数) ​编辑 3、内…

Ansys Zemax | 如何模拟 LED 及其它复杂光源

概述 在使用非序列时,对照明系统进行精确模拟的第一步总是要正确建立光源模型。OpticStudio 提供了多种精确模拟光源的方法。这篇文章介绍了如何在非序列模式下使用径向光源 (Source Radial), 光源文件 (Source File) 以及通过建立其他复杂几何体,来对le…

Oracle与Mysql求连续天数的数据

问题:最近有开发需求,查询最近一个月连续天数>2的数据项,我这里数据库日期存储的是yyyymmdd,字符串 (可自行根据自身情况修改) 思路:如果可以找到连续日期的开始与结束时间,那么就可以 where 日期 betw…

D. Shortest Cycle(floyd求最小环)

Problem - D - Codeforces 给你n个整数a1,a2,..., ana1,a2,...,an。考虑n个节点的图,其中节点ii, jj (i≠ji≠j)是相连的,当且仅当,aiaiAND aj≠0aj≠0,其中AND表示位数和操作。 请找出该图中最短周期的长度,或确定它…

数据库锁表原因、排查、解决

数据库锁表原因、排查、解决 一.场景场景1场景2 二.原因三.排查四.解决方案 一.场景 场景1 锁表通常发生在DML( insert 、update 、delete ) A操作进行全量数据同步,对整个表的粒度进行上锁,导致B操作只能等待A操作完成才能进入…

Vue中mixins(混入)的介绍和使用

什么是Mixin? 想要使用一个事物或者工具,我们首要先了解它是什么,这样我们才好对症下药。 其实Mixin不是Vue专属的,可以说它是一种思想,也可以说它就是混入的意思,在很多开发框架中都实现了Mixin(混入)&a…

我的第一本书终于要印刷了!

终于要印刷了 编辑发来了一个好消息,我的书最快下周就可以印刷出版了。 从开始动笔到提交第一稿,前后有1年的时间, 紧接着和出版社胡老师一起修改, 从一审、二审、三审, 到一校、二校、三校, 确认书…

MobileNetV3详细原理(含torch源码)

作者:爱笑的男孩。 个人简介:打工人。 持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。 如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱…

企业对外投资为何一定要申请境外投资备案?

随着贸易经济全球化的发展,国内外企业也纷纷把目标转向海外市场,尤其香港,日本,东南亚等地的投资有增无减。 境外投资备案,就是在中国境内设立的公司主体对中国以外的国家进行投资,需要在商务部和发改委进…

高级数据结构与算法 | 自适应基数树(Adaptive Radix Tree)

文章目录 AdaptiveRadixTree基本介绍自适应节点内部节点叶子节点 高度压缩Path CompressionLazy Expansion 算法SearchInsertDeleteBulk loading 并发乐观锁耦合读优化写排除(ROWEX)适配 ROWEX节点替换路径压缩 AdaptiveRadixTree 基本介绍 论文链接&am…

在win10中使用webdriver

一、察看并下载webdriver 查看 下载: 地址为: CNPM Binaries Mirror (npmmirror.com)https://registry.npmmirror.com/binary.html?pathchromedriver/ 找到对应的版本,最后面的数字不一定要完全相同 二、安装 参考: Python…

设计模式-工厂方法模式

大话设计模式这本书反反复复学过好多遍了,每一次学都会有不同的认识,接下来谈谈我最近学习工厂的一次感受; 发展: 一个计算器的例子从不使用工厂到分离出前端、后端,到使用简单工厂再到使用工厂方法,每一步…

第一性原理计算在材料分析中的应用及未来发展趋势

第一性原理计算是一种理论计算方法,能够基于量子力学原理对物质的性质进行高精度预测。它已经成为材料科学研究中不可或缺的工具,帮助我们了解材料的基本特性,优化材料的性能,并发现新的材料。 一、第一性原理计算的基本原理 第一…

zabbix故障排查

zabbix server服务问题可以查看server日志 tail -f /var/log/zabbix/zabbix_server.log 根据日志中的error报错提示分析原因 zabbix agent服务问题可以查看agent日志 tail -f /var/log/zabbix/zabbix_agentd.log 根据日志中的error报错提示分析原因 zabbix的nginx服务问题可…

Window下编译PJSIP,不编译Media模块

Windows系统下使用VS1027进行编译PJSIP。 下载地址 PJSIP的地址:https://github.com/pjsip/pjproject 在线clone太慢的话,可以直接在这里下载比clone会快很多: https://github.com/pjsip/pjproject/releases 安装OpenSSL 直接安装已经编译…

TitanIDE 新版本来袭,全新“效能看板”上线

TitanIDE产品团队于4月17日晚发布了TitanV2.6.3版本,作为一次重要的版本迭代,新版本主要增加/优化了以下重大功能: 全新效能看板上线,研发进度一目了然;新增代码拷贝、下载权限管理功能;项目启动提速&…

创客匠人视频号全域增长落地班成功举办

以专业赋能好老师,打造知识付费商业IP,借助视频号布局商业增长第二曲线。 4月15日-16日,泛知识场景数字化服务商创客匠人在厦门举办「视频号全域增长落地班」。 本次大会邀请到创客匠人CEO、中欧EMBA蒋洪波,福布斯环球联盟创新企业…

电脑开机进不了系统怎么办?电脑开机错误无法显示桌面解决方法

电脑开机进不了系统怎么办?很多用户都有遇到过电脑正常开机,但是无法进入到系统桌面的情况。其实遇到这个问题,大部分的原因都是因为系统出现了故障损坏,我们可以去通过U盘来重装系统的方法进行解决。一起来看看以下的具体操作方法…