一、rotate与三角

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

使用步骤:

  1. 给元素添加转换属性 transform
  2. 属性值为 rotate(角度)transform:rotate(30deg) 顺时针方向旋转30度 ``` div{ transform: rotate(0deg); }
  1. ### 三角
  2. - 代码演示
  3. ![image-20200430133203222](https://gitee.com//qiaoyukeji/markdown_tupian/raw/master/markdown/20200430133212.png)
  1. ## 二、设置元素旋转中心点(transform-origin)
  2. 1. `transform-origin` 基础语法

transform-origin: x y;

  1. 2. 重要知识点
  2. - 注意后面的参数 x y 用空格隔开
  3. - x y 默认旋转的中心点是元素的中心 (50% 50%),等价于 `center` `center`
  4. - 还可以给 x y 设置像素或者方位名词(`top``bottom``left``right``center`)
  5. ## 三、旋转中心案例
  6. -
  7. 代码演示
  8. <br />![image-20200430135839134](https://gitee.com//qiaoyukeji/markdown_tupian/raw/master/markdown/20200430135840.png)
  9. <br />![image-20200430140000627](https://gitee.com//qiaoyukeji/markdown_tupian/raw/master/markdown/20200430140002.png)
  1. <style>
  2. div {
  3. width: 200px;
  4. height: 200px;
  5. border: 1px solid pink;
  6. margin: 100px auto;
  7. overflow: hidden;
  8. }
  9. div::before {
  10. content: '黑马';
  11. width: 100%;
  12. height: 100%;
  13. display: block;
  14. background-color: hotpink;
  15. transform-origin: left bottom;
  16. transform: rotate(180deg);
  17. transition: all 0.5s;
  18. }
  19. div:hover::before {
  20. transform: rotate(0deg);
  21. }
  22. </style>
  1. ## 四、`2D` 转换之 `scale` 缩放
  2. 1.
  3. `scale` 的作用
  4. - 用来控制元素的放大与缩小
  5. 1.
  6. 语法

transform: scale(x, y)

  1. 1.
  2. 知识要点
  3. - 注意,x y 之间使用逗号进行分隔
  4. - `transform: scale(1, 1)`: 宽高都放大一倍,相当于没有放大
  5. - `transform: scale(2, 2)`: 宽和高都放大了二倍
  6. - `transform: scale(2)`: 如果只写了一个参数,第二个参数就和第一个参数一致
  7. - `transform:scale(0.5, 0.5)`: 缩小
  8. - `scale` 最大的优势:可以设置转换中心点缩放,默认以中心点缩放,而且不影响其他盒子
  9. 1.
  10. 代码演示

div:hover { / 注意,数字是倍数的含义,所以不需要加单位 / / transform: scale(2, 2) /

  1. /* 实现等比缩放,同时修改宽与高 */
  2. /* transform: scale(2) */
  3. /* 小于 1 就等于缩放*/
  4. transform: scale(0.5, 0.5)

}

  1. ## 五、图片放大案例
  2. - 代码演示
  3. ![image-20200430141751050](https://gitee.com//qiaoyukeji/markdown_tupian/raw/master/markdown/20200430141752.png)
HTML5CSS3_day02 - 图1
HTML5CSS3_day02 - 图2
HTML5CSS3_day02 - 图3
``` ## 六、分页按钮案例 - 代码演示 ![image-20200430142417345](https://gitee.com//qiaoyukeji/markdown_tupian/raw/master/markdown/20200430142418.png) ```
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
``` ## 七、 `2D` 转换综合写法以及顺序问题 1. 知识要点 - 同时使用多个转换,其格式为 `transform: translate() rotate() scale()` - 顺序会影响到转换的效果(先旋转会改变坐标轴方向) - 但我们同时有位置或者其他属性的时候,要将位移放到最前面 2. 代码演示1 ``` div:hover { transform: translate(200px, 0) rotate(360deg) scale(1.2) } ``` ## 八、 动画(animation) 1. 什么是动画 - 动画是 `CSS3` 中最具颠覆性的特征之一,可通过设置多个节点来精确的控制一个或者一组动画,从而实现复杂的动画效果 1. 动画的基本使用 - 先定义动画 - 在调用定义好的动画 1. 语法格式(定义动画) ``` @keyframes 动画名称 { 0% { width: 100px; } 100% { width: 200px } } ``` 1. 语法格式(使用动画) ``` div { /* 调用动画 */ animation-name: 动画名称; /* 持续时间 */ animation-duration: 持续时间; } ``` 5. 动画序列 - 0% 是动画的开始,100 % 是动画的完成,这样的规则就是动画序列 - 在 [keyframs ](/keyframs ) 中规定某项 CSS 样式,就由创建当前样式逐渐改为新样式的动画效果 - 动画是使元素从一个样式逐渐变化为另一个样式的效果,可以改变任意多的样式任意多的次数 - 用百分比来规定变化发生的时间,或用 `from` 和 `to`,等同于 0% 和 100% 5. 代码演示 ```
  1. ## 九、动画序列
  2. - 代码演示
  3. ![image-20200430151722213](https://gitee.com//qiaoyukeji/markdown_tupian/raw/master/markdown/20200430151724.png)

```