三、动画 -变形transform

news2024/11/27 0:16:22

目录:
1.变形transform定义
2.具体描述
3.用途
4.练习

一、变形transform定义

变形就是指通过CSS来改变元素的形状或位置

  • 变形不会影响到页面的布局
  • transform 用来设置元素的变形效果
  • 设置具体的值用translate()函数

二、具体描述

  - 平移:
    translateX() 沿着x轴方向平移
    translateY() 沿着y轴方向平移
    translateZ() 沿着z轴方向平移
  - 平移元素,百分比是相对于自身计算的

例子:

1.首先我们先做准备工作:在界面上画出两个方块。


  <style>
    .box1{
      width: 200px;
      height: 200px;
      background-color: goldenrod;
      margin: 0 auto;
      margin-top:100px;
    }
    .box2{
      width: 200px;
      height: 200px;
      background-color: orange;
      margin:0 auto;
    }
    /* 如果我们对box1变形,不会对box2产生影响,所有的位置任何属性都不会发生变化。
    有点像相对定位
    变形用transform:具体用函数translate()函数来设置
    */
  </style>

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

</body>

2.现在让box1往x轴右侧移动。

 .box1{
      width: 200px;
      height: 200px;
      background-color: green;
      margin: 0 auto;
      margin-top:100px;

      /* transform: translateX(100px); */
      /*平移元素,百分比是相对于自身计算的,所以可以看到移动的位置是往右移动自己的一个整个宽度*/
      transform: translateX(100%);
    }

三、用途

比如以前我们设置一个元素在整个界面居中,是如下设置:

 <style>
 .box3{
      width: 100px;
      height: 100px;
      background-color: red;
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      margin: auto;

    }
  </style>
  
<body>
  <div class="box3"></div>
</body>
  • 上面这种写法有缺陷:如果这个元素,宽高是确定,可以这样写。

  • 现在如果我现在把宽高删掉,然后box3盒子里面有字。现在想box3的宽高,通过我设置的box3的文字内容来撑开。并且box3依然在屏幕的居中。

  • 如下这样写,你会发现box3撑满整个屏幕,因为你设置了 margin: auto; 所以它宽高也可以自动设置。当margin 和宽高 都auto,优先调整宽高

 <style>
 .box3{
      background-color: red;
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      margin: auto;

    }
  </style>
  
<body>
  <div class="box3">22222</div>
</body>

  /* 
      这种居中方式,只适用于元素的大小确定
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto; */

解决方法:

  • left:50%; 初始包含块的50%,在这里就是body,即box3先往左边便宜整个屏幕的一半,
  • 然后,我们在让aaa box3本身往左偏移一半,使得,box3的中心点,对齐,屏幕的中心点。能办到这点的就是用transform:translateX(-50%), 这里的-50% 是表示自身的一半。
  • 同理,水平居中,类似高度只需要控制top,和translateY.

代码:

 .box3{
      background-color:red;
      position:absolute;
      left: 50%;
      top: 50%;
      transform: translateX(-50%), translateY(-50%);
    }

请添加图片描述

四、练习

做一个下面的效果。
请添加图片描述

<style>

    body{
      background-color: silver;
    }
   
   .box4, .box5{
    width: 220px;
    height: 330px;
    background-color: #fff;
    margin:0 auto;
    /* 浮动,让两个box5水平排列 */
    float: left;
    /* 左右设置间距 */
    margin: 0 10px;

    /* hover移动动画,过渡下,让动画效果自然 */
    transition: all .3s;
   }

   .box4:hover, .box5:hover{
    transform: translateY(4px);
    box-shadow: 0 0 10px rgba(0, 0, 0, .3)
   }
  
  </style>
<body>

  <div class="box4"></div>
  <div class="box5"></div>


</body>

效果图:
在这里插入图片描述

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

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

相关文章

2023 3de实时仿真环境下资源不可见或没有了(只有floor)

F3退出实时仿真环境&#xff0c;双击结构树父节点 之后再进入实时仿真&#xff0c;3d仿真&#xff0c;再打开资源就可以看到了。

【雕爷学编程】Arduino动手做(117)---P10V706LED屏模组

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【Atlas 200DK A2体验】Atlas 200DK A2初体验记录

开箱照 烧录镜像 Windows版制卡工具下载地址&#xff1a; https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Atlas%20200I%20DK%20A2/DevKit/tools/latest/Ascend-devkit-imager_latest_win-x86_64.exe 准备一张MicroSD卡&#xff0c;个人建议容量至少在64GB以上 一键制…

6 月份有哪些 GitHub 项目火了?

本期推荐开源项目目录&#xff1a; 1. 谁在招人&#xff1f; 2. ChatGPT-Midjourney 3. 让 AI 给你写代码 4. 免费的 OpenAI GPT-4 的 API 5. 金融领域的大模型 6. 文本生成音乐模型 01 谁在招人&#xff1f; 阮一峰在 GitHub 上维护了一个《科技爱好者周刊》&#xff0c;每周五…

开源的可视化爬虫易采集EasySpider:如何无代码可视化的爬取需要登录才能爬的网站

一个可视化爬虫软件&#xff0c;可以使用图形化界面&#xff0c;无代码可视化的设计和执行爬虫任务。只需要在网页上选择自己想要爬的内容并根据提示框操作即可完成爬虫设计和执行。同时软件还可以单独以命令行的方式进行执行&#xff0c;从而可以很方便的嵌入到其他系统中。 …

AI导师、AI提示工程师 # Earth实现任意角色设定

‍‍ 如何通过学习优秀的开源项目&#xff0c; 设定一个任意角色 opus 嗨&#xff0c;Shadow&#xff0c;我想学习如何给ChatGPT设定一个角色&#xff0c;可以教我吗&#xff1f; 当然可以&#xff0c;我们可以通过学习优秀的开源项目来了解实现细节。 shadow 其中&#xff0c;…

SQLmap使用教程图文教程(超详细)

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 SQLmap 一、目标1、指定url2、指定文件&#xff08…

ICLR Oral总分世界第五(10,8,8):可学习的行为控制,超越DeepMind和OpenAI突破Atari人类世界纪录...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 作者介绍 范嘉骏 清华大学计算机技术专业二年级研究生&#xff0c;主要研究深度强化学习 报告题目 可学习的行为控制&#xff0c;超越DeepMind和OpenAI突破Atari人类世界纪录 内容简介 探索问题一直是深度强化学…

【kafka】kafka基础架构

文章目录 1、kafka简介2、kafka的特性3、kafka的应用场景4、kafka架构&#xff08;重点&#xff09;4.1、broker4.2、topic4.3、partition4.4、offset4.5、producer4.6、consumer4.7、consumer group4.8、leader4.9、follower4.10、rebalance 5、对kafka架构的几点解释6、几种M…

突破软件测试的瓶颈

软件测试两三年&#xff0c;编程能力半生不熟&#xff0c;三流学校出身&#xff0c;E很差&#xff0c;工作主要还是写各种测试文档和手工测试&#xff1b;相信不少测试人员都和这情况相似&#xff1b;下面就这几个方面谈一下自己的看法。 关于编程的能力 之前有同学问我测试要学…

青翼自研-模块化互联产品 • 模拟采集FMC子卡产品资料

FMC123是一款基于FMC标准规范&#xff0c;实现2路14-bit、3GSPS ADC采集功能、2路16-bit 12.6GSPS回放子卡模块。该模块遵循VITA57.1标准&#xff0c;可直接与FPGA载卡配合使用&#xff0c;板卡ADC器件采用ADI公司的AD9208芯片&#xff0c;&#xff0c;与ADI公司的AD9689可以实…

C国演义 [第五章]

第五章 子集题目理解步骤树形结构递归函数递归结束的条件单层逻辑 代码 子集II题目理解步骤树形结构递归函数递归结束的条件单层逻辑 代码 子集 力扣链接 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。…

MySQL索引、事务、与存储引擎

MySQL索引、事务、与存储引擎 一、索引 1.概念 索引是一个排序的列表&#xff0c;包含索引字段的值和其相对应的行数据所在的物理地址2.作用 优点 加快表的查询速度 可以对字段排序缺点 额外占用磁盘空间 更新包含索引的表效率会更慢3.索引工作模式 没有索引的情况下&am…

利用C语言创建图书管理系统

不仅仅是图书信息管理系统 基于双链表&#xff0c;采用面向对象编程方法制作的图书管理系统 ❞ 效果演示 root用户&#xff1a;账号&#xff1a;0&#xff0c;密码&#xff1a;0 普通用户&#xff1a;账号&#xff1a;1001&#xff0c;密码&#xff1a;666666 图书信息 没有完全…

Spring MVC各种参数进行封装

目录 一、简单数据类型 1.1 控制器方法 1.2 测试结果 二、对象类型 2.1 单个对象 2.1.1 控制器方法 2.1.2 测试结果 2.2 关联对象 2.2.1 控制器方法 2.2.2 测试结果 三、集合类型 3.1 简单数据类型集合 3.1.1 控制方法 3.1.2 测试结果 3.2 对象数据类型集合 3.…

KMP算法实现strStr(c++代码实现)

1 KMP算法简介 KMP算法是一个解决字符串匹配问题的算法&#xff0c;由D.E.Knuth&#xff0c;J.H.Morris和V.R.Pratt提出。当给你一个主串str和一个子串substr&#xff0c;如何确定substr在主串中出现的位置&#xff1f;如果没有学习KMP算法&#xff0c;我们可能会写出这样的代…

测试(三)——黑盒测试

一、测试用例的基本要素 测试环境、操作步骤、测试数据、预期结果 测试用例的好处&#xff1a; 1.能提高测试效率、节省测试时间 2.测试用例是自动化测试用例的前提 二、测试用例的设计方法 2.1基于需求进行测试用例设计 2.2具体的设计方法 2.2.1等价类 有效等价类&#x…

c++学生信息管理系统

前言 c课程作业–学生信息管理系统 在 原博客C通讯录管理系统 https://www.csdn.net/tags/OtDagg2sODU2Ni1ibG9n.html 的基础上进行了一点修改。 学生信息管理系统 基本功能要求&#xff1a; 能使用文件的打开&#xff0c;关闭&#xff0c;读写等操作&#xff0c;实现 1.连…

STM32单片机(六)TIM定时器 -> 第八节:TIM编码器练习(编码器接口测速)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

Linux学习入门笔记

计算机硬件 计算机五大基本部件 控制器 -----> 协调各个部件运算器 -----> 算术、逻辑运算存储单元 ----->内存、外存输入单元输出单元 cup 由控制器、运算器组成 计算机操作系统 操作系统 OS 管理和控制计算机系统中的硬件和软件资源&#xff0c;用于在用户与系统…