CSS平面转换和渐变

news2025/2/26 22:20:01

01-平面转换

简介

作用:为元素添加动态效果,一般与过渡配合使用

概念:改变盒子在平面内的形态(位移、旋转、缩放、倾斜)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uD5gRCYO-1683949325115)(assets/1681357773327.png)]

平面转换也叫 2D 转换,属性是 transform

平移

transform: translate(X轴移动距离, Y轴移动距离);
  • 取值
    • 像素单位数值
    • 百分比(参照盒子自身尺寸计算结果)
    • 正负均可
  • 技巧
    • translate() 只写一个值,表示沿着 X 轴移动
    • 单独设置 X 或 Y 轴移动距离:translateX() 或 translateY()

定位居中

  • 方法一:margin

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tJ1a5gJ9-1683949325116)(assets/1681358076134.png)]

  • 方法二:平移 → 百分比参照盒子自身尺寸计算结果
    在这里插入图片描述

案例-双开门

在这里插入图片描述

  • HTML 结构
<div class="father">
    <div class="left"></div>
    <div class="right"></div>
</div>
  • CSS 样式
* {
    margin: 0;
    padding: 0;
}

/* 1. 布局:父子结构,父级是大图,子级是左右小图 */
.father {
    display: flex;
    margin: 0 auto;
    width: 1366px;
    height: 600px;
    background-image: url(./images/bg.jpg);

    overflow: hidden;
}

.father .left,
.father .right {
    width: 50%;
    height: 600px;
    background-image: url(./images/fm.jpg);

    transition: all .5s;
}

.father .right {
    /* right 表示的取到精灵图右面的图片 */
    background-position: right 0;
}

/* 2. 鼠标悬停的效果:左右移动 */
.father:hover .left {
    transform: translate(-100%);
}

.father:hover .right {
    transform: translateX(100%);
}

旋转

transform: rotate(旋转角度);
  • 取值:角度单位是 deg
  • 技巧
    • 取值正负均可
    • 取值为正,顺时针旋转
    • 取值为负,逆时针旋转

转换原点

默认情况下,转换原点是盒子中心点

transform-origin: 水平原点位置 垂直原点位置;

取值:

  • 方位名词(left、top、right、bottom、center)
  • 像素单位数值
  • 百分比

案例-时钟

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jIjGkned-1683949325117)(assets/1681358351628.png)]

.hour {
  width: 6px;
  height: 50px;
  background-color: #333;
  margin-left: -3px;
  transform: rotate(15deg);
  transform-origin: center bottom;
}

.minute {
  width: 5px;
  height: 65px;
  background-color: #333;
  margin-left: -3px;
  transform: rotate(90deg);
  transform-origin: center bottom;
}

.second {
  width: 4px;
  height: 80px;
  background-color: red;
  margin-left: -2px;
  transform: rotate(240deg);
  transform-origin: center bottom;
}

多重转换

多重转换技巧:先平移再旋转

transform: translate() rotate();
  • 多重转换原理:以第一种转换方式坐标轴为准转换形态
    • 旋转会改变网页元素的坐标轴向
    • 先写旋转,则后面的转换效果的轴向以旋转后的轴向为准,会影响转换结果

缩放

transform: scale(缩放倍数);
transform: scale(X轴缩放倍数, Y轴缩放倍数);
  • 技巧
    • 通常,只为 scale() 设置一个值,表示 X 轴和 Y 轴等比例缩放
    • 取值大于1表示放大,取值小于1表示缩小

案例-播放特效

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0c8d0MX8-1683949325118)(assets/1681358481436.png)]

  • CSS 样式
/* 1. 摆放播放按钮:图片区域的中间 */
.box li {
  overflow: hidden;
}

.pic {
  position: relative;
}

.pic::after {
  position: absolute;
  left: 50%;
  top: 50%;
  /* margin-left: -29px;
  margin-top: -29px; */
  /* transform: translate(-50%, -50%); */

  content: '';
  width: 58px;
  height: 58px;
  background-image: url(./images/play.png);
  transform: translate(-50%, -50%) scale(5);
  opacity: 0;

  transition: all .5s;
}
/* 2. hover效果:大按钮,看不见:透明是0 → 小按钮,看得见:透明度1 */
.box li:hover .pic::after {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}

倾斜

transform: skew();

取值:角度度数 deg

02-渐变

渐变是多个颜色逐渐变化的效果,一般用于设置盒子背景

分类:

  • 线性渐变

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N1VVTtKx-1683949325119)(assets/1681358603090.png)]

  • 径向渐变

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LoidpHV5-1683949325119)(assets/1681358608036.png)]

线性渐变

background-image: linear-gradient(
  渐变方向,
  颜色1 终点位置,
  颜色2 终点位置,
  ......
);

取值:

  • 渐变方向:可选
    • to 方位名词
    • 角度度数
  • 终点位置:可选
    • 百分比

案例-产品展示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AtBbOsV5-1683949325120)(assets/1681358757636.png)]

  • HTML 结构
<div class="box">
  <img src="./images/product.jpeg" alt="" />
  <div class="title">OceanStor Pacific 海量存储斩获2021 Interop金奖</div>
  <div class="mask"></div>
</div>
  • CSS 样式
.mask {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(
      transparent,
      rgba(0,0,0,0.5)
  );
  opacity: 0;

  transition: all .5s;
}

.box:hover .mask {
  opacity: 1;
}

径向渐变

background-image: radial-gradient(
  半径 at 圆心位置,
  颜色1 终点位置,
  颜色2 终点位置,
  ......
);

取值:

  • 半径可以是2条,则为椭圆
  • 圆心位置取值:像素单位数值 / 百分比 / 方位名词

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

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

相关文章

IM即时通讯系统[SpringBoot+Netty]——梳理(三)

文章目录 七、打通业务服务器与IM服务器多端同步1、负载均衡策略—随机模式2、负载均衡策略—轮询模式3、负载均衡策略—一致性Hash4、配置负载均衡策略5、使用Apache—HttpClient封装http请求工具6、用户资料变更、群组模块回调7、数据多端同步8、封装查询用户Session工具类9、…

两分钟速览谷歌2023IO大会:AI军备竞争,全线出击

大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加&#xff1a;keeepdance&#xff0c;备注&#xff1a;chatgpt&#xff0c;拉你进群。 5月10日周三&#xff0c;谷歌举办了年度开发者大会Google I/O 2023&#xff0c;在会上…

【ARMv8 编程】A64 内存访问其他指令

A64 内存访问其他指令包括浮点和 NEON 标量加载存储指令、访问多个内存位置指令、非特权访问指令、预取内存指令、非临时加载存储对指令、内存屏障和栅栏指令、同步原语等。 一、浮点和 NEON 标量加载存储指令 加载和存储指令也可以访问浮点/NEON 寄存器。这里&#xff0c;大…

k8基础知识

总述 在构成扁平化网络的基础上实现Pod编排&#xff08;控制、管理&#xff09;、调度&#xff0c;再构成服务&#xff1b;对服务的管理有所欠缺&#xff1b;可以说k8s重点解决资源的问题 服务管理、应用管理&#xff1b;istio重点解决服务的问题 功能 开源、动态伸缩、负载…

爱奇艺2020校招Java方向笔试题(第一场)

1.计算下列程序的时间复杂度&#xff08;&#xff09; for (i1;i<n;i)for(j1;j<m;j){a1,a2,a3,a4};A.O(n) B.O(mn) C.O(m) D.O(1) 答案:B 2.求递归方程T(n)4T(n/2)n 的解 ( ) A.O(n) B.O(n^2) C.O(n^3) D.O(logn) 答案:B 用Mater公式计算 3.下列关于动态规划算法说法错…

RCWA包:光学模拟的强大工具——用于计算光子 晶体R/T 光谱 的严格耦合波分析

目录 RCWA包&#xff1a;光学模拟的强大工具 RCWA包的功能 如何开始使用RCWA包 RCWA包的特性 RCWA包的应用示例 示例代码 基本的光学概念介绍。 1. 反射率、透射率和散射率 2. 衍射和衍射光栅 3. 光子晶体 4. 布拉格镜 5. 垂直腔面发射激光器&#xff08;VCSEL&…

芒果改进YOLOv8系列:改进特征融合网络 BiFPN 结构,融合更多有效特征

芒果改进YOLOv8系列:改进特征融合网络 BiFPN 结构,融合更多有效特征 在这篇文章中,将 BiFPN 思想加入到 YOLOv8 结构中 该版本为高效简洁版,涨点多、还速度快(实际效果反馈) 本篇博客 不占用 高阶专栏的总篇数计划中 文章目录 一、BiFPN 论文理论二、效果反馈(涨点)…

华为OD机试真题 Java 实现【任务总执行时长】【2023Q1 100分】

一、题目描述 任务编排服务负责对任务进行组合调度。 参与编排的任务有两种类型&#xff0c;其中一种执行时长为taskA&#xff0c;另一种执行时长为taskB。 任务一旦开始执行不能被打断&#xff0c;且任务可连续执行。服务每次可以编排num个任务。请编写一个方法&#xff0c…

Git常用操作:基础命令、生成公钥、webhook同步

这里写目录标题 下载安装GIT基础命令克隆初始化与仓库建立连接下拉代码提交代码清空本地缓存 本地生成GIT公钥webhook&#xff08;本地-码云-服务器代码同步&#xff09; 下载安装GIT 此处只介绍windows系统下的安装&#xff0c;linux一般都是自带git&#xff08;自行百度&…

linux跑python控制台输出日志无内容或者断掉

问题描述 训练时候的输出日志要么没有&#xff0c;要么就是输出了一点点就没有了&#xff08;突然不输出内容了&#xff09;&#xff0c;记得之前也出现过训练中途突然日志不打印了&#xff0c;当时以为服务器原因可能被挤掉了。但这次是还没开始并且试过很多次了。 所用语句…

85. `if __name__ == “__main__“`的作用和原理(适合小白)

85. if __name__ "__main__"的作用和原理&#xff08;适合小白&#xff09; 文章目录 85. if __name__ "__main__"的作用和原理&#xff08;适合小白&#xff09;1. 代码体验2. __name__的作用2.1 模块知识回顾2.2 __name__的作用 3. if __name__ "…

水果手机SJ流程

注册教程 第一步:注册新邮箱。 首先&#xff0c;你需要一个邮箱账号&#xff0c;国内126.QQ.163等都可以&#xff0c;只要你没有用它注册过AppleID。 第二步:注册。 复制链接到浏览器&#xff0c;打开进入appleID注册界面:https://appleid.apple.com/account#&#xff01;&…

采用UWB(超宽频)技术开发的java版智慧工厂定位系统源码

室内定位系统源码&#xff0c;采用UWB定位技术开发的智慧工厂定位系统源码 技术架构&#xff1a;单体服务 硬件&#xff08;UWB定位基站、卡牌&#xff09; 开发语言&#xff1a;java 开发工具&#xff1a;idea 、VS Code 前端框架&#xff1a;vue 后端框架&#xff1a;s…

Linux内核(十七)Input 子系统详解 IV —— 配对的input设备与input事件处理器 input_register_handle

文章目录 input_handle结构体详解配对的input设备与input事件处理器实例input核心层对驱动层和事件层之间的框架建立流程图 本文章中与input子系统相关的结构体可参考input子系统结构体解析 input函数路径&#xff1a;drivers/input/input.c input_handle结构体详解 input_ha…

算法之美:探究左右元素和的差值

本篇博客会讲解力扣“2574. 左右元素和的差值”的解题思路&#xff0c;这是题目链接。 先来审题&#xff1a; 以下是输出示例&#xff1a; 以下是提示&#xff1a; 本题的关键在于&#xff0c;“左和”和“右和”是如何变化的。下面我通过代码来演示。 一上来&#xff0c;…

唐朔飞计算机组成原理常见的寄存器(时不时就更新)

EINT中断允许触发器 如果是1代表开中断就是可以中断 如果0表示关中断 不能触发中断程序&#xff0c;1.响应中断的条件是当设备有请求并且 中断允许触发器为1的时候 时间是指令执行周期结束的时候。2.实现多重中断的条件是 中断允许触发器置为1并且 有更高的服务程序才能除法多重…

【数据结构】- 几个步骤教你认识并实现一个链表之带头(哨兵位)双向循环链表(上)

文章目录 前言&#x1f31f;一、带头双向循环链表&#x1f31f;二、带头双向循环链表结构图&#xff1a;&#x1f31f;三、带头双向循环链表代码实现&#xff1a;&#x1f30f;3.1头插&#xff1a;&#x1f4ab;3.1.1头插流程图&#x1f4ab;3.1.2 相较于无头单向非循环链表&am…

高边输出和低边输出

文章目录 高边和低边高边驱动&#xff08;HSD&#xff0c;High Side Drive&#xff09;和低边驱动&#xff08;LSD&#xff0c;Low Side Drive&#xff09;应用示例举例高/低边驱动芯片 按照开关闭合时开关输出的电压高低&#xff0c;可以分为高边输出和低边输出开关。 高边和低…

ubuntu 20.04 通过 sshfs 共享文件夹到 windows

功能需求 最近需要 让 ubuntu 共享文件夹&#xff0c;windows 来映射成磁盘或者共享目录的方式使用 windows 的文件夹可以通过 VMware Workstation Pro 虚拟机【共享文件夹】设置&#xff0c;轻松的实现 文件共享&#xff0c;不过这里的共享是 单向的&#xff0c;也就是 文件夹…

Windows服务器加固

文章目录 一、 账户安全要求二、 权限安全要求三、 通用安全管理四、 日志审计安全五、网络协议安全 一、 账户安全要求 1、 账户错误登录锁定 次数&#xff08;8&#xff09; 开始->运行->输入“gpedit.msc”打开本地组策略编辑器&#xff0c;浏览 路径&#xff1a;“…