css2D变换用法

news2024/11/14 11:03:28

文章目录

      • CSS 2D变换详解与代码案例
        • 一、CSS 2D变换的基本属性
        • 二、transform属性的使用
        • 三、变换原点的设置
        • 四、代码案例
          • 1. 移动元素
          • 2. 旋转元素
          • 3. 缩放元素
          • 4. 倾斜元素
          • 5. 多重变换
        • 五、CSS 2D变换的应用场景

CSS 2D变换详解与代码案例

CSS 2D变换是CSS3引入的一组功能,允许开发者在二维空间内对HTML元素进行移动、旋转、缩放和倾斜等操作。这些变换只是视觉上改变元素的呈现方式,并不会影响其在文档流中的位置或大小。本文将详细介绍CSS 2D变换的用法,并通过代码案例展示其具体应用。

一、CSS 2D变换的基本属性

CSS 2D变换主要通过transform属性实现,它支持以下几种函数:

  1. translate():移动元素。可以分别设置X轴和Y轴的移动距离。
  2. rotate():旋转元素。设置旋转的角度,正值表示顺时针旋转,负值表示逆时针旋转。
  3. scale():缩放元素。可以分别设置X轴和Y轴的缩放比例。
  4. skew():倾斜元素。可以分别设置X轴和Y轴的倾斜角度。

此外,还有针对单一轴的操作函数,如translateX()translateY()scaleX()scaleY()skewX()skewY()

二、transform属性的使用

在使用transform属性时,可以链式编写多个变换函数,只需用空格分隔即可。这些变换会按照从左到右的顺序依次执行。

.box {
  transform: translate(50px, 100px) rotate(45deg) scale(1.5);
}
三、变换原点的设置

默认情况下,元素的变换原点是其中心点。但可以使用transform-origin属性来改变变换原点的位置。这个属性接受两个值,分别代表X轴和Y轴上的位置。

.box {
  transform-origin: left top; /* 变换原点设置为左上角 */
  transform: rotate(45deg);
}
四、代码案例
1. 移动元素
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>2D位移</title>
  <style>
    .outer {
      height: 400px;
      width: 400px;
      background-color: aliceblue;
    }
    .inner {
      height: 100px;
      width: 100px;
      background-color: red;
      /* 2D位移 */
      transform: translate(50px, 100px);
    }
  </style>
</head>
<body>
  <div class="outer">
    <div class="inner"></div>
  </div>
</body>
</html>
2. 旋转元素
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>2D旋转</title>
  <style>
    .box {
      width: 100px;
      height: 100px;
      background-color: #CCC;
      margin: 20px 0px 0px 20px;
      transform: rotate(45deg);
    }
  </style>
</head>
<body>
  <div class="box"></div>
</body>
</html>
3. 缩放元素
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>2D缩放</title>
  <style>
    .outer {
      height: 400px;
      width: 400px;
      background-color: aliceblue;
      padding: 10px;
    }
    .inner {
      height: 100px;
      width: 100px;
      background-color: green;
      margin: 10px;
    }
    .inner1 {
      transform: scale(1.1);
    }
  </style>
</head>
<body>
  <div class="outer">
    <div class="inner inner1"></div>
    <div class="inner inner2"></div>
  </div>
</body>
</html>
4. 倾斜元素
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>2D倾斜</title>
  <style>
    .box {
      width: 100px;
      height: 100px;
      background-color: #CCC;
      margin: 20px 0px 0px 10px;
      transform: skew(-15deg, 20deg);
    }
  </style>
</head>
<body>
  <div class="box"></div>
</body>
</html>
5. 多重变换
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>多重变换</title>
  <style>
    .box {
      width: 100px;
      height: 100px;
      background-color: #3190D4;
      transform: translate(50px, 100px) rotate(45deg) scale(1.5);
    }
  </style>
</head>
<body>
  <div class="box"></div>
</body>
</html>
五、CSS 2D变换的应用场景

CSS 2D变换在网页设计和开发中有着广泛的应用场景,包括但不限于:

  • 动画效果:创建元素在页面上的平滑移动、旋转、缩放等动画效果,增强用户体验。
  • 交互效果:为按钮、链接、图标等添加点击、悬停等交互效果,使页面更加生动有趣。
  • 响应式设计:调整元素的位置和大小,以适应不同屏幕尺寸和分辨率的设备。
  • 创意布局:实现倾斜的文本、旋转的图片等非传统布局方式,为页面带来独特的视觉风格。

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

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

相关文章

记录一次非常奇怪的MIME type of “text/html“报错

报错现象 访问指定地址&#xff0c;一直转圈打不开&#xff0c;打开游览器控制台发现有如下报错&#xff1a; Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of “text/html”. Strict MIME type checking i…

git新手使用教程

git新手使用教程 一、安装和初始化配置2、新建仓库3.工作区域和文件状态4.添加和提交文件5 git reset回退版本6 使用git diff查看差异7 使用git rm删除文件8 .gitignore忽略文件9 注册GitHub账号10 SSH配置和克隆仓库11 关联本地仓库和远程仓库12 Gitee的使用 由B站视频教程整理…

《TCP/IP网络编程》学习笔记 | Chapter 10:多进程服务器端

《TCP/IP网络编程》学习笔记 | Chapter 10&#xff1a;多进程服务器端 《TCP/IP网络编程》学习笔记 | Chapter 10&#xff1a;多进程服务器端进程概念及应用并发服务端的实现方法理解进程进程ID通过调用 fork 函数创建进程 进程和僵尸进程僵尸进程产生僵尸进程的原因销毁僵尸进…

推荐一款DBF文件查看器:DBF Viewer 2000

DBF Viewer 2000是一款强大、简洁且易于使用的 DBF(Clipper、dBase、FoxBase、Foxpro、Visual Foxpro、Visual DBase、VO、DB2K)文件浏览器和编辑器。 软件特点&#xff1a; - 能够快速、有效地浏览和编辑各种类型的 DBF 文件。 - 支持多种文件格式&#xff0c;包括 dBase、V…

基于构件的软件开发、软件维护、区块链技术及湖仓一体架构的应用

目录 试题一 论基于构件的软件开发方法及其应用 试题二 论软件维护方法及其应用 试题三 论区块链技术及应用 试题四 论湖仓一体架构及其应用 相关推荐 试题一 论基于构件的软件开发方法及其应用 基于构件的软件开发(Component-Based Software Development&#xff0c;CBSD…

SCRFD算法解读及环境安装实践

论文地址&#xff1a;https://arxiv.org/abs/2105.04714&#xff0c;accepted by ICLR-2022 工程地址&#xff1a;https://github.com/deepinsight/insightface/tree/master/detection/scrfd 下一篇博客&#xff0c;如何用SCRFD训练自己的数据 文章目录 1、算法解读2、环境安装…

在IntelliJ IDEA中创建带子模块的SpringBoot工程

前言 在项目开发中&#xff0c;一个工程往往有若干子工程或模块&#xff0c;所以主工程一般是一个容器&#xff0c;本文介绍在IntelliJ IDEA中创建带多模块的SpringBoot工程的详细步骤。 1、首先打开IntellJ IDEA&#xff08;以下简称IDEA&#xff09;,创建一个新项目。假定新…

深入剖析输入URL按下回车,浏览器做了什么

DNS 查询 首先,是去寻找页面资源的位置。如果导航到https://example.com, 假设HTML页面被定位到IP地址为93.184.216.34 的服务器。如果以前没有访问过这个网站&#xff0c;就需要进行DNS查询。 浏览器向域名服务器发起DNS查询请求&#xff0c;最终得到一个IP地址。第一次请求…

提升百度排名的有效策略与技巧解析

内容概要 提升百度排名对于网站的成功至关重要。首先&#xff0c;了解百度排名的基本原则&#xff0c;掌握搜索引擎是如何评估网页质量的&#xff0c;是优化过程中不可或缺的一部分。搜索引擎越来越倾向于将用户需求放在首位&#xff0c;因此提供高质量的内容和良好的用户体验…

【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f4af;MJ Prompt Creator主要功能适用场景优点缺点 &#x1f4af; 小结 &#x1f4af;GPTs指令 中文翻译&#xff1a; 任务说明 您是一款为幻灯片工…

机器人领域顶刊TRO十月最新论文一览,覆盖状态估计、任务分配、人机协作等多个领域

No.1 基于可见性的近似追逃方法 论文标题&#xff1a;Approximate Methods for Visibility-Based Pursuit–Evasion 中文标题&#xff1a;基于可见性的近似追逃方法 作者&#xff1a;Emmanuel Antonio; Israel Becerra; Rafael Murrieta-Cid 本文提出了一种基于采样的动态规…

解决编译 fast-lio-lc 算法时遇到的error方法

1.创建工作空间和下载 fast-lio-lc功能包 mkdir -p fast_lio_lc_ws/src cd fast_lio_lc_ws/src/ catkin_init_workspace git clone https://github.com/yanliang-wang/FAST_LIO_LC.git2.进入工作空间,编译 编译 fast-lio-lc遇到的error: 🕐error: fatal error: opencv/cv…

【Qt】Macbook M1下载安装

文章目录 一、下载Xcode命令行工具二、在Cion中配置编译器三、安装Qt四、配置qmake环境五、创建Qt项目 博主已经下载了Clion&#xff0c;所以本文是将qt配置到Clion上 本博客所写的教程有一定的问题&#xff0c;因为我在官网下载后发现有一些所需的包是没有的&#xff0c;不知道…

Python+Pytest+Allure+Git+Jenkins接口自动化框架

一、接口基础 接口测试是对系统和组件之间的接口进行测试&#xff0c;主要是效验数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及相互逻辑依赖关系。其中接口协议分为HTTP&#xff0c;RPC&#xff0c;Webservice&#xff0c;Dubbo&#xff0c;RESTful等类型。 接口…

Docker:镜像构建 DockerFile

Docker&#xff1a;镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中&#xff0c;大部分都是基础镜像&#xff0c;他们只提供某个简单的功能&#xff0c;如果想要一个功能更加丰富…

《JavaEE进阶》----20.<基于Spring图书管理系统①(登录+添加图书)>

PS&#xff1a;关于接口定义 接口定义&#xff0c;通常由服务器提供方来定义。 1.路径&#xff1a;自己定义 2.参数&#xff1a;根据需求考虑&#xff0c;我们这个接口功能完成需要哪些信息。 3.返回结果&#xff1a;考虑我们能为对方提供什么。站在对方角度考虑。 我们使用到的…

【JavaEE】文件io

目录 文件类型 File概述 属性 构造方法 常用方法 Reader Writer InputStream OutputStream 字节流转字符流 通过Scanner读取InputStream 通过PrintWriter转换outputstream 示例 文件类型 从编程的角度看&#xff0c;文件类型主要就是两大类 文本&#xff08;文…

D3入门:概念、主要特点、基本功能、常见应用场景

D3.js&#xff08;Data-Driven Documents&#xff09;是一个JavaScript库&#xff0c;用于基于数据操作文档。它利用了HTML、SVG和CSS等Web标准技术&#xff0c;使得开发者可以创建丰富的交互式图表和数据可视化。D3.js的强大之处在于其灵活的数据绑定机制和对DOM元素的高效操作…

go函数传值是值传递?还是引用传递?slice案例加图解

先说下结论 Go语言中所有的传参都是值传递&#xff08;传值&#xff09;&#xff0c;都是一个副本&#xff0c;一个拷贝。 值语义类型&#xff1a;参数传递的时候&#xff0c;就是值拷贝&#xff0c;这样就在函数中就无法修改原内容数据。 基本类型&#xff1a;byte、int、bool…

tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 本次采用VGG16模型进行预测&#xff0c;准确率达到了98.875&#xff0c;但是修改VGG16网络结构&#xff0c; 准确率达到了0.9969&#xff0c;并且计算量…