css3_2D转换transform、动画和3D转换

位移translate

  1. 格式:
    (1)transform: translate(x, y) // x是x轴上移动的位置,y是y轴上移动的位置
    (2)只移动x坐标:①transform: translateX(100px) ②transform: translate(100px, 0)
    (3)只移动y坐标:①transform: translateY(100px) ②transform: translate(0, 100px)
  2. 注意点
    (1)优点:不会影响其他盒子的位置。
    (2)translate中的百分比单位是相对于自身元素的translate:(50%,50%)
    (3)对行内标签没有效果

旋转rotate

  1. 语法:transform:rotate(度数)
    (1)rotate里面跟度数,单位是deg,比如rotate(45deg);
    (2)角度为正时顺时针旋转,角度为负时逆时针旋转;
    (3)默认旋转中心点是元素的中心点。
  2. 设置元素转换中心点
    语法:transform-origin
    (1)可以跟方位名词:默认情况的50%, 50%等价于center, center;还可以设置left, bottom(旋转中心左下角)
    (2)可以设置百分比
    (3)还可以设置像素

缩放scale

  1. 语法
    (1)transform: scale(x, y) // x表示宽度缩放倍数,y表示高度缩放倍数
    (2)transform: scale(1, 1) // 宽和高都放大了一倍,相当于没有放大,相当于transform: scale(1)
    (3)可以设置转换中心点缩放,默认以中心点缩放,而且不影响其他盒子

综合案例

  1. 同时适用多个转换,其格式为:
transform: translateX() rotate() scale()....
  1. 其顺序会影响转换的效果,故当同时有位移和其他属性的时候,要将位移放在最前面

动画

  1. 定义
    动画是CSS3中具有颠覆性的特征之一,相比于过渡,动画可以实现更多变化、更多控制、连续自动播放等效果。
  2. 基本使用
    (1)先定义动画
    用keyframes定义动画(类似定义类选择器)
@keyframes 动画名称 {
  0% {  // 0%是动画的开始
    transform: translateX(0px);
  }
  100% {  // 100%是动画的结尾
    transform: translateX(1000px);
  }
}

(2)再调用动画

div {
  width: 200px;
  height: 200px;
  animation-name: 动画名称;
  animation-duration: 持续时间; // 单位s或ms
}

(3)动画序列
①0%是动画的开始,100%是动画的结尾,这样的规则称为动画序列

@keyframes 动画名称 {
  from {  
    transform: translateX(0px);
  }
  to {  
    transform: translateX(1000px);
  }
}
等价于
@keyframes 动画名称 {
  0% { 
    transform: translateX(0px);
  }
  100% {
    transform: translateX(1000px);
  }
}

② 可以改变任意多的样式任意多的次数,里面的百分比要是整数且百分比是总的时间的划分。如实现下图效果

@keyframes 动画名称 {
  0% { 
    transform: translate(0, 0);
  };
  25% {
    transform: translate(1000px, 0);
  };
  50% {
    transform: translate(1000px, 500px);
  };
  75% {
    transform: translate(0px, 500px);
  };
  100% {
    transform: translate(0, 0);
  };
}
image.png

(4)动画属性

(5)速度曲线

(6)元素可以添加多个动画,用逗号隔开。

3D转换

  1. 3D旋转
    (1)定义:指可以让元素在三维平面内沿着x轴、y轴、z轴或自定义轴进行旋转。
transform: rotateX(45deg)  // 沿着x轴正方向旋转45度
transform: rotate3d(x, y, z, deg)  // 沿着自定义轴旋转deg度(了解即可),例transform: rotate3d(1, 0, 0, 45deg)表示沿x轴旋转45度。

(2)左手法则用于元素方向的判断:左手的手拇指指向x轴的正方向,其余手指弯曲的方向就是该元素沿着x轴旋转的方向。

  1. 3D呈现transform-style
    (1)transform-style: flat; 默认子元素不开启3D立体空间。
    (2)transform-style: preserve-3d; 子元素开启立体空间。
    (3)代码写在父元素上,但是影响的是子元素。

浏览器私有前缀

-moz-:代表火狐浏览器
-ms-:代表ie浏览器
-webkit-:代表safari、chrome浏览器
-o-:代表Opera私有属性

css3新增

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352