CSS四种2D变形:旋转、缩放、倾斜、位移变形

2023-08-1109:57:47网页制作Comments834 views字数 2604阅读模式

变形是CSS3中比较颠覆性的特征之一,今天介绍四种2D变形旋转、缩放、倾斜、位移变形。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

变形在CSS3用 transform 属性 来实现。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

 文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

transform-origin 属性

transform-origin  表示旋转的原点,默认是在盒子的中心位置(center)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

CSS四种2D变形:旋转、缩放、倾斜、位移变形文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

transform-origin 的值可以是一个、两个或者三个,其中的每个值都表示一个方向上的偏移量。没有明确定义将默认为 center。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

transform-origin: x y z;

CSS四种2D变形:旋转、缩放、倾斜、位移变形文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

  • 第一个值 表示X轴上的偏移量, 可以使用 像素等长度单位、百分比 表示;也可以使用 left、center、right、top、bottom当中的一个值表示。
  • 第二个值 表示Y轴上的偏移量, 可以使用 像素等长度单位、百分比 表示;也可以使用 left、center、right、top、bottom当中的一个值表示。
  • 第三个值 表示Z轴上的偏移量,只能使用 像素 等长度单位表示。

旋转变形

旋转变形即使一个盒子发生旋转。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

rotate() 函数来给 transform  属性赋值,即可实现旋转变形,若角度为正,则顺时针旋转,否则逆时针旋转。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

语法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

transform: rotate(45deg)

举例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

盒子以中心为原点,旋转 45度。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

CSS四种2D变形:旋转、缩放、倾斜、位移变形文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>旋转变形</title>    <style>      .box {        margin: 50px;        width: 100px;        height: 100px;        background-color: blue;        transform-origin: center;        transform: rotate(45deg);      }</style>  </head>  <body>    <div class="box"></div>  </body></html>

缩放变形

缩放变形即放大缩小一个盒子。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

scale() 函数来给 transform  属性赋值,即可实现缩放变形, scale 函数接受的值为缩放比例, 大于1 表示放大, 小于1表示缩小。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

语法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

transform: scale(2);

举例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

三个盒子,一个放大,一个缩小,一个不变。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

CSS四种2D变形:旋转、缩放、倾斜、位移变形文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>缩放变形</title>    <style>      div {        display: inline-block;        width: 100px;        height: 100px;        background-color: orange;        margin: 50px;      }
      .box1 {        transform: scale(2);      }
      .box3 {        transform: scale(0.5);      }</style>  </head>  <body>    <div class="box1"></div>    <div class="box2"></div>    <div class="box3"></div>  </body></html>

倾斜变形

倾斜变形即使一个盒子倾斜。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

skew() 函数来给 transform  属性赋值,即可实现倾斜变形, skew 函数接受两个值, 第一个值表示X轴的斜切角度,第二个值表示Y轴的斜切角度。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

语法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

tranform: skew(10deg, 20deg)

举例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

两个盒子,其中一个盒子不变,另一个盒子x轴倾斜10 度, Y轴倾斜0度。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

CSS四种2D变形:旋转、缩放、倾斜、位移变形文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>斜切变形</title>    <style>      div {        display: inline-block;        width: 100px;        height: 100px;        background-color: orange;        margin: 50px;      }
      .box2 {        transform-origin: center;        transform: skew(10deg, 0deg);      }</style>  </head>  <body>    <div class="box1"></div>    <div class="box2"></div>  </body></html>

位移变形

位移变形即使一个盒子的 位置发生位移, 有点像之前讲到过的 相对定位,同样位移变形后,原来的位置无法被别的盒子占用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

translate() 函数来给 transform  属性赋值,即可实现位移变形, translate函数接受两个值, 第一个值表示向右移动距离, 第二个值表示向下移动距离。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

语法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

transform: translate(100px 200px)

举例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

三个盒子,使得第二个盒子的位置发生变化。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

CSS四种2D变形:旋转、缩放、倾斜、位移变形文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html

<!DOCTYPE html><html lang="en">  <head>    <meta charset="UTF-8" />    <meta http-equiv="X-UA-Compatible" content="IE=edge" />    <meta name="viewport" content="width=device-width, initial-scale=1.0" />    <title>位移变形</title>
    <style>      .box1 {        width: 100px;        height: 100px;        background-color: red;      }      .box2 {        width: 100px;        height: 100px;        background-color: green;        transform: translate(200px, 200px);      }
      .box3 {        width: 100px;        height: 100px;        background-color: blue;      }</style>  </head>  <body>    <div class="box1"></div>    <div class="box2"></div>    <div class="box3"></div>  </body></html>
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/53570.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/zhizuo/53570.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定