CSS -- 2D转换各属性讲解(translate,rotate,scale)

news2024/11/18 11:33:35

文章目录

  • 2D转换
    • 1 二维坐标系
    • 2 2D转换之移动 translate
    • 3 2D转换之旋转 rotate
    • 4 2D转换中心点 transform-origin
    • 5 2D转换之缩放scale
    • 6 2D转换综合写法
    • 7 2D转换总结

2D转换

转换(transform)是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果

转换(transform)你可以简单理解为变形

  • 移动:translate
  • 旋转:rotate
  • 缩放:scale

1 二维坐标系

2D转换是改变标签在二维平面上的位置和形状的一种技术,先来学习二维坐标系

image-20221213153737745

2 2D转换之移动 translate

2D移动是2D转换里面的一种功能,可以改变元素在页面中的位置,类似定位。

语法

transform: translate(x, y);
/*分开写*/
transform: translateX(n);
transform: translateY(n);

示例:

image-20221213155024797

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>transform</title>
        <style>
            .box {
                width: 200px;
                height: 200px;
                background-color: skyblue;
                transform: translate(100px, 100px);

                /*只移动x坐标*/
                /* transform: translateX(100px); */
            }
        </style>
    </head>
    <body>
        <div class="box"></div>
    </body>
</html>

重点:

  • 定义2D转换中的移动,沿着X和Y轴移动元素
  • translate最大的优点:不会影响到其他元素的位置
  • translate中的百分比单位是相对于自身元素的translate:(50%,50%)
  • 对行内标签没有效果

案例:元素水平垂直居中

image-20221213155704981

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>transform</title>
        <style>
            .box {
                position: relative;
                width: 400px;
                height: 400px;
                background-color: skyblue;
            }

            .child {
                position: absolute;
                width: 100px;
                height: 100px;
                background-color: orange;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%);
            }
        </style>
    </head>
    <body>
        <div class="box">
            <div class="child"></div>
        </div>
    </body>
</html>

3 2D转换之旋转 rotate

2D旋转指的是让元素在2维平面内顺时针旋转或者逆时针旋转。

image-20221213155902606

语法

transform: rotate(90deg)
  • rotate!里面跟度数,单位是deg比如rotate(45deg)
  • 角度为正时,顺时针,负时,为逆时针
  • 默认旋转的中心点是元素的中心点

案例:顺时针旋转盒子30度

image-20221213160237472

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>旋转</title>
        <style>
            .box {
                background-color: skyblue;
                width: 200px;
                height: 100px;
                margin: 200px auto;

                transform: rotate(30deg);
            }
        </style>
    </head>
    <body>
        <div class="box"></div>
    </body>
</html>

4 2D转换中心点 transform-origin

我们可以设置元素转换的中心点

语法:

transform-origin: x y;

/* 三种示例 */
transform-origin: left bottom;
transform-orifin: 10% 10%;
transform-origin: 50px 50px;
  • 注意后面的参数X和y用空格隔开
  • x,y默认转换的中心点是元素的中心点(50%50%)
  • 还可以给xy设置像素或者方位名词(top bottom left right center)

5 2D转换之缩放scale

缩放,顾名思义,可以放大和缩小。只要给元素添加上了这个属性就能控制它放大还是缩小。

image-20221213165813866

语法

transform: scale(x, y)
  • 注意其中的x和y用逗号分隔
  • transform: scale(1,1):宽和高都放大一倍,相对于没有放大
  • transform: scale(2,2):宽和高都放大了2倍
  • transform: scale(2):只写一个参数,第二个参数则和第一个参数一样,相当于scale(2,2)
  • transform: scale(0.5,0.5):缩小
  • sacle缩放最大的优势:可以设置转换中心点缩放,默认以中心点缩放的,而且不影响其他盒子

6 2D转换综合写法

  1. 同时使用多个转换,其格式为:transform:translate() rotate() scale()等,
  2. 其顺序会影响转换的效果。(先旋转会改变坐标轴方向)
  3. 当我们同时有位移和其他属性的时候,记得要将位移放到最前

7 2D转换总结

  • 转换transform我们简单理解就是变形有2D和3D之分
  • 我们暂且学了三个分别是位移旋转知缩放
  • 2D移动translate(x,y)最大的优势是不影响其他盒子,里面参数用%,是相对于自身宽度和高度来计算的
    • 可以分开写比如translateX(x)translateY(y)
  • 2D旋转rotate(度数)可以实现旋转元素度数的单位是deg
  • 2D缩放sacle(x,y)里面参数是数字不跟单位可以是小数最大的优势不影响其他盒子
  • 设置转换中心点transform-origin:x y参数可以百分比、像素或者是方位名词
  • 当我们进行综合写法,同时有位移和其他属性的时候,记得要将位移放到最前

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

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

相关文章

[ 常用工具篇 ] 使用 kali 实现网络钓鱼 -- setoolkit 详解实战(一)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

密码学讲座PPT

来自山大密码学讲座的PPT。 一些密码学领域常用名词术语 Diffie-Hellman 密钥交换&#xff1b;Elgamal 加密和签名&#xff1b;DSA 签名&#xff1b;因相应的离散对数问题难解&#xff0c;大素数的原根可用于密钥交换;RSA加密和签名: 因大整数因子分解难算&#xff0c;合数可成…

JetPack 组件总结

文章目录JetPackLifecycle使用Lifecycle解耦页面和组件使用Lifecycle解耦Service与组件使用ProcessLifecycleOwner监听应用程序生命周期ViewModel 与 LiveDataViewModelLiveDataViewModel LiveData 实现Fragment间通信DataBinding 的意义与应用意义使用前的配置import标签事件…

SWPUCTF 2021 新生赛

&#x1f60b;大家好&#xff0c;我是YAy_17&#xff0c;是一枚爱好网安的小白&#xff0c;自学ing。 本人水平有限&#xff0c;欢迎各位大佬指点&#xff0c;一起学习&#x1f497;&#xff0c;一起进步⭐️。 ⭐️此后如竟没有炬火&#xff0c;我便是唯一的光。⭐️ 目录 g…

Kotlin + Jpa + Querydsl

Kotlin Jpa Querydsl 本篇主要介绍一下 kotlin jpa querydsl . jpa querydsl 是我很喜欢的一种搭配,它能够让你写sql语句一样的去写代码 , 以前我也写过关于 java版本的, 本篇就来看看kotlin中如何去使用 1.引入插件 主要引入jpa插件 和 kapt Kotlin annotation processi…

【剧前爆米花--爪哇岛寻宝】Cloneable接口和深浅拷贝

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaSE语法与底层详解》 文章分布&#xff1a;这是一篇关于接口的文章&#xff0c;在本篇文章中我会分享Cloneable接口的用法和机制&#xff0c;同时从底层分析深拷贝和浅拷贝的区别。 Cloneable接口 Cloneable这类接口可以说是…

ZigBee硬件平台小记(CC2530)

文章目录1.CC2530射频模块特征2.CC2530射频模块主要技术指标3.调试器输出接口特点输出引脚排列1.CC2530射频模块特征 基于CC2530F256单芯片ZigBee SOC&#xff08;System On Chip&#xff09;&#xff0c;集成8051内核模块尺寸&#xff1a;36mm x 26mmSMA底座&#xff0c;外接…

代码随想录训练营第56天|LeetCode 647. 回文子串、516.最长回文子序列

参考 代码随想录 题目一&#xff1a;LeetCode 647. 回文子串 如果用暴力求解&#xff0c;两层for循环加一层判断&#xff0c;两个遍历指针i和j构成一个区间&#xff0c;每次判断这个区间内的字符串是否为回文串&#xff0c;这样的求法时间复杂度为O(n^3)。这里使用动态规划可…

Jetpack Compose中的手势操作

点击事件 监听点击事件非常简单&#xff0c;使用 clickable 和 combinedClickable 修饰符即可满足需求&#xff1a; OptIn(ExperimentalFoundationApi::class) Composable fun ClickableExample() {Column{Box(Modifier.clickable { println("clickable") }.size(3…

异常检测原理及其在计算机视觉中的应用

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达这篇文章涵盖了三件事&#xff0c;首先什么是视觉角度的异常检测&#xff1f;用于异常检测的技术有哪些&#xff1f;它在哪里使用&#xff1f;异常检测是什么&#xff1f;…

微服务架构下的配置治理模式

微服务被滥用是不争的事实。被滥用的同时&#xff0c;很少人留意到它所带来的配置治理的问题。本文我们介绍两种常见的治理模式。基于common的配置治理模式当微服务数量多时&#xff0c;开发人员倾向于创建这样的配置文件&#xff1a;common-redis.jsoncommon-mysql.jsoncommon…

〖产品思维训练白宝书 - 产品思维认知篇③〗- 产品思维 VS 技术思维

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4e…

【Numpy基础知识】Broadcasting广播

Numpy广播 来源&#xff1a;Numpy官网&#xff1a;https://numpy.org/doc/stable/user/basics.html 广播描述了 NumPy 在算术运算期间如何处理具有不同形状的数组。根据某些约束&#xff0c;较小的数组将“广播”到较大的阵列&#xff0c;以便它们具有兼容的形状。 导包 impo…

【Python机器学习】条件随机场模型CRF及在中文分词中实战(附源码和数据集)

需要源码请点赞关注收藏后评论区留言私信~~~ 基本思想 假如有另一个标注序列&#xff08;代词 动词 名词 动词 动词&#xff09;&#xff0c;如何来评价哪个序列更合理呢&#xff1f; 条件随机场的做法是给两个序列“打分”&#xff0c;得分高的序列被认为是更合理的。既然要…

移动设备软件开发-Shape详解

Spape详解 1.自定义背景shape 1.1gradient 1.简介 定义渐变色&#xff0c;可以定义两色渐变和三色渐变&#xff0c;及渐变样式&#xff0c;它的属性有下面几个2.属性 angle&#xff0c;只对线性渐变是有效的放射性渐变必须指定放射性的半径&#xff0c;gradientRadiouscentetX和…

STM32的ST-link调试下载,各种调试接口硬件介绍

调试原理 STM32F-10X使用M3内核&#xff0c;该内核支持复杂的同i傲视操作&#xff0c;硬件调试模块允许在取指令&#xff08;指令单步运行&#xff09;或访问数据&#xff08;数据断电时&#xff09;使得内核停止。在内核停止时&#xff0c;内核状态都可被查询&#xff0c;完成…

JS基于编码方式实现加密解密文本

JS基于编码方式实现加密解密文本 严格来讲这是一种简单的编码方式&#xff1a;加密&#xff0c;将明文【注】转成编码。解密则是编码转码为明文本。 【注&#xff1a;明文是指没有加密的文字(或者字符串)&#xff0c;一般人都能看懂。】 下面源码用到 这个fromCharCode() 方…

年底了,感谢大家2022年的支持,虚竹哥送10本JAVA好书

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作者&#x1f3c6;&#xff0c;阿里云专家博主&#x1f3…

碧兴物联IPO过会:拟募资4亿 预计年净利降幅超10%

雷递网 雷建平 12月21日碧兴物联科技&#xff08;深圳&#xff09;股份有限公司&#xff08;简称&#xff1a;“碧兴物联”&#xff09;日前IPO过会&#xff0c;准备在科创板上市。碧兴物联计划募资4.13亿元。其中&#xff0c;1.92亿元用于智慧生态环境大数据服务项目&#xff…

【MySQL】JDBC编程重点知识汇总

文章目录1. JDBC (API):2. JDBC代码编写:2.1 创建数据源对象:2.2 建立连接:2.3 构造SQL语句:2.4 执行SQL:2.5 释放资源:1. JDBC (API): 前面学过很多的SQL, 实际开发中大多数的SQL都不是手敲的, 都是通过程序来执行的. 各种的数据库都会提供API方便编程语言来控制; API (Appli…