【CSS3】CSS3 2D 转换 - rotate 旋转 ③ ( 使用 transfrom-origin 设置旋转中心点 | 使用 方位词 / 百分比值 / 像素值 设置旋转中心点 )

2023-08-05 22:23:09





一、使用 transfrom-origin 设置旋转中心点



为 div 盒子模型 设置 transform: rotate 样式 , 可以使 盒子模型 围绕 中心点 进行 旋转 , 代码如下 :

            /* 顺时针旋转 45*/
            transform: rotate(45deg);
            /* 设置过渡动画 */
            transition: all 1s;

盒子模型 , 除了围绕中心点 旋转之外 , 还可以 设置 围绕 某个点 进行旋转 , 如 : 围绕 左下角 进行旋转 ;

使用 transfrom-origin 样式 , 可以设置 盒子模型 的 旋转中心点 ;


transfrom-origin 样式语法 :

transfrom-origin: x y;

x y 坐标之间 , 使用空格隔开 ;

x y 坐标的 默认值 是 中心点 , 也就是 ( 50% , 50% ) ;


x y 坐标的值 , 可以设置的类型 如下 :

  • 百分比 : 50%
  • 像素 : 10px
  • 方位名词 : 可以是 top / bottom / left / right / center ;

设置完之后 , 再次使用 transform: rotate 样式时 , 就会 绕着上面指定的 x y 坐标进行旋转 ;





二、代码示例 - 使用 transfrom-origin 设置旋转中心点




1、代码示例 - 使用方位词设置旋转中心点


使用方位词设置旋转中心点 , 设置 左下角 为 旋转中心点 ;

设置 左下角为旋转中心点 ;

            /* 设置旋转中心点 */
            transform-origin: left bottom;

代码示例 :

<!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>CSS3 2D 转换 - rotate 旋转</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            /* 上下 100 像素外边距, 居中对齐 */
            margin: 100px auto;
            background-color: pink;
            /* 设置过渡动画 */
            transition: all 1s;
            /* 设置旋转中心点 */
            transform-origin: left bottom;
        }
        
        div:hover {
            /* 鼠标移动上去后 三角形超右 */
            transform: rotate(-45deg);
        }
    </style>
</head>

<body>
    <div>
    </div>
</body>

</html>

执行结果 :
在这里插入图片描述

鼠标移动上去后的效果 : 绕左下角 逆时针 旋转 45 度 ;

在这里插入图片描述


2、代码示例 - 使用百分比设置旋转中心点


使用方位词设置旋转中心点 , 设置 25% 25% 为 旋转中心点 ;

设置 25% 25% 位置为旋转中心点 ;

            /* 设置旋转中心点 */
            transform-origin: 25% 25%;

代码示例 :

<!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>CSS3 2D 转换 - rotate 旋转</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            /* 上下 100 像素外边距, 居中对齐 */
            margin: 100px auto;
            background-color: pink;
            /* 设置过渡动画 */
            transition: all 1s;
            /* 设置旋转中心点 */
            transform-origin: 25% 25%;
        }
        
        div:hover {
            /* 鼠标移动上去后 三角形超右 */
            transform: rotate(-45deg);
        }
    </style>
</head>

<body>
    <div>
    </div>
</body>

</html>

执行结果 :
在这里插入图片描述

鼠标移动上去后的效果 : 绕 25% 25% 位置 逆时针 旋转 45 度 ;

在这里插入图片描述


3、代码示例 - 使用像素值设置旋转中心点


使用方位词设置旋转中心点 , 设置 0px 0px 位置 为 旋转中心点 ;

设置 0px 0px 位置为旋转中心点 ;

            /* 设置旋转中心点 */
            transform-origin: 0px 0px;

代码示例 :

<!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>CSS3 2D 转换 - rotate 旋转</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            /* 上下 100 像素外边距, 居中对齐 */
            margin: 100px auto;
            background-color: pink;
            /* 设置过渡动画 */
            transition: all 1s;
            /* 设置旋转中心点 */
            transform-origin: 0px 0px;
        }
        
        div:hover {
            /* 鼠标移动上去后 三角形超右 */
            transform: rotate(-45deg);
        }
    </style>
</head>

<body>
    <div>
    </div>
</body>

</html>

执行结果 :
在这里插入图片描述

鼠标移动上去后的效果 : 绕 0px 0px 位置 逆时针 旋转 45 度 ;

在这里插入图片描述

更多推荐

Unix后记&寻找Shen Lin

看『左耳朵耗子』这篇UNIX50年:KENTHOMPSON的密码[1],意外获知KEN,DMR,RMS之外,能够拥有三位字母简称,且在极客圈中得到广泛认可的另一位大神——BWK。同样是贝尔实验室出来的研究员,当初跟着K&R开发unix。另外,awk中的“k”,那本C语言经典<C程序设计语言>作者K&R中的“k”,均指此

【Linux is not Unix】Linux前言

目录二战军工的产物——第一台现代电子数字计算机ENIAC(埃尼阿克)UnixLinuxLinux企业应用现状如今计算机已经应用在我们生活的各个层面,像我们日常使用的笔记本是计算机的一类,可以解决我们生活中遇到的很多问题,我们只是进行简单的操作就可以运行我们的计算机得到我们的答案的这其中的操作究竟有什么奥秘?这还得从计算

jvm-sandbox-repeater时间mock插件设计与实现

一、背景jvm-sandbox-repeater实现了基础的录制回放流程编排,并简单的给了几个插件的demo,离实际项目运用其实还需要二次开发很多东西,其中时间mock能力是一个非常基础的能力,业务代码里经常需要用到这块;二、调研2.1如何mock当前时间我们mock的主要是"当前时间",java里获取当前时间的主要方

【CSS】font-weight设置为500显示不出加粗效果

问题出在操作系统上:macOS系统默认的华文黑体(STHeiti)有七个矢量级别:Heavy/Bold/MediumP4/Regular/Thin/Light/UltraLightP2,它包含上面CSS中设定的500这个精度。Windows系统默认的宋体(simsun)没有那么多级别。在缺少级别支持的前提下,CSS会根

【笔记】简单算法查找、排序的思路和优化

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章Python机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、二分查找1、思路2、初步代码复现3、整数溢出的情况如图:中间索引上的值+右边界索引上的值会造成`

成为绝地求生高手的秘密武器,精准作图、库存查询与封禁防护一网打尽!

想要在绝地求生中成为巅峰玩家,除了优秀的游戏技巧和战斗意识外,还需要掌握一些绝密武器,帮助你科学作图、查询库存,甚至保护账号不被骗和封禁。下面就为你揭秘,让你轻松提升战斗力,引领游戏潮流!首先,作图工具是每个高手必备的利器之一。我们网站提供一系列方便作图的工具推荐,可以轻松绘制战术图和战场布局,帮助你与队友默契配合,制

MiniGPT-4:用高级大型语言模型增强视觉-语言理解

文章目录摘要1、简介2、相关工作3、方法3.1、第一个预训练阶段3.2、策划高质量的视觉语言域对齐数据集。3.3、第二阶段微调4、演示:5、局限性摘要论文链接:https://arxiv.org/pdf/2304.10592v1.pdf最近的GPT-4展示了非凡的多模态能力,例如从手写文本直接生成网站和识别图像中的幽默

JS 手写call、apply和bind方法

手写call、apply和bind方法一、方法介绍1.1call方法1.2apply方法1.3bind二、方法的实现2.1call方法2.2apply方法2.3bind方法一、方法介绍apply、call和bind都是系统提供给我们的内置方法,每个函数都可以使用这三种方法,是因为apply、call和bind都实现在了

软件设计模式系列之十一——装饰模式

当谈到设计软件系统时,经常需要考虑如何使系统更加灵活、可扩展和易维护。设计模式是一种被广泛采用的方法,用于解决常见的设计问题,并提供了一套可重用的解决方案。装饰模式(DecoratorPattern)是一种结构型设计模式,它允许您在不改变对象接口的情况下动态地添加对象的功能或责任。在本文中,我们将深入探讨装饰模式,包括

ChatGLM P-Tuningv2微调定制AI大模型

前言什么是模型微调想象一下,你正在学习如何弹奏一首钢琴曲目。你已经学会了一些基本的钢琴技巧,但你想要更进一步,尝试演奏一首特定的曲目。这时,你会选择一首你感兴趣的曲目,并开始深度练习。Fine-tuning(微调)在机器学习中也是类似的概念。当我们使用预先训练好的模型(预训练Pre-training)来解决一个特定的任

【uniapp】小程序开发:2 安装uni-ui组件库、使用pinia状态管理、自定义http请求

一、安装uni-ui组件库1、安装pnpmi-Dsasspnpmi@dcloudio/uni-ui2、配置组件自动导入使用npm安装好uni-ui之后,需要配置easycom规则,让npm安装的组件支持easycom打开项目根目录下的pages.json并添加easycom节点://pages.json{"easyco

热文推荐