CSS-9(2D转换+动画+3D转换)

目录

1.VS Code

2.HTML5

HTML5的简介

HTML5新增语义标签

3.2D转换transform

2D转换之移动translate

2D转换之旋转rotate

CSS三角

设置旋转中心点

2D转换之scale

2D转换综合写法

2D转换总结

4.动画

动画序列

CSS3动画常见属性

CSS3动画简写

热点图制作

速度曲线之step步长

5.3D转换

三维坐标系

3D转换translate3d

透视perspective

3D旋转rotate3d

3D旋转rotateX

3D旋转rotateY

3D旋转rotateZ

3D旋转rotate3d(x,y,z,deg)

3D呈现transform-style

浏览器私有前缀


1.VS Code

2.HTML5

HTML5的简介

HTML5新增语义标签

<header>头部标签        <nav>导航标签      <artical>内容标签     

<section>块级标签       <aside>侧边栏标签       <footer>尾部标签

在使用时,需要把这些元素转换为块级元素

3.2D转换transform

transform转换,translate移动   rotate旋转   scale缩放

2D转换之移动translate

2D移动类似于定位

transform:translate(x,y)   在两轴上都移动,即使其中一轴不移动,也要写上0

transform:translateX(n);  只在x轴方向移动

transform:translateY(n);  只在y轴方向移动

translate的最大优点:不会影响到其他元素的位置

translate中的百分比单位是相对于自身元素的大小进行移动translate:(50%,50%)

对行内标签没有效果

可以利用translate相对于自身元素的百分比进行移动,来使盒子垂直居中,搭配定位来做

注意其中设置的top:50%; left:50%会让元素根据父盒子大小的一半进行移动,之后再根据自身大小进行移动

对于行内元素如span是无效的

2D转换之旋转rotate

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

transform:rotate(度数)

rotate的度数单位是deg

角度为正值时,顺时针旋转;为负值时,逆时针旋转

默认旋转的中心点时元素的中心点

放置一张图片,给图片加一个圆形边框,在鼠标经过图片时进行旋转,并且设置一个过渡transition

CSS三角

先定义一个盒子,之后再利用after伪元素来设置三角形状,还需要利用“子绝父相”定位,设置小盒子的宽和高,再给小盒子添加上右边距和下边距,之后给设置好边距的盒子进行旋转,让三角尖朝下;接着设置在鼠标经过时箭头旋转,再用transition来设置三角变化时的旋转速度

设置旋转中心点

transform-origin:x y;

后面的参数必须用空格隔开

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

可以给x y元素设置方位名词或者像素

2D转换之scale

transform:scale(x,y);

可以进行缩放,放大和缩小

中间的x和y用逗号隔开

transform:scale(1,1)宽和高只放大一倍,相当于没有放大

transform:scale(2)宽和高都放大两倍

是以中心点缩放的,而且不影响其他盒子

2D转换综合写法

transform:translate()  rotate()  scale()

顺序不能乱,位移要放到第一个上面,中间用空格隔开

2D转换总结

4.动画

分为定义动画和使用动画两步,用@keyframes定义动画,0%是动画开始的位置,100%是动画结束的位置;在调用动画时,需要添加animation-name:动画名称和animation-duration:持续时间

动画序列

0%、100%可以用from、 to来代替

可以改变任意多的样式任意多的次数

将整个状态划分四个部分,可以用0到100之间的任意一个数字命名,最后设置时间时最好要做到平均

CSS3动画常见属性

animation-timing-function    规定动画的速度曲线,一般默认是ease,直线

animation-delay   延迟多少秒或毫秒

animation-iteration-count    规定动画播放的次数,默认是1,也可以是infinite无限次

animation-direction     规定动画运动到100%进行下一个周期时,是否从结束位置返回起始位置,还是直接再从起始位置开始,默认是normal,可以是alternate逆向播放,一来一回(我觉得一般和无限次播放在一起使用)

animation-fill-mode     规定动画结束后的状态,forwards保持在结束状态,backwards回到起始

animation-play-state    规定当鼠标经过时是继续运行还是停止,默认是running,停止是paused,鼠标离开后继续运动,是和hover搭配在一起使用的

CSS3动画简写

animation: mylist   5s  linear  2s   infinite   alternate

                动画名称  持续时间  运动曲线  何时开始   播放次数   是否反方向  

热点图制作

透明度opacity

运用调用起始名相同的类名,.city div[class^="pulse"]

运用阴影,不用scale,因为它会放大阴影

速度曲线之step步长

animation-timing-function:默认是"ease"

linear 动画从头到尾的速度是相同的,匀速   

ease 动画从从低俗开始,然后加快,在结束前变慢   

steps()指定了时间函数中的间隔数量(步长)

white-space:nowrap;       将文字强制一行内显示

width:0;       将宽度设置为0,让放进去的内容撑开盒子

overflow:hidden;        将未显示出来的文字进行隐藏

因为动画的结束位置是在200px处,又把文字的大小设置为20px,分为10步,就会一个字一个字地显示出来

5.3D转换

三维坐标系

x轴水平向右,右边是正值,左边是负值

y轴垂直向下,下面是正值,上面是负值

z轴垂直屏幕,在外面是正值,往里面是负值

3D转换translate3d

transform:translate3d(x,y,z)   不能省略其中的某一个值,可以写0;注意d是小写

透视perspective

远小近大,透视写在被观察元素的父盒子上

d是视距,视距是人的距离到屏幕上的距离;z是z轴,物体距离屏幕的距离,z轴越大(正值),我们看到的物体就越大

其实d就是perspective的值

z轴较大,看到的物体就较大

z轴越小,看到的物体就越小

3D旋转rotate3d

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

transform:rotateX()

写代码时,perstpective要写在父盒子中,其中图片的父盒子就是body   

3D旋转rotateX

左手准则:左手大拇指所指方向为x轴方向,手指弯曲方向就是元素沿着x轴旋转的方向

3D旋转rotateY

左手准则:左手大拇指指向y轴的正方向,其余手指的弯曲方向就是该元素沿着y轴旋转的方向(正值)

3D旋转rotateZ

其实就是就和2D平面的旋转一样,在一个平面内的旋转

3D旋转rotate3d(x,y,z,deg)

x 、y、 z是表示旋转轴的矢量,向量合成

如transform:rotate3d(1,1,0,45deg)就是沿着对角线旋转45deg

3D呈现transform-style

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

transform-style:flat; 子元素不开启3d立体环境,默认

transform-style:preserve-3d; 子元素开启立体空间

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

先设置一个盒子,再放两个div,设置成top:0;  left:0;  width:100%;  height:100px; 设置第一个div的颜色,再利用last-child设置第二个盒子的颜色,不给box添加透视给body添加透视,因为后续会给box再设置旋转,给box添加transform-style:preserve-3d; 让子元素保持3d立体空间环境

案例·设置旋转导航栏

案例·旋转小狗

浏览器私有前缀

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值