广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >CSS3中transform的matrix是什么
  • 770
分享到

CSS3中transform的matrix是什么

2024-04-02 19:04:59 770人浏览 薄情痞子
摘要

这篇文章主要介绍了css3中transfORM的matrix是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS3中transform的matrix是什么文章都会有所收获

这篇文章主要介绍了css3中transfORM的matrix是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS3中transform的matrix是什么文章都会有所收获,下面我们一起来看看吧。

前言

CSS3 中使用 transform 可以对元素进行变换。其中包含:位移、旋转、偏移、缩放。 transform 可以使用 translate/rotate/skew/scale 的方式来控制元素变换,也可以使用 matrix 的方式来控制元素变换。

比如:

<div class="box"></div>

通过transform属性进行变换。

首先演示使用 translate/rotate/skew/scale 的方式:

.box {

    width: 100px;

    height: 100px;

    background: #00C487;

    transform: translate(10px, 20px) rotate(30deg) scale(1.5, 2);

}

也可以使用 matrix 的方式:

.box {

    width: 100px;

    height: 100px;

    background: #00C487;

    transform: matrix(0.75, 0.8, -0.8, 1.2, 10, 20);

}

查看demo

Matrix 的中文是矩阵,是一个数学术语,在计算机科学中,会用矩阵来对象量进行变换,在 CSS3 的 transform 属性中,可以使用矩阵对图像进行变换。

矩阵长什么样子?

矩阵可以分为一个形容词+一个名字,矩是形容词,阵是名词。

如果你喜欢看战争片,不管是古代战争还是现代战争,都需要有阵势,打仗没阵型,等于耍流氓;或者是开一局农药,可能也要考虑各个英雄的站位,各种球类运动、各种棋类都需要有阵型。

阵型中的每一个个体对整体的都会产生影响。比如打王者荣耀射手时候,射手应该猥琐在一个位置输出,站错位置,输掉整个游戏。

那,其实矩阵就是一些列的数字按照矩形排列。

在数学中,矩阵用方括号包裹起来。

上图就是一个矩阵。

CSS3 里的 matrix 如何和矩阵对应呢?

为什么要用矩阵来表示转换呢?因为在计算机科学中,矩阵可以对向量进行转换。矩阵中的每一个数字,对向量的转换都会产生影响。

CSS3 里面可以用矩阵表示 2D 和 3D 转换,这里只讲 2D。

selector {

    transform: matrix(a, b, c, d, e, f);

}

2D 的转换是由一个 3*3 的矩阵表示的,前两行代表转换的值,分别是 a b c d e f,要注意是竖着排的,第一行代表 x 轴发生的变化,第二行代表 y 轴发生的变化,第三行代表 z 轴发生的变化,因为这里是 2D 不涉及 z 轴,所以这里是 0 0 1。

假设一个问题

创建一个宽高为 200px 的div,div 里面有一个红色的点,位置是{x:181px y:50px}。

倘若将这个div 向右平移 10px,x 轴向下平移 20px,旋转37&deg;,x轴缩放 1.5 倍,y 轴缩放 2 倍:

transform: translate(10px, 20px) rotate(37deg) scale(1.5, 2);

那么红色点的变化后的位置在哪里呢?

既然我们知道矩阵可以对向量进行转换那么我们只要把上面的信息转换成矩阵信息,通过矩阵信息可以将我们的原始坐标转换到新的坐标。

缩放 scale(x, y)

缩放对应的是矩阵中的 a 和 d,x 轴的缩放比例对应 a,y 轴的缩放比例对应 d。

transform: scale(x,y);

a=x d=y

所以 scale(1.5, 2) 对应的矩阵是:

transform: matrix(1.5, 0, 0, 2, 0, 0);

如果一个没有元素没有被缩放,默认a=1 d=1。

平移 translate(10, 20)

平移对应的是矩阵中的 e 和 f,平移的 x 和 y 分别对应 e 和 f。

transform: translate(10, 20)

e=10

f=20

对应: transform: matrix(a, b, c, d10, 20);

结合缩放: transform: matrix(1.5 0, 0, 2, 10, 20);

平移只会影响 e 和 f 值。

旋转 rotate(&theta;deg)

旋转影响的是a/b/c/d四个值,分别是什么呢?

transform: rotate(&theta;deg)

a=cos&theta;

b=sin&theta;

c=-sin&theta;

d=cos&theta;

这个是高中学的哦&mdash;&mdash;

如果要计算 30&deg; 的sin值:

首先我们要将 30&deg; 转换为弧度,传递给三角函数计算。用 js 计算就是下面的样子了。

// 弧度和角度的转换公式:弧度=&pi;/180&times;角度 

const radian = Math.PI / 180 * 30 // 算出弧度

const sin = Math.sin(radian) // 计算 sin&theta;

const cos = Math.cos(radian) // 计算 cos&theta;

console.log(sin, cos) // 输出 &asymp; 0.5, 0.866

这样我们算出了 sin 和 cos,分别是 0.5 和 0.866

如果我们不考虑缩放和偏移,只旋转30&deg;,矩阵应该表示为

transform: rotate(30deg)

a=0.866

b=0.5

c=-0.5

d=0.866

transform: matrix(0.866, 0.5, -0.5, 0.866, 0, 0);

关于“CSS3中transform的matrix是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“CSS3中transform的matrix是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网node.js频道。

--结束END--

本文标题: CSS3中transform的matrix是什么

本文链接: https://www.lsjlt.com/news/90623.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • CSS3中transform的matrix是什么
    这篇文章主要介绍了CSS3中transform的matrix是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS3中transform的matrix是什么文章都会有所收获...
    99+
    2022-10-19
  • CSS3的transform是什么
    这篇文章主要介绍“CSS3的transform是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS3的transform是什么”文章能帮助大家解决问题。 C...
    99+
    2022-10-19
  • CSS3中transition, transform和animation的区别是什么
    本文小编为大家详细介绍“CSS3中transition, transform和animation的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS3中transition, transfor...
    99+
    2022-10-19
  • CSS3中的 transition,transform,translate之间区别是什么
    这篇文章主要介绍了CSS3中的 transition,transform,translate之间区别是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。transform 和...
    99+
    2023-06-08
  • Css3中的transform怎么用
    这篇文章主要介绍了Css3中的transform怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Css3中的transform怎么用文章都会有所收获,下面我们一起来看看吧。...
    99+
    2022-10-19
  • CSS3中transform属性怎么用
    这篇文章主要介绍了CSS3中transform属性怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。语法:none|<transfo...
    99+
    2022-10-19
  • 怎么在css3中使用matrix函数
    这篇文章给大家介绍怎么在css3中使用matrix函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。scale(sx,sy)对应matrix(sx,0,0,sy,0,0)  拉伸rotate(&the...
    99+
    2023-06-08
  • css3的transform属性怎么用
    本篇内容主要讲解“css3的transform属性怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css3的transform属性怎么用”吧! ...
    99+
    2022-10-19
  • Css3中的transform渐变属性怎么用
    这篇文章主要介绍了Css3中的transform渐变属性怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。translate()素从其当前...
    99+
    2022-10-19
  • css3中transform过渡抖动怎么办
    这篇文章将为大家详细讲解有关css3中transform过渡抖动怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。transform: scale();缩放在IE浏览器下会有抖动transform缩放在...
    99+
    2023-06-08
  • node中Transform的作用是什么
    本篇文章给大家分享的是有关node中Transform的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Transform流特性在开发...
    99+
    2022-10-19
  • python中mat和matrix的区别是什么
    这篇文章将为大家详细讲解有关python中mat和matrix的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。np.mat()import numpy as&n...
    99+
    2023-06-08
  • transform在CSS中的含义是什么
    本篇内容主要讲解“transform在CSS中的含义是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“transform在CSS中的含义是什么”吧! ...
    99+
    2022-10-19
  • css3的transform中scale缩放如何使用
    这篇文章主要讲解了“css3的transform中scale缩放如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3的transform中scal...
    99+
    2022-10-19
  • CSS3的transition与transform属性怎么使用
    这篇文章主要介绍“CSS3的transition与transform属性怎么使用”,在日常操作中,相信很多人在CSS3的transition与transform属性怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-07-04
  • css3的transform中scale缩放的详细介绍
    本篇内容主要讲解“css3的transform中scale缩放的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“css3的transform中scale缩...
    99+
    2022-10-19
  • transform在html中指的是什么意思
    小编给大家分享一下transform在html中指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html有什么特点1、简易性:超级文本标记语言版本升级...
    99+
    2023-06-14
  • unity transform类的用法是什么
    Unity中的Transform类用于管理和操作游戏对象的位置、旋转和缩放。 Transform类具有以下常用属性和方法: po...
    99+
    2023-10-28
    unity
  • CSS 中transform-origin属性的作用是什么
    CSS 中transform-origin属性的作用是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。transform-origin作用这个属性是用来改变元素变形的原点,一...
    99+
    2023-06-08
  • transition, transform和animation的语法是什么
    这篇文章主要介绍“transition, transform和animation的语法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“transition, t...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作