五、动画 - 旋转rotate

news2024/10/7 12:23:29

目录:

  • 1.简介
  • 2.详解

一、 简介

 通过旋转可以使元素沿着x, y,或者z选择指定的角度
      rotateX()
      rotateY()
      rotateZ()
 
 相关术语:
      45deg: 45度
      1turn 1圈, .5turn 半圈
      

二、 详解

需求:在界面上定义一个box1, 放到视口中,当鼠标移动到他上面,box1开始旋转。

1.基础布局

<style>
    html{
    /* 添加了视距,就有了透视的效果*/
      perspective: 800px;
    }

    body{
      border:1px red solid;
      background-color: silver;
    }

    .box1{
      width: 100px;
      height: 100px;
      background-color: #bfa;
      margin: 200px auto;
      /* 当进行旋转的时候,这个动画是在2s内完成的*/
      transition: 2s;
    }

    body:hover .box1{
    /*绕着Z轴旋转:就是顺时针转45度*/
      transform: rotateZ(45deg);
    }
    
  </style>

<div class="box1"></div>

在这里插入图片描述

2.绕X轴旋转,就是水平方向,那你看到的效果,就是他在上下移动,往后仰一样。

 body:hover .box1{
    /*绕着x轴旋转:就是顺时针转45度*/
      transform: rotateX(45deg);
    }
    

在这里插入图片描述

3.绕Y轴旋转,就是竖直轴转,看起来像在推门效果

 body:hover .box1{
    /*绕着y轴旋转:就是顺时针转45度*/
      transform: rotateY(45deg);
    }
    

在这里插入图片描述

4.先Y轴旋转,会有推门效果,然后在往Z轴平移,就是右侧在移动100px, 看到效果就像在 往右侧压缩折叠门。

关于这个rotateY 和translateZ 的配合使用,很多音乐网站,卡片这种动画翻转效果都用到了

 body:hover .box1{
   		 /* y写在前面,会先转,后往右移动,视图变小 ,反过来会变大*/
    	/*transform:rotateY(45deg) translateZ(100px); */
    	
    	/* y轴如果是负数,在写translateZ,会发现效果像在往左边压缩折叠门*/
    	/*transform:rotateY(-45deg) translateZ(100px); */
    	
    	/*如果y是360,效果就是围绕竖直的y轴,旋转一个360度,一圈*/
    	/* transform:rotateY(360deg) translateZ(100px);  */
    	
    	/*如果是y是180,效果是往后移动,把他的背面旋转过来,看起来有缩小效果 */
		/*transform:rotateY(180deg) translateZ(100px); */
		
		/*如果是translate在前,rotate在后,会发现,box1是先往前靠近移动,在旋转,看	 起来有放大效果,所以位置不同,透视效果不同 */
       /*transform:translateZ(400px) rotateY(180deg); */

	  /*如果我们不想要这种透视效果,只是让他绕固定的y轴,旋转 。*/
	   transform: rotateY(180deg);
    }
    

在这里插入图片描述

5.通常我们给box1设置了一个图片,然后让他绕y轴旋转180度,发现,正面,背面都是有图片的。如果现在我们想让他旋转到背面的时候,为空白。

    body:hover .box1{
      transform: rotateY(180deg);
        /* 是否显示元素的背面,如果是hidden,则转完后,看不到了背面的东西 */
      backface-visibility: hidden;
    }


  <div class="box1">
    <img src="an.jpg" alt="">
  </div>


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

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

相关文章

代码随想录二刷day36 | 贪心重叠区间之 435. 无重叠区间 763.划分字母区间 56. 合并区间

day36 435. 无重叠区间763.划分字母区间56. 合并区间 435. 无重叠区间 题目链接 解题思路&#xff1a; 按照右边界排序&#xff0c;从左向右记录非交叉区间的个数。最后用区间总数减去非交叉区间的个数就是需要移除的区间个数了。 此时问题就是要求非交叉区间的最大个数。 这里…

深入理解Java虚拟机jvm-内存溢出OO-本机直接内存溢出(Direct Memory) java.lang.OutOfMemoryError

本机直接内存溢出 示例虚拟机参数输出 示例 public class DirectMemoryOOM {private static final int _1MB 1024 * 1024;public static void main(String[] args) throws IllegalAccessException {Field unsafeField Unsafe.class.getDeclaredFields()[0];unsafeField.setA…

Java编程语言的优势、特点及应用详解

目录 1. 简单易学2. 跨平台性3. 强大的生态系统4. 高性能5. 安全性6. 广泛应用领域总结 Java是一种广泛应用于软件开发领域的高级编程语言。它具有许多独特的优势和特点&#xff0c;使其成为众多开发者和企业的首选。本篇博文将深入探讨Java的优势、特点以及在不同应用领域中的…

若依——限流(rateLimiter)(lua脚本与令牌桶)

在原版若依当中使用了lua脚本进行限流 注意这里进行了bean的托管&#xff0c;因此我们才能使用limitScript 关于lua脚本的解释 在若依的Plus版本当中&#xff0c;结合了Redisson使用令牌桶进行限流。由于Redisson已经封装好了&#xff0c;使用起来比较简单&#xff0c;更多…

LeetCode刷题 | 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II

121. 买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从…

excel 信息批量转PPT

前言 在工作中&#xff0c;往往遇到大量数据的统计工作&#xff0c;耗时耗力&#xff0c;我们通常把这些信息用excel做成表单信息。除了统计分析&#xff0c;还面临汇报降解&#xff0c;这时候需要将excel转为PPT进行汇报&#xff0c;如果一个一个复制粘贴&#xff0c;那真的会…

compose中实现拍照和选取相册功能兼容android 13+

compose中实现拍照和选取相册功能兼容android 13 效果图添加引用修改AndroidManifest.xml定义拍照和选取相册的ResultContract调用拍照和选择相册的compose方法使用 效果图 添加引用 //用于compose权限的使用 implementation("com.google.accompanist:accompanist-permis…

【JDBC】如何保护 JDBC 应用程序免受 SQL 注入的影响

本文仅供学习参考&#xff01; 相关教程地址&#xff1a; https://zhuanlan.zhihu.com/p/397815893 https://www.freebuf.com/articles/web/339118.html https://www.developer.com/design/how-to-protect-a-jdbc-application-against-sql-injection/ 概述 在关系数据库管理系…

Android应用程序开发需要哪些编程语言?

开发一款Android上的应用程序通常需要以下编程语言&#xff1a; Java&#xff1a;Java是Android开发的主要编程语言。几乎所有的Android应用程序都使用Java进行核心开发。你可以使用Java编写应用程序的业务逻辑、界面设计和数据处理等。 刚好我这里有嵌入式、plc、单片机的资料…

使用 Jetpack Compose 构建 RadioButton

欢迎阅读本篇关于使用 Jetpack Compose 构建 RadioButton&#xff08;单选按钮&#xff09;的博客。Jetpack Compose 是 Google 发布的现代化 UI 工具包&#xff0c;用于构建 Android 界面。它的声明式设计使得 UI 开发更加简洁直观。 一、什么是 RadioButton&#xff1f; Rad…

leecode-全排列

题目 题目链接 分析 两个函数知识点&#xff1a; next_permutation(start,end);输出所有比当前排列 排列大的排列 prev_permutation(start,end);输出所有比当前排列 排列小的排列 AC代码 #include <iostream> #include <algorithm> class Solution { publi…

记一次ceph启动故障

无法使用ceph -s查看状态 ceph-mon和ceph-mgr正常启动 ceph-osdceph-osd.service无法启动 /var/log/ceph/ceph-mon-***.log报以下错误 原因:集群时钟不同步,差了127s远远超过配置的可接受时间误差5s故该mon服务无法与集群中其他节点交流 解决方案: timedatectl status #查…

diy遥控飞机模型的基本要点-2

电动马达 在改装电动遥控飞机时&#xff0c;选择合适的马达和螺旋桨是非常重要的。以下是一些建议&#xff1a; 马达选择&#xff1a;选择适合的马达需要考虑飞机的重量、翼展和预期性能。对于48cm翼展的手抛泡沫飞机&#xff0c;一般来说&#xff0c;你可以选择一款轻量级的无…

Spring Boot 中的事务只读属性是什么,原理,如何使用

Spring Boot 中的事务只读属性是什么&#xff0c;原理&#xff0c;如何使用 简介 在开发过程中&#xff0c;事务是一个非常重要的概念。在 Spring Boot 中&#xff0c;事务是通过 AOP 机制来实现的&#xff0c;可以很方便地进行管理。其中&#xff0c;只读事务是一种特殊的事…

阿里P7的消息中心架构设计笔记

前言 最近我们在重构消息中心&#xff0c;关于设计上的部分记录一下笔记&#xff0c;希望能够帮助到正在做类似设计的。另外我创建了一个高级研发的笔记分享群&#xff0c;免费加入&#xff0c;有兴趣的可以在文章底部扫描二维码加入 需求 我们的消息中心主要服务于如下场景…

C++类与对象(下)

类与对象&#xff08;下&#xff09; 1.再谈构造函数1.1构造函数体赋值1.2初始化列表1.3explicit关键字 2.static成员2.1概念2.2特性 3.有元3.1有元函数3.2有元类 4.内部类4.1概念及特性 5.匿名对象6.拷贝对象时的一些编译器优化7. 再次理解类和对象 1.再谈构造函数 1.1构造函…

Acer宏碁掠夺者Predator战斧300 PH315-53原厂Windows10系统工厂模式,恢复安装原装OEM预装系统

Acer宏基笔记本电脑&#xff0c;Acer宏碁Predator掠夺者战斧300 PH315-53原装出厂Windows10系统 系统自带所有驱动、Office办公软件、出厂主题壁纸LOGO、 Acer Care Center、Quick Access、PredatorSense风扇键盘背光控制中心等预装程序 所需要工具&#xff1a;32G或以上的U盘…

Django框架实现简单的接口开发

前提创建一个Django项目&#xff0c;目录如下&#xff1a; Django框架上进行GET请求接口开发示例: 1.在上面项目结构目录Template下&#xff0c;新建一个login.html页面&#xff0c;定义表单提交请求的方式为post&#xff0c;具体代码如下。 <!DOCTYPE HTML> <html …

LSTM

其中一个门用来从记忆单元中输出条目&#xff0c;将其称为输出门&#xff08;output gate&#xff09;&#xff1b;另外一个门用来决定何时将数据读入记忆单元&#xff0c;将其称为输入门&#xff08;input gate&#xff09;&#xff1b;同时还需要一种机制来重置单元的内容&am…

Android Jetpack Compose之RadioGroup的使用

Android Jetpack Compose是一个现代化的UI工具包&#xff0c;帮助开发者以声明式的方式构建出美观且功能强大的Android应用。在本文中&#xff0c;我们将详细介绍其中的一个重要组件——RadioGroup。 一. RadioGroup简介 Jetpack Compose中并没有像传统View系统中那样直接提供…