transform

作者: 成神之路_be73 | 来源:发表于2020-12-24 08:49 被阅读0次
一 transform的出现

是css3(层叠样式表)中的一个属性
于2009年3月20日发布CSS3 3D Transforms模块,该模块定义了CSS3 3D转换模型。
可以在.css和.js 中使用

二 兼容性

一般的兼容写法

transform:rotate(7deg);
-ms-transform:rotate(7deg);     /* IE 9(IE浏览器) */
-moz-transform:rotate(7deg);    /* Firefox(火狐浏览器) */
-webkit-transform:rotate(7deg); /* Safari(苹果浏览器) 和 Chrome(谷歌浏览器) */
-o-transform:rotate(7deg);  /* Opera(欧朋浏览器) */

支持的浏览器版本
Internet Explorer 10、Firefox、Opera 支持 transform 属性。
Internet Explorer 9 支持替代的 -ms-transform 属性(仅适用于 2D 转换)。
Safari 和 Chrome 支持替代的 -webkit-transform 属性(3D 和 2D 转换)。
Opera 只支持 2D 转换。
caniuse

三 方法及属性 与排列顺序

主要包括以下几种:透视perspective、旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix

类型
默认值 transform: none
继承 no
版本 css3
JavaScript 语法 object.style.transform="rotate(7deg)"
四 性能(优点)

别人写好的文章,我就直接拿来用了,
前端性能优化--transform与position
CSS3动画卡顿性能优化解决方案

五 纯css实现div旋转功能
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>旋转</title>
    <style>
      .box {
        width: 200px;
        height: 200px;
        transform-style: preserve-3d;
        position: relative;
        margin: 20px auto;
        font-size: 50px;
        color: #fff;
        line-height: 200px;
        text-align: center;
        transform: perspective(800px) rotateX(0deg);
        transition: all 2s ease;
      }
      .box div {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
      }

      .box div:nth-child(1) {
        background: pink;
        transform: translateZ(100px);
      }

      .box div:nth-child(2) {
        background: #ccc;
        transform: translateZ(100px);
      }

      .box div:nth-child(3) {
        background: blue;
        transform: translateX(-100px) rotateY(-90deg);
      }

      .box div:nth-child(4) {
        background: green;
        transform: translateX(100px) rotateY(90deg);
      }

      .box div:nth-child(5) {
        background: orange;
        transform: translateY(-100px) rotateX(90deg);
      }

      .box div:nth-child(6) {
        background: purple;
        transform: translateY(100px) rotateX(-90deg);
      }

      .box:hover {
        transform: perspective(800px) rotateX(180deg) rotateY(180deg) translate(60px);
      }

      .box:hover {
        transform: perspective(800px) rotateX(180deg) rotateY(180deg) translate(60px);
      }
    </style>
  </head>

  <body>
    <div class="box">
      <div>后</div>
      <div>前</div>
      <div>左</div>
      <div>右</div>
      <div>上</div>
      <div>下</div>
    </div>
  </body>
</html>

五 使用的时候有没有用到什么问题

看这篇文章呐~~~ https://www.jianshu.com/p/53d47af52eaa

相关文章

网友评论

      本文标题:transform

      本文链接:https://www.haomeiwen.com/subject/labpnktx.html