CSS:transform作用

transform作用

  • 介绍
  • 常用函数:
    • 1.平移(Translate)
      • 介绍
      • 代码
      • 举例
    • 2.旋转(Rotate)
      • 介绍
      • 代码
      • 举例
    • 3.缩放(Scale)
      • 介绍
      • 代码
      • 举例
    • 4.倾斜(Skew)
      • 介绍
      • 代码
      • 举例
    • 5.矩阵变换(Matrix Transform)
      • 介绍
      • 代码
      • 举例
  • 举例
  • 拓展
  • 补充

介绍

在Web开发中,CSS的transform属性用于应用2D或3D转换到元素上。这些转换包括平移(translate)、旋转(rotate)、缩放(scale)、倾斜(skew)等,它们可以改变元素的形状、大小和位置,而不会影响页面上的其他元素。

常用函数:

1.平移(Translate)

介绍

在二维空间中,translate接受两个参数,分别表示沿着X轴和Y轴的移动距离。

代码

  • translate(x,y): 将元素沿着X轴和Y轴平移。例如,transform: translate(50px, 100px); 会将元素向右移动50像素,向下移动100像素。
  • translateX(x): 仅沿X轴平移。
  • translateY(y): 仅沿Y轴平移。

举例

.example {transform: translate(50px, 100px); /* 在X轴上向右平移50px,Y轴上向下平移100px */
}

2.旋转(Rotate)

介绍

rotate接受一个角度值,以旋转元素。

代码

  • rotate(angle): 按照指定的角度(以度为单位)旋转元素。例如,transform: rotate(45deg); 会将元素顺时针旋转45度。

举例

.element {transform: rotate(45deg);/* 将元素旋转45度 */
}

3.缩放(Scale)

介绍

scale接受两个参数,分别表示X轴和Y轴的缩放比例。

代码

  • scale(x, y): 沿X轴和Y轴缩放元素。例如,transform: scale(2, 3); 会将元素在X轴方向缩放2倍,在Y轴方向缩放3倍。
  • scaleX(x): 仅沿X轴缩放。
  • scaleY(y): 仅沿Y轴缩放。

举例

.element {transform: scale(1.5, 2); /* 将元素在X轴上放大1.5倍,Y轴上放大2倍 */
}

4.倾斜(Skew)

介绍

skew接受两个角度参数,分别表示X轴和Y轴的倾斜度。

代码

  • skew(x-angle, y-angle): 按照指定的角度倾斜元素。例如,transform: skew(30deg, 20deg); 会将元素在X轴方向倾斜30度,在Y轴方向倾斜20度。
  • skewX(x-angle): 仅沿X轴倾斜。
  • skewY(y-angle): 仅沿Y轴倾斜。

举例

.element {transform: skew(30deg, 20deg); /* 将元素在X轴上倾斜30度,Y轴上倾斜20度 */
}

5.矩阵变换(Matrix Transform)

介绍

通过一个六值矩阵定义2D变换。这是一个更高级的用法,能够组合上述所有变换。

代码

  • matrix(a, b, c, d, e, f): 使用一个6个值的矩阵来进行复杂的变换操作。例如,transform: matrix(1, 0, 0, 1, 50, 100); 相当于 translate(50px, 100px)

举例

.element {transform: matrix(1, 0.5, -0.5, 1, 100, 100); /* 复杂的矩阵变换 */
}

举例

如果想要将一个元素沿X轴平移100像素,沿Y轴平移50像素,并旋转30度,可以这样写:

.transformed-element {transform: translate(100px, 50px) rotate(30deg);
}

转换可以顺序应用,这意味着它们将按照指定的顺序执行。例如,在上面的例子中,元素首先平移,然后旋转。

拓展

转换通常用于动画和过渡,以创造动态的用户界面效果。例如,可以使用transform属性来制作一个元素在用户悬停时旋转的效果:

.element:hover {transform: rotate(45deg);transition: transform 0.3s ease-in-out;
}

在上面的例子中,当用户将鼠标悬停在.element上时,它将旋转45度,并且这个旋转效果将在0.3秒内平滑地过渡。

补充

transform属性对性能友好的一个重要原因是,它不会触发浏览器的重排(reflow)或重绘(repaint),因为它是在GPU上完成的,而不是在CPU上。这使得转换非常适合动画和交互式设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium 学习笔记(一)

pip的安装 新建一个txt curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 把上面的代码复制进去后,把后缀名改为.bat然后双击运行 当前目录会出现一个这个文件 然后在命令行pyhon get-pip.py等它下好就可以了selenium安装 需要安装到工程目…

linux查看是否被入侵(二)

1、检查异常系统文件 [rootbastion-IDC ~]# find / -uid 0 -perm -4000 -print [rootbastion-IDC ~]# find / -size 10000k –print [rootbastion-IDC ~]# find / -name "…" –print [rootbastion-IDC ~]# find / -name ".." –print [rootbastion-I…

云计算-Lambda事件 (Lambda Events)

检索事件信息 (Retrieving Event Information) 在上一个主题中,我们已经看到了如何创建一个Lambda函数、添加handler、添加触发器和配置执行策略。在本主题中,我们将对其进行扩展。到目前为止,我们看到的handler应用非常简单,但我…

香橙派——创建Service打开热点

文章目录 要创建一个service来创建热点,你可以按照以下步骤进行操作: 创建一个service文件: sudo vim /etc/systemd/system/hotspot.service这将使用nano编辑器创建一个新的service文件。 在打开的文件中,添加以下内容&#xff1…

linux 定时执行shell、python脚本

在linux里设置定时执行一般是用crontab,如果没有的话,可以先安装: 安装 查看是否安装 cron -v # 对于基于Debian的系统(如Ubuntu) sudo apt-get install cron# 对于基于RedHat的系统(如CentOS&#xff…

【5】:三维到二维变换(模型、视图、投影)

观测变换 物体上某一点的坐标变换顺序:M->V->P MVP变换用来描述视图变换的任务,即将虚拟世界中的三维物体映射(变换)到二维坐标中。 1.Model Transformation 模型变换 场景中每个物体上的某一点,从局部坐标系…

YoloV8实战:各种图绘制汇总(mAP50、mAP50-95、loss、PR_curve、F1_curve)|科研必备|绘图神器

摘要 本文的内容是告诉大家如何绘制mAP50、mAP50-95、loss、PR_curve、F1_curve等图像,方便大家写论文。 绘制mAP50、mAP50-95、loss等图。 先上效果,如下图: 首先将,训练的result.csv汇总到一个文件夹下面(这样方便寻找),要不然找起来太麻烦。如下图: 我都放到re…

Pyinstaller打包exe文件解决指南

打包命令 打包 Python 文件 输入如下格式的命令即可 默认命令 Pyinstaller 文件名.py Pyinstaller -option1 -option2 -... 要打包的文件 Pyinstaller 文件名.pyPyinstaller -option1 -option2 -... 要打包的文件 参数选项比较多,这里我列一个表:…

onnx模型转换到rknn脚本

from rknn.api import RKNN ONNX_MODEL ./onnx_models/yolov5s_rm_transpose.onnx # platform"rk1808" platform "rv1109" RKNN_MODEL yolov5s_relu_{}_out_opt.rknn.format(platform) if __name__ __main__: add_perm False # 如果设置成True,则将模…

[C#]winform部署官方yolov10目标检测的onnx模型

【框架地址】 https://github.com/THU-MIG/yolov10 【算法介绍】 今天为大家介绍的是 YOLOv10,这是由清华大学研究团队最新提出的,同样遵循 YOLO 系列设计原则,致力于打造实时端到端的高性能目标检测器。 方法 创新 双标签分配策略 众所…

灯塔工厂产业数字化平台解决方案(50页PPT)

方案介绍: 随着工业4.0和智能制造的快速发展,传统工厂正面临着转型升级的迫切需求。为了提升生产效率、优化资源配置、增强市场竞争力,我们推出了灯塔工厂产业数字化平台解决方案。该方案旨在通过先进的信息技术手段,将传统工厂转…

ROS 程序框架

ROS 程序框架 基本思路(以C为例) 使用catkin_create_pkg创建一个软件包在软件包的src文件夹下创建一个节点的cpp源码文件在节点的源码文件中include包含ROS的头文件构建一个main函数,并在函数的开头执行ros::init()构建while循环&#xff0…

蒙特卡洛法求解机械臂工作空间(以IRB4600型工业机械臂为例)

1. 概念 工作空间是衡量机器人工作能力的一个重要的运动学指标,蒙特卡洛法是一种随机模拟方法,用于在计算机上估计某些统计量,对于要估计的统计量,通过模拟大量的随机抽样,并计算这些样本的随机值来估算这个统计量的值…

数字信号处理实验三:IIR数字滤波器设计及软件实现

一、实验目的 1. 掌握MATLAB中进行IIR模拟滤波器的设计的相关函数的应用; 2. 掌握MATLAB的工具箱中提供的常用IIR数字滤波器的设计函数的应用; 3.掌握MATLAB的工具箱中提供的模拟滤波器转数字滤波器的相关的设计函数的应用。 二、实验内容 本实验为…

CC1310 Debug interface is locked

XDS110连接CC1310板子,打开Smart RF 弹出窗口如下: 解决办法: 1 打开SmartRF Flash Programmer 2 选择连接的设备CC1310, 弹出如下窗口,点击OK。 3 点击Tools图标,选择CC26XX/CC13XX Forced Mass Erase。 4 在弹出的…

Windows11系统安装QEMU虚拟化软件

Windows11系统安装QEMU虚拟化软件 QEMU软件是一个通用的开源机器模拟器和虚拟机。本文档适用于在Windows 11系统平台上安装QEMU软件。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径QEMUQEMU-8.2.93D:\qemu 1.3软件下载 QEMU官网官网下…

【全开源】西陆家政系统源码小程序(FastAdmin+ThinkPHP+原生微信小程序)

打造高效便捷的家政服务平台 一、引言:家政服务的数字化转型 随着人们生活节奏的加快,家政服务需求日益增长。为了满足广大用户对高效、便捷的家政服务的需求,家政小程序系统源码应运而生。这款源码不仅能够帮助家政服务提供商快速搭建自己…

关于本人VIP付费文章说明

郑重声明:我写博客只是为了记录分享经验 自从上次写完数据结构系列后我就一直没有登陆,目前也没打算继续开新内容。今天偶然发现我之前写的文章被设为vip文章,要vip解锁才能看,我很确定当初我发布的时候选择的是公开,…

FastGPT + OneAPI 构建知识库

云端text-embedding模型 这个在前面的文章FastGPT私有化部署OneAPI配置大模型中其实已经说过,大概就是部署完成OneAPI后,分别新建令牌和渠道,并完成FastGPT的配置。 新建渠道 选择模型的类型并配置对应的词向量模型即可,这里我…

整库同步 Catalog 和 Flink CDC

Flink CDC(Change Data Capture)连接器本身并不直接读取Catalog数据。Flink CDC连接器的主要目的是从关系型数据库中的binlog(二进制日志)中捕获变更事件,并将这些事件作为数据流传递给Flink应用程序进行处理。 Catal…