三、动画 -变形transform

news/2024/11/8 8:54:59/

目录:
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.ppmy.cn/news/479188.html

相关文章

关于鼠标滚动,横向滚动条不滚动问题

首先应该知道竖向滚动条是带有自定义鼠标滚动事件的&#xff0c;而横向的滚动条则不带有这个事件需要我们自行配置 下面说一下配置方式 let html document.querySelector("html");html.addEventListener("wheel", function (e) {let dundong -e.wheelDel…

Proe 5.0鼠标滚轮无法缩放的解决方法

鼠标中键&#xff08;也就是滚轮&#xff09;在软件里起“确认”功能&#xff0c;滚轮上下滑动可以进行缩放&#xff0c;没反应的话解决办法如下&#xff1a; 1.wini打开设置界面 2.在设备选项中选择鼠标按键&#xff0c;将悬停在非活动窗口滚动选项关闭 3.然后就可以进行缩放…

PS/2接口鼠标滚轮不能用的解决办法

原因&#xff1a;在安装操作系统的时候没有连接&#xff08;含滚轮的&#xff09;PS2接口鼠标&#xff0c;而系统错误的安装了一个基础的驱动程序&#xff08;注&#xff1a;这个基础的PS/2接口鼠标&#xff0c;即是2D鼠标&#xff0c;没有滚轮&#xff09;&#xff0c;导致现在…

vue使用echarts中鼠标滚轮失效问题

问题描述&#xff1a; 前端使用echarts绘图时&#xff0c;鼠标在图表中滚动页面经常失效&#xff0c;只有在滚动条或页面空白区域上才能滚动页面。 原因分析&#xff1a; 未找到原因 - - &#xff0c; 找到原因了再更新吧。。。望各位大佬们知道原因的能在评论区留言告诉我&a…

解决 Mac OS 下罗技鼠标滚轮无法使用问题(滚动失效)

解决 Mac OS 下罗技鼠标滚轮无法使用问题&#xff08;滚动失效&#xff09; 1&#xff0c;问题描述 之前的罗技 MX Master 鼠标在 Mac 系统下用的好好的&#xff0c;最近发现滚轮失效。但鼠标移动、左右键点击却又都没问题。 2&#xff0c;问题原因 可能是罗技的驱动加载有…

Angularjs之ui-grid的使用鼠标滚轮滚动的Bug

Angularjs之ui-grid的使用鼠标滚轮滚动的Bug 在UI-Grid表格中使用鼠标左键进行拖拽滚动时&#xff0c;表格是滚动正常的&#xff1b;但使用滚轮进行上下滚动时&#xff0c;发现它总会自动跳回到表格顶部&#xff0c;解决方法是在源码中找到gridUtil.on.mousewheel这句代码&…

Unity鼠标滚轮事件的坑,真机双指滑动

前言 项目在移动端数据表现良好&#xff0c;决定发布PC版。为了提高PC的操作体验&#xff0c;加入了鼠标滚轮事件。 var dv Input.GetAxis("Mouse ScrollWheel"); if(dv > 0.25f) {// 鼠标滚轮向上滚动 } else if(dv < -0.25f) {// 鼠标滚轮向下滚动 }真机上…