青海门户网站建设,可免费注册的网站,推广平台方案,注册一个网页多少钱个人主页#xff1a;学习前端的小z 个人专栏#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结#xff0c;欢迎大家在评论区交流讨论#xff01; 文章目录 ✍一、CSS3 平面 2D 变换#x1f48e;1 坐标轴#x1f48e;2 transform 语法… 个人主页学习前端的小z 个人专栏HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结欢迎大家在评论区交流讨论 文章目录 ✍一、CSS3 平面 2D 变换1 坐标轴2 transform 语法3 translate 平移4 rotate 旋转5 transform-origin 语法6 scale 缩放7 skew 倾斜 ✍二、CSS3 过渡 ✍一、CSS3 平面 2D 变换
容许元素在 2D 平面上进行变换
平移(translate)旋转(rotate)缩放(scale)倾斜(skew)
1 坐标轴 2 transform 语法
在 2D 平面上进行变换是通过设置 transform 属性语法格式如下
transform: none|transform-functions;代码示例
transform: translate(20px, 30px) rotate(30deg) scale(3, 4) skew(20deg, 30deg);3 translate 平移
对非置换的行内元素无效比如span(inline)无效img(虽然是inline但是它是置换元素)有效。
transform不会脱离文档流也不改变文档流的大小和位置。只是视觉上发生了变换。
translate()方法根据左(X 轴)和顶部(Y 轴)位置给定的参数从当前元素位置移动。
transform: translate(50px, 100px);
transform: translateX(50px);
transform: translateY(50px);translate值50px100px是从左边元素移动50个像素并从顶部移动100像素。
4 rotate 旋转
rotate()方法在一个给定度数顺时针旋转的元素。负值是允许的这样是元素逆时针旋转。
transform: rotate(30deg);rotate值30deg元素顺时针旋转30度。
如果先旋转则会导致坐标轴发生改变从而后面的变换根据已改变的坐标轴进行变换
/*改变 translateX发现它是水平移动坐标轴并没有改变*/
transform: translateX(10px) rotate(45deg);/*改变 translateX发现它是以改变的坐标轴进行移动也就是斜角45deg往下走了*/
transform: rotate(45deg) translateX(10px);5 transform-origin 语法
transform-origin属性允许您更改转换元素的位置。2D转换元素可以改变元素的X和Y轴。语法如下
transform-origin: x-axis y-axis;
/*默认值是 x-axis:center y-axis: center*/取值如下
值描述x-axis定义视图被置于 X 轴的何处。可能的值left、center、right、length、%y-axis定义视图被置于 Y 轴的何处。可能的值top、center、bottom、length、%
6 scale 缩放
scale()方法该元素增加或减少的大小取决于宽度X 轴和高度Y 轴的参数
transform: scale(2, 3);transform: scaleX(2);
transform: scaleY(3);scale2,3转变宽度为原来的大小的2倍和其原始大小3倍的高度。
缩放用 0 数字
7 skew 倾斜
语法
transform:skew(angle [,angle]);包含两个参数值分别表示X轴和Y轴倾斜的角度如果第二个参数为空则默认为0参数为负表示向相反方向倾斜。
skewX(angle);表示只在X轴(水平方向)倾斜。skewY(angle);表示只在Y轴(垂直方向)倾斜。
transform: skew(30deg, 20deg);
transform: skewX(30deg);
transform: skewY(20deg);skew(20deg,30deg) 元素在 X 轴倾斜 20 度和 Y 轴上倾斜 30 度。
✍二、CSS3 过渡 过渡transition)是CSS3中具有颠覆性的特征之一我们可以在不使用 Flash 动画或 JavaScript 的情况下当元素从一种样式变换为另一种样式时为元素添加效果。 过渡动画 是从一个状态(起始值) 渐渐的过渡到另外一个状态终止值
0 ~ 100100s叫做过渡里面存在一个速率
可以让我们页面更好看更动感十足虽然 低版本浏览器不支持ie9以下版本 但是不会影响页面布局。
我们现在经常和 :hover 一起 搭配使用
transition: 要过渡的属性 花费时间 运动曲线 何时开始;属性 想要变化的 css 属性 宽度高度 背景颜色 内外边距都可以 。如果想要所有的属性都变化过渡 写一个all 就可以。花费时间 单位是 秒必须写单位 比如 0.5s运动曲线 默认是 ease 可以省略何时开始 单位是 秒必须写单位可以设置延迟触发时间 默认是 0s 可以省略
timing-function 曲线属性 值描述linear规定以相同速度开始至结束的过渡效果等于 cubic-bezier(0,0,1,1)。ease规定慢速开始然后变快然后慢速结束的过渡效果cubic-bezier(0.25,0.1,0.25,1)。ease-in规定以慢速开始的过渡效果等于 cubic-bezier(0.42,0,1,1)。ease-out规定以慢速结束的过渡效果等于 cubic-bezier(0,0,0.58,1)。ease-in-out规定以慢速开始和结束的过渡效果等于 cubic-bezier(0.42,0,0.58,1)。cubic-bezier(n,n,n,n)了解 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。
cubic-bezier 即为贝兹曲线中的绘制方法。图上有四点P0-3其中 P0、P3 是默认的点对应了[0,0], [1,1]。而剩下的 P1、P2 两点则是我们通过 cubic-bezier()自定义的。cubic-bezier(x1, y1, x2, y2) 为自定义x1,x2,y1,y2 的值范围在[0, 1]。 贝兹曲线调试网址cubic-bezier
使用方法在上面网址中选择想要的缓动效果如cubic-bezier(.17,.67,.84,.66)