• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

2D-定位,旋转,缩放

武飞扬头像
a-tao必须奥利给
帮助1

2D-定位,旋转,缩放

1. 移动盒子的位置,定位

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.  
    <title>Document</title>
  9.  
    <style>
  10.  
    /* 移动盒子的位置: 定位 盒子的外边距 2d转换移动 */
  11.  
     
  12.  
    div {
  13.  
    width: 200px;
  14.  
    height: 200px;
  15.  
    background-color: pink;
  16.  
    /* x就是x轴上移动位置 y 就是y轴上移动位置 中间用逗号分隔*/
  17.  
    /* transform: translate(x, y); */
  18.  
    /* transform: translate(100px, 100px); */
  19.  
    /* 1. 我们如果只移动x坐标 */
  20.  
    /* transform: translate(100px, 0); */
  21.  
    /* transform: translateX(100px); */
  22.  
    /* 2. 我们如果只移动y坐标 */
  23.  
    /* transform: translate(0, 100px); */
  24.  
    /* transform: translateY(100px); */
  25.  
    }
  26.  
     
  27.  
    div:first-child {
  28.  
    transform: translate(30px, 30px);
  29.  
    }
  30.  
     
  31.  
    div:nth-child(2) {
  32.  
    background-color: purple;
  33.  
    }
  34.  
    div:nth-child(3) {
  35.  
    transform: translate(100px, 200px);
  36.  
    background-color: blue;
  37.  
    }
  38.  
    </style>
  39.  
    </head>
  40.  
     
  41.  
    <body>
  42.  
    <div></div>
  43.  
    <div></div>
  44.  
    <div></div>
  45.  
    </body>
  46.  
     
  47.  
    </html>
学新通

测试结果如下:

学新通

2、 让盒子水平居中和垂直居中的方法二

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.  
    <title>Document</title>
  9.  
    <style>
  10.  
    div {
  11.  
    /* 父盒子是相对的 */
  12.  
    position: relative;
  13.  
    width: 500px;
  14.  
    height: 500px;
  15.  
    background-color: pink;
  16.  
    /* 1. 我们tranlate里面的参数是可以用 % */
  17.  
    /* 2. 如果里面的参数是 % 移动的距离是 盒子自身的宽度或者高度来对比的 */
  18.  
    /* 这里的 50% 就是 50px 因为盒子的宽度是 100px */
  19.  
    transform: translateX(50%);
  20.  
    }
  21.  
     
  22.  
    p {
  23.  
    /* 儿子相对父亲是绝对的,这就是子绝父相*/
  24.  
    position: absolute;
  25.  
    top: 50%;
  26.  
    left: 50%;
  27.  
    width: 200px;
  28.  
    height: 200px;
  29.  
    background-color: purple;
  30.  
    /* margin-top: -100px;
  31.  
    margin-left: -100px; */
  32.  
    /* translate(-50%, -50%) 盒子往上走自己高度的一半 */
  33.  
    transform: translate(-50%, -50%);
  34.  
    }
  35.  
     
  36.  
    span {
  37.  
    /* translate 对于行内元素是无效的 */
  38.  
    transform: translate(300px, 300px);
  39.  
    }
  40.  
    </style>
  41.  
    </head>
  42.  
     
  43.  
    <body>
  44.  
    <div>
  45.  
    <p></p>
  46.  
    </div>
  47.  
    <span>123</span>
  48.  
    </body>
  49.  
     
  50.  
    </html>
学新通

测试结果如下:

学新通

3.2D转换之 rotate

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.  
    <title>Document</title>
  9.  
    <style>
  10.  
    img {
  11.  
    width: 400px;
  12.  
    /* 顺时针旋转45度 */
  13.  
    /* transform: rotate(45deg); */
  14.  
    border-radius: 50%;
  15.  
    border: 5px solid pink;
  16.  
    /* 过渡写到本身上,谁做动画给谁加 */
  17.  
    transition: all 0.3s;
  18.  
    }
  19.  
     
  20.  
    img:hover {
  21.  
    transform: rotate(360deg);
  22.  
    }
  23.  
    </style>
  24.  
    </head>
  25.  
     
  26.  
    <body>
  27.  
    <img src="media/pic.jpg" alt="">
  28.  
    </body>
  29.  
     
  30.  
    </html>
学新通

学新通

4. css3 用代码的方式搞一个三角形

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.  
    <title>Document</title>
  9.  
    <style>
  10.  
    div {
  11.  
    /* 设置框子高度和宽度,边的宽度以及颜色 */
  12.  
    position: relative;
  13.  
    width: 249px;
  14.  
    height: 35px;
  15.  
    border: 1px solid #000;
  16.  
    }
  17.  
     
  18.  
    /* 设置在div的后面 放置 > 的位置和角度 */
  19.  
    div::after {
  20.  
    content: "";
  21.  
    position: absolute;
  22.  
    top: 8px;
  23.  
    right: 15px;
  24.  
    width: 10px;
  25.  
    height: 10px;
  26.  
    border-right: 1px solid #000;
  27.  
    border-bottom: 1px solid #000;
  28.  
    /* 将正方形的右边和下边正方向旋转45deg */
  29.  
    transform: rotate(45deg);
  30.  
    transition: all 0.2s;
  31.  
    }
  32.  
    /* 鼠标经过div 里面的三角旋转 */
  33.  
     
  34.  
    div:hover::after {
  35.  
    /* 当鼠标进过这里的时候,旋转 */
  36.  
    transform: rotate(225deg);
  37.  
    }
  38.  
    </style>
  39.  
    </head>
  40.  
     
  41.  
    <body>
  42.  
    <div></div>
  43.  
    </body>
  44.  
     
  45.  
    </html>
学新通

测试结果如下:

学新通

5. 设置元素旋转的中心点

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.  
    <title>Document</title>
  9.  
    <style>
  10.  
    div {
  11.  
    width: 200px;
  12.  
    height: 200px;
  13.  
    background-color: pink;
  14.  
    margin: 100px auto;
  15.  
    transition: all 1s;
  16.  
    /* 1.可以跟方位名词 */
  17.  
    /* transform-origin: left bottom; */
  18.  
    /* 2. 默认的是 50% 50% 等价于 center center */
  19.  
    /* 3. 可以是px 像素 */
  20.  
     
  21.  
    /* 通过 transform-origin 参数可以设置旋转的中心点 这里设置的是正方形的中心; */
  22.  
    transform-origin: 50% 50%;
  23.  
    /* transform-origin: 50px 50px; */
  24.  
    }
  25.  
     
  26.  
    div:hover {
  27.  
    transform: rotate(360deg);
  28.  
    }
  29.  
    </style>
  30.  
    </head>
  31.  
     
  32.  
    <body>
  33.  
    <div></div>
  34.  
    </body>
  35.  
     
  36.  
    </html>
学新通
  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.  
    <title>Document</title>
  9.  
    <style>
  10.  
    div {
  11.  
    /* 超出该盒子的部分进行隐藏 */
  12.  
    overflow: hidden;
  13.  
    width: 200px;
  14.  
    height: 200px;
  15.  
    border: 1px solid pink;
  16.  
    margin: 10px;
  17.  
    float: left;
  18.  
    }
  19.  
     
  20.  
    div::before {
  21.  
    content: "黑马";
  22.  
    display: block;
  23.  
    width: 100%;
  24.  
    height: 100%;
  25.  
    background-color: hotpink;
  26.  
    /* 开始就旋转 180deg ,然后再当鼠标经过的时候,变成原貌即可 */
  27.  
    transform: rotate(180deg);
  28.  
    /* 按照左下角作为中心点进行旋转 */
  29.  
    transform-origin: left bottom;
  30.  
    transition: all 0.4s;
  31.  
    }
  32.  
    /* 鼠标经过div 里面的before 复原 */
  33.  
     
  34.  
    div:hover::before {
  35.  
    transform: rotate(0deg);
  36.  
    }
  37.  
    </style>
  38.  
    </head>
  39.  
     
  40.  
    <body>
  41.  
    <div></div>
  42.  
    <div></div>
  43.  
    <div></div>
  44.  
    </body>
  45.  
     
  46.  
    </html>
学新通

测试结果如下:

学新通

6. 2D转换之缩放,图片,按钮缩放案例

  1. 缩放

    1.  
      <!DOCTYPE html>
    2.  
      <html lang="en">
    3.  
       
    4.  
      <head>
    5.  
      <meta charset="UTF-8">
    6.  
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7.  
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
    8.  
      <title>Document</title>
    9.  
      <style>
    10.  
      div {
    11.  
      width: 200px;
    12.  
      height: 200px;
    13.  
      background-color: pink;
    14.  
      margin: 100px auto;
    15.  
      /* 设置盒子的缩放是按照哪个中心点进行缩放的,如果没有设置的话默认是以中心点 */
    16.  
      /* transform-origin: left bottom; */
    17.  
      }
    18.  
       
    19.  
      div:hover {
    20.  
      /* 1. 里面写的数字不跟单位 就是倍数的意思 1 就是1倍 2就是 2倍 */
    21.  
      /* transform: scale(x, y); */
    22.  
      /* transform: scale(2, 2); */
    23.  
      /* 2. 修改了宽度为原来的2倍 高度 不变 */
    24.  
      /* transform: scale(2, 1); */
    25.  
      /* 3. 等比例缩放 同时修改宽度和高度,我们有简单的写法 以下是 宽度修改了2倍,高度默认和第一个参数一样*/
    26.  
      /* transform: scale(2); */
    27.  
      /* 4. 我们可以进行缩小 小于1 就是缩放 */
    28.  
      /* transform: scale(0.5, 0.5); */
    29.  
      /* transform: scale(0.5); */
    30.  
      /* 5. scale 的优势之处: 不会影响其他的盒子 而且可以设置缩放的中心点*/
    31.  
      /* width: 300px;
    32.  
      height: 300px; */
    33.  
      transform: scale(2);
    34.  
      }
    35.  
       
    36.  
      .test {
    37.  
      height: 200px;
    38.  
      width: 200px;
    39.  
      background-color: aqua;
    40.  
      transform-origin: left top;
    41.  
      }
    42.  
       
    43.  
      .test:hover {
    44.  
      transform: scale(0.5);
    45.  
      }
    46.  
      </style>
    47.  
       
    48.  
      </head>
    49.  
       
    50.  
      <body>
    51.  
      <div></div>
    52.  
      <p class="test"></p>
    53.  
      123123
    54.  
      </body>
    55.  
       
    56.  
      </html>
    学新通

    学新通

  2. 图片放大案例

    1.  
      <!DOCTYPE html>
    2.  
      <html lang="en">
    3.  
       
    4.  
      <head>
    5.  
      <meta charset="UTF-8">
    6.  
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7.  
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
    8.  
      <title>Document</title>
    9.  
      <style>
    10.  
      div {
    11.  
      overflow: hidden;
    12.  
      float: left;
    13.  
      margin: 10px;
    14.  
      }
    15.  
       
    16.  
      div img {
    17.  
      transition: all .4s;
    18.  
      }
    19.  
       
    20.  
      div img:hover {
    21.  
      transform: scale(1.1);
    22.  
      }
    23.  
      </style>
    24.  
      </head>
    25.  
       
    26.  
      <body>
    27.  
      <div>
    28.  
      <a href="#"><img src="media/scale.jpg" alt=""></a>
    29.  
      </div>
    30.  
      <div>
    31.  
      <a href="#"><img src="media/scale.jpg" alt=""></a>
    32.  
      </div>
    33.  
      <div>
    34.  
      <a href="#"><img src="media/scale.jpg" alt=""></a>
    35.  
      </div>
    36.  
      </body>
    37.  
       
    38.  
      </html>
    学新通

    结果如下:

    学新通

  3. 分页按钮放大

    1.  
      <!DOCTYPE html>
    2.  
      <html lang="en">
    3.  
       
    4.  
      <head>
    5.  
      <meta charset="UTF-8">
    6.  
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7.  
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
    8.  
      <title>Document</title>
    9.  
      <style>
    10.  
      li {
    11.  
      float: left;
    12.  
      width: 30px;
    13.  
      height: 30px;
    14.  
      border: 1px solid pink;
    15.  
      margin: 10px;
    16.  
      text-align: center;
    17.  
      line-height: 30px;
    18.  
      list-style: none;
    19.  
      border-radius: 50%;
    20.  
      cursor: pointer;
    21.  
      transition: all .4s;
    22.  
      }
    23.  
       
    24.  
      li:hover {
    25.  
      transform: scale(1.2);
    26.  
      }
    27.  
      </style>
    28.  
      </head>
    29.  
       
    30.  
      <body>
    31.  
      <ul>
    32.  
      <li>1</li>
    33.  
      <li>2</li>
    34.  
      <li>3</li>
    35.  
      <li>4</li>
    36.  
      <li>5</li>
    37.  
      <li>6</li>
    38.  
      <li>7</li>
    39.  
      </ul>
    40.  
      </body>
    41.  
       
    42.  
      </html>
    学新通

8. 2D转换之综合写法

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8.  
    <title>Document</title>
  9.  
    <style>
  10.  
    div {
  11.  
    width: 200px;
  12.  
    height: 200px;
  13.  
    background-color: pink;
  14.  
    transition: all .5s;
  15.  
    }
  16.  
     
  17.  
    div:hover {
  18.  
    /* transform: rotate(180deg) translate(150px, 50px); */
  19.  
    /* 我们同时有位移和其他属性,我们需要把位移放到最前面 */
  20.  
    transform: translate(150px, 50px) rotate(180deg) scale(1.2);
  21.  
    }
  22.  
    </style>
  23.  
    </head>
  24.  
     
  25.  
    <body>
  26.  
    <div></div>
  27.  
    </body>
  28.  
     
  29.  
    </html>
学新通

结果如下:

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgffcck
系列文章
更多 icon
同类精品
更多 icon
继续加载