从头学前端-CSS3提升-续

news/2024/5/15 15:56:00

CSS3 2D转换

关键字:transform

  • 移动:沿着x,y轴移动,不会影响盒子的位置,对行内元素没有效果
        div {width: 100px;height: 100px;background-color: rebeccapurple;transform: translate(100px,100px);transform: translateX(100px);transform: translateY(100px);}
  • 旋转 rotate
  	div {width: 200px;height: 200px;background-color: aqua;/* transform: rotate(30deg); */transition:  all 1s;}div:hover {transform: rotate(360deg);}
  • 2d转换中心点 transform-origin
        div {width: 200px;height: 200px;border: 1px solid #000;transition:  all 1s;transform-origin: left bottom;transform-origin: 300px 300px;}div:hover {transform: rotate(220deg)}
  • 缩放 scale:可以设置转换中心点,不影响其他盒子
  p {width: 200px;height: 200px;background-color: red;} p:hover {transform: scale(2,1);transform: scaleX(3);transform: scale(2);transform: scale(0.5);}
  • 转换综合写法: 以空格隔开,顺序会影响效果,最好位移在前
      li:hover {transform: translate(0px,10px) rotate(90deg) scale(1.2);}

CSS3 动画

关键字: animation

  • 用keyframes定义动画并使用
 @keyframes move {0%{transform: translateX(0px);}100%{transform: translateX(1000px);}}div {width: 200px;height: 200px;background-color: red;animation: move 2s ;}

动画相关属性:
在这里插入图片描述

  • 使用多个状态和属性
   @keyframes move {from {transform: translateX(0px);}50% {transform: translate(500px, 200px);}60% {transform: translateX(1000px);}to {transform: translateX(0);}}div {width: 200px;height: 200px;background-color: red;animation: move 2s ;animation-iteration-count: infinite;animation-direction: alternate;/* animation-fill-mode: forwards; */}div:hover {animation-play-state: paused;}

CSS3 3D转换

  • 透视 perspective :写到被观察元素的父盒子上;

  • 移动: translate3d:

   body {perspective: 105px;}div {width: 100px;height: 100px;background-color: #663399;transform: translate3d(100px,100px,10px);}
  • 旋转 rotate3d:
 body {perspective: 300px;}img {display: block;margin: 20px 200px;width: 200px;transition: all 2s;}img:hover {transform: rotateX(360deg);transform: rotateY(180deg);transform: rotateZ(90deg) ;transform: rotate3d(1,1,0,270deg);}
  • 3d呈现 transform-style:
 body {perspective: 300px;}
box {position: relative;width: 200px;height: 200px;margin: 0 auto;transform-style: preserve-3d;transition:  all 2s;}.box:hover {transform:  rotateY(180deg);}.box div {position: absolute;top:0;left: 0;width: 100%;height: 100%;background-color: aqua;}.box div:last-child {background-color: blue;transform: rotateX(60deg);}

http://www.mrgr.cn/p/11284681

相关文章

TSINGSEE青犀视频安防监控视频平台EasyCVR新增密码复杂度提示

智能视频监控平台TSINGSEE青犀视频EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTM…

孩子近视有必要用全光谱灯吗?全光谱led灯推荐

当然,有必要!全光谱LED灯的光源分布更加均匀,使空间更加美观舒适,而普通灯的光源分布可能会在一定范围内分布不均匀。全光谱它的使用寿命长达20-30万小时,而普通灯的使用寿命仅为1000-2000小时,因此在长期使用上&#…

kettle开发-Day40-AI分流之case/switch

前言: 前面我们讲到了很多关于数据流的AI方面的介绍,包括自定义组件和算力提升这块的,今天我们来学习一个关于kettle数据分流处理非常重要的组件Switch / Case 。当我们的数据来源于类似日志、csv文件等半结构化数据时,我们需要在…

React之组件的生命周期

React之组件的生命周期 一、概述二、整体说明三、挂载阶段四、更新阶段五、卸载阶段 一、概述 生命周期:一个事务从创建到最后消亡经历的整个过程组件的生命周期:组件从被创建到挂载到页面中运行,再到组件不用时卸载的过程意义:理解组件的生…

Windows环境下git客户端中的git-bash和MinGW64

我们在 Windows10 操作系统下,安装了 git 客户端之后,可以通过 git-bash.exe 打开一个 shell: 执行一些 linux 系统里的命令: 注意到上图紫色的 MINGW64. Mingw-w64 是原始 mingw.org 项目的改进版,旨在支持 Window…

数据安全

数据的备份与恢复 1. 数据备份技术 任何数据在长期使用过程中,都存在一定的安全隐患。由于认为操作失误或系统故障,例如认为错误、程序出错、计算机失效、灾难和偷窃,经常造成数据丢失,给个人和企业造成灾难性的影响。在这种情况…

公网访问的Linux CentOS本地Web站点搭建指南

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道,指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 前言 在web项目中,部署的web站点需要被外部访问,则…

TypeScript -- 函数

文章目录 TypeScript -- 函数JS -- 函数的两种表现形式函数声明函数的表达式es6 箭头函数 TS -- 定义一个函数TS -- 函数声明使用接口(定义)ts 定义参数可选参数写法 -- ?的使用TS函数 -- 设置剩余参数函数重载 TypeScript – 函数 JS – 函数的两种表现形式 我们熟知js有两…

python字典:怎么取出key对应的值

目录 python中的字典是什么 怎么判断key是否在字典中 怎么取出key对应的值 总结 python中的字典是什么 在Python中,字典(Dictionary)是一种无序且可变的数据类型,用于存储键-值(Key-Value)对。字典通过…

基于传统检测算法hog+svm实现图像多分类

直接上效果图: 代码仓库和视频演示b站视频005期: 到此一游7758258的个人空间-到此一游7758258个人主页-哔哩哔哩视频 代码展示: 数据集在datasets文件夹下 运行01train.py即可训练 训练结束后会保存模型在本地 运行02pyqt.py会有一个可视化…

Element Drawer 抽屉改变默认宽度和高度

Drawer 抽屉 默认宽度为30%&#xff0c;想要改变宽度只需要使用 :size"你需要设置的值" <el-drawer title"我是标题" :visible.sync"drawer" :size"你需要设置的值"><span>我来啦!</span> </el-drawer> dat…

nginx实战

1.nginx简介 1.1 什么是nginx Nginx 是高性能的 HTTP 和反向代理的web服务器&#xff0c;处理高并发能力是十分强大的&#xff0c;能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。 其特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上nginx的并发…

Windows11+Opencv+Clion编译源码

Windows11OpencvClion编译源码 参考&#xff1a;https://www.robotsfan.com/posts/69395e08.html 注意事项 编译过程中使用的软件&#xff0c;开源码等所有工具的安装路径一定不要有中文和空格。cmake过程会下载一些文件&#xff0c;如果是局域网的话可能下载不下来&#xf…

【网络】应用层——HTTP协议

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; &#x1f3c0;认识HTTP协议 上篇文章中&#xff0c;本喵带着大家对HTTP有了一个初步的认识&#xff0…

2023最新ChatGPT商业运营版网站源码+支持ChatGPT4.0+GPT联网+支持ai绘画(Midjourney)+支持Mind思维导图生成

本系统使用Nestjs和Vue3框架技术&#xff0c;持续集成AI能力到本系统&#xff01; 支持GPT3模型、GPT4模型Midjourney专业绘画&#xff08;全自定义调参&#xff09;、Midjourney以图生图、Dall-E2绘画Mind思维导图生成应用工作台&#xff08;Prompt&#xff09;AI绘画广场自定…

27 用linprog、fmincon求 解线性规划问题(matlab程序)

1.简述 ① linprog函数&#xff1a; 求解线性规划问题&#xff0c;求目标函数的最小值&#xff0c; [x,y] linprog(c,A,b,Aeq,beq,lb,ub) 求最大值时&#xff0c;c加上负号&#xff1a;-c ② intlinprog函数&#xff1a; 求解混合整数线性规划问题&#xff0c; [x,y] intl…

Vue3 Radio单选切换展示不同内容

Vue3 Radio单选框切换展示不同内容 环境&#xff1a;vue3tsviteelement plus 技巧&#xff1a;v-if&#xff0c;v-show的使用 实现功能&#xff1a;点击单选框展示不同的输入框 效果实现前的代码&#xff1a; <template><div class"home"><el-row …

三个常用查询:根据用户名 / token查询用户信息+链表分页条件查询

目录 1.根据用户名或者token查询用户信息 会员信息实体类 统一状态Result类 controller层 service层及实现类 dao层 测试&#xff1a; 2.链表分页条件查询 会员等级实体类 封装条件类PageVo controller层 service层及实现类 dao层 Mapper.xml层 测试 vue前端参考 1.根据用户名…

Sentinel Dashboard集成Nacos

1.前言 当项目上Sentinel Dashboard做流量监控的时候&#xff0c;我们可以通过Sentinel控制台修改限流配置&#xff0c;但当我们使用Nacos作为配置中心动态配置流控规则的时候&#xff0c;问题就来了。 首先我们要明白&#xff0c;Sentinel Dashboard的配置是从机器的内存中加…

基于解析法和遗传算法相结合的配电网多台分布式电源降损配置(Matlab实现)

目录 1 概述 2 数学模型 2.1 问题表述 2.2 DG的最佳位置和容量&#xff08;解析法&#xff09; 2.3 使用 GA 进行最佳功率因数确定和 DG 分配 3 仿真结果与讨论 3.1 33 节点测试配电系统的仿真 3.2 69 节点测试配电系统仿真 4 结论 1 概述 为了使系统网损达到最低值&a…