CSS之2D转换模块

CSS 2D转换模块

transform

参考W3手册

transform 属性向元素应用从2D 或3D转换。该属性允许我们对元素进行旋转、缩放、移动或者倾斜。

  • 格式:

    transform: none|transform-functions;
  • 常用取值:
    • 旋转 rotate

      transform: rotate(45deg);
      /*其中deg是单位, 代表多少度*/
    • 平移 translate

      transform: translate(100px, 0px);
      /*
      第一个参数:水平方向
      第二个参数:垂直方向
      */
    • 缩放 scale

      transform: scale(1.5);
      /*transform: scale(0.5, 0.5);*/
      
      /*
      第一个参数:水平方向
      第二个参数:垂直方向
      注意点:
      如果取值是1, 代表不变
      如果取值大于1, 代表需要放大
      如果取值小于1, 代表需要缩小
      如果水平和垂直缩放都一样, 那么可以简写为一个参数
      */
    • 综合转换连写格式

      transform: rotate(45deg) translate(100px, 0px) scale(1.5, 1.5);
      /*
      注意点:
      1.如果需要进行多个转换, 那么用空格隔开
      2.2D的转换模块会修改元素的坐标系, 所以旋转之后再平移就不是水平平移的
      */

默认情况下所有元素都是围绕Z轴进行旋转,如果想围绕哪个轴旋转,那么只需要在rotate后面加上哪个轴即可。如:

transform: rotateZ(45deg);

transform: rotateX(45deg);

transform: rotateY(45deg);

transform-origin

transform-origin 属性用于改变被转换元素的位置

2D转换元素能够改变元素的X和Y轴。3D转换元素还能改变其Z轴

  • 格式:

    transform-origin: left top;
  • 取值:

    /*具体像素*/
    transform-origin: 200px 0px;
    
    /*百分比*/
    transform-origin: 50% 50%;
    
    /*特殊关键字*/
    transform-origin: left top;

默认情况下所有的元素都是以自己的中心点作为参考来旋转的, 我们可以通过形变中心点属性来修改它的参考点

perspective

perspective 属性定义3D元素距视图的距离,以像素计,该属性允许改变3D元素查看3D元素的视图

当为元素定义perspective属性时,其子元素会获得透视效果,而不是元素本身

  • 格式:

    perspective: number|none;
    
    /*
    number  元素距离视图的距离,以像素计
    none    默认值。与0相同。不设置透视
    */
  • 注意:perspective 属性只能影响3D转换元素

综合实例一

2D模块转换扑克练习

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>2D模块转换扑克练习</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 310px;
            height: 418px;
            border: 1px solid gold;
            margin: 100px auto;
            background-color: #afcced;
            perspective: 400px;
        }
        div img{
            transition: transform 1.2s;
            transform-origin: center bottom;
        }
        div:hover img{
            transform: rotateX(80deg);
        }
    </style>
</head>
<body>
<div>
    <img src="img/pk.png" alt="">
</div>
</body>
</html>

综合实例二(相片墙)

2D转换模块-照片墙

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>2D转换模块-照片墙</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            height: 400px;
            margin: 100px auto;
            background-color: cornflowerblue;
            text-align: center;
            border: 1px solid #000;
        }
        ul li{
            list-style: none;
            margin-top: 100px;
            height: 200px;
            width: 150px;
            display: inline-block;
            background-color: red;
            border: 5px solid white;
            transition: transform 1s;
            box-shadow: 2px 2px 2px;
            position: relative;
        }
        ul li:nth-child(1){
            transform: rotate(30deg);
        }
        ul li:nth-child(2){
            transform: rotate(-40deg);
        }
        ul li:nth-child(3){
            transform: rotate(15deg);
        }
        ul li:nth-child(4){
            transform: rotate(60deg);
        }
        ul li:nth-child(5){
            transform: rotate(-25deg);
        }
        ul li:nth-child(6){
            transform: rotate(10deg);
        }
        ul li img{
            width: 150px;
            height: 200px;
        }
        ul li:hover {
            transform: scale(1.6);
            z-index: 999;
        }
    </style>
</head>
<body>
<ul>
    <li><img src="img/1.jpg" alt=""></li>
    <li><img src="img/2.jpg" alt=""></li>
    <li><img src="img/3.jpg" alt=""></li>
    <li><img src="img/4.jpg" alt=""></li>
    <li><img src="img/5.jpg" alt=""></li>
    <li><img src="img/6.jpg" alt=""></li>
</ul>
</body>
</html>

原文地址:https://www.cnblogs.com/yanjieli/p/9859493.html

时间: 2024-10-03 13:39:05

CSS之2D转换模块的相关文章

css过渡模块和2d转换模块

(一)过度模块的三要素: 1.必须要有属性发生变化 2.必须告诉系统哪个属性需要执行过渡效果 3.必须告诉系统过渡效果持续时长 ps:当多个属性需要同时执行过渡效果时用逗号隔开即可 transition-property: width, background-color; transition-duration: 5s, 5s; 示例代码:          过渡模块 效果图:    变化前     变化中     变化后 (二)过渡模块的其它属性: 1.告诉系统延迟多少秒之后才开始过渡动画:t

CSS3 2D转换模块

2D转换模块 属性:transform 方法: rotate()      元素顺时针旋转给定的角度,负值时,元素将逆时针旋转,单位deg. 有rotateX.rotateY.rotateZ,默认Z translate() 元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数. 有translateX,translateY scale()       元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数.参数>1时,放大:参数<1时,缩小.

CSS中2d转换:transition过渡放在:hover伪类中与应用在整个元素中区别

css的2d转换十分强大,能够在不使用js的情况下,实现页面的元素与用户之间更多动态的交互,增强用户体验.其中使用最多的就是hover伪类. 1.创建一个页面的div元素: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>2d转换测试</title> </head> <body> <div id="fr&

CSS动画之转换模块

2D转换模块:注意点:1.可以类似于过渡模块一样简写,但是这里不是用逗号隔开而是用空格 2.2D的转换模块会修改元素的坐标系,所以旋转之后的平移就不是水平平移 格式:旋转:transform: rotate(30deg)旋转角度 平移:transform: translate(50px,100px);平移的坐标系 缩放:transform: scale(2,4);缩放的倍数 翻转:transform: skew(30deg,20deg);沿x轴y轴旋转的角度 矩阵:transform:matri

css的2D转换

脚本化css 下面通过css实现动画效果,可以使用脚本化的css实现滑入,轮廓伸缩的列表,即动态的HTML,一个过时的说法DHTML 一些css的基础知识 之前已经看过厚厚的一本大书,现在简单看一下,补充一下不知道的点 层叠 web浏览器组合元素的style属性,然后再计算样式. 颜色透明度和半透明 颜色有半透明的颜色(不知道为什么edge不兼容) 脚本化内联样式 div.style.background = "#FFFFFF" 即通过js完成css样式的添加 由于-会被js认为有语法

css代码2D/3D

关键部分的CSS代码: .menu ul { list-style-type: none; border-top: 10px solid gray; } .menu ul li a { color: #fff; float: left; margin: 0 5px; font-size: 15px; height: 50px; line-height: 50px; text-align: center; width: 80px; padding: 10px 5px; border-radius:

html+css图片2D旋转

<strong><span style="font-size:12px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>MyHtml.html</title> <meta http-equiv="keywords" content=&

CSS 3 2D转换

------转换:使用transform 属性将HTML元素 移动.旋转.缩放.倾斜 1.移动 translate(x轴,y轴) .translateX.translateY 2.旋转 rotate(45deg)//顺时针旋转45度 3.缩放 scale (1.2) //放大1.2倍 scale(x轴,y轴).scaleX .scaleY 4.倾斜 skew(45deg,-20deg)//沿x轴倾斜的角度,沿y轴倾斜的角度 transform-origin:转换基准点 -----默认,中心点 -

CSS 2D转换

转换是使元素改变形状.尺寸和位置的一种效果.通过 CSS3 转换,我们能够对元素进行移动.缩放.转动.拉长或拉伸,可以大致分为2D转换和3D转换.下面介绍的是2D转换的相关知识点. 首先,CSS中2D转换的形式是这样的: 选择器{ transform:转换函数(参数,参数): } 而2D转换的函数一共分为五大类: translate()   定义位移的函数:其中后面的参数分别是相对x轴,y轴的偏移的距离,单位为像素,形式:translate(30px,30px);表示相对x轴,y轴偏移30像素值