前端三剑客 —— CSS (第四节)
目录
内容回顾:
1.常见样式
2.特殊样式
特殊样式
过滤效果
动画效果
动画案例:
渐变效果
其他效果:
多列效果
字体图标(icon)
内容回顾:
1.常见样式
text-shadow x轴 y轴 阴影的模糊程度 阴影的颜色
box-shadow
border-radio 实现圆角
margin 内边距
padding 外边距
background
2.特殊样式
媒体查询:@media
自定义字体:@font-face {
font-family:自定义名称;
src:url(“字体的路径”);
}
选择{
font-family:自定义名称;
}
转换:transform
移动:translate()
旋转:rotate()
缩放:scale()
翻转:skew()
综合:matrix()
特殊样式
过滤效果
从一个状态变为另一个状态的过程,要想有过滤效果,我们就需要又触发条件,通常触发的条件为鼠标移动到元素上(hover)。
单项过渡

多项过渡

transition这个属性的值

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>过渡效果比较</title>
<style>
.box {
width: 200px;
height: 200px;
background-color: #317FE5;
/*transition: width 5s ease 2s;*/
/*transition: width 3s linear;*/
/*transition: width 3s ease-in;*/
/*transition: width 3s ease-in-out;*/
transition: width 3s ease-out;
}
.box:hover {
width: 500px;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
动画效果
在CSS3中提供了基于CSS动画效果,我们需要先定义动画,然后再使用动画。
定义动画使用@keyframes,从而使用动画animate
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动画效果</title>
<style>
/*.box {*/
/* width: 200px;*/
/* height: 200px;*/
/* background: #317FE5;*/
/* transition: transform 2s;*/
/*}*/
/*.box:hover {*/
/* transform: translateX(100px);*/
/*}*/
/* 定义动画 */
@keyframes myAnimate {
from {
left: 5px;
background: #317FE5;
}
to {
left: 500px;
background: red;
}
}
.box {
width: 200px;
height: 200px;
background: #317FE5;
animation: myAnimate 5s;
position: absolute;
left: 5px;
top: 5px;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
另一个效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动画效果</title>
<style>
/* 定义动画 */
@keyframes myAnimate {
0% {
left: 5px;
top: 5px;
}
25% {
left: 500px;
top: 5px;
}
50% {
left: 500px;
top: 200px;
}
75% {
left: 5px;
top: 200px;
}
100% {
left: 5px;
top: 5px;
}
}
.box {
width: 200px;
height: 200px;
background: #317FE5;
animation: myAnimate 5s;
position: absolute;
left: 5px;
top: 5px;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
动画属性
| 属性 | 描述 | 值 |
| @keyframes | 规定动画。指定 | css样式 |
| animation | 所有动画属性的简写属性,除了 animation-play-state 属性。 | 动画名称 |
| animation-name | 规定 @keyframes 动画的名称。 | 动画名称 |
| animation-duration | 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 | 数值 |
| animation-timing-function | 规定动画的速度曲线。默认是 "ease"。 | ease-in-out、linear、ease、ease-in、ease-out |
| animation-delay | 规定动画何时开始。默认是 0。 | 数值 |
| animation-iteration-count | 规定动画被播放的次数。默认是 1。 | 数值或者infinite |
| animation-direction | 规定动画是否在下一周期逆向地播放。默认是 "normal"。 | normal、alternate |
| animation-play-state | 规定动画是否正在运行或暂停。默认是 "running"。 | paused、running |
| animation-fill-mode | 规定对象动画时间之外的状态。 | none、forwards、backwards、both |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动画属性介绍</title>
<style>
.box {
width: 200px;
height: 200px;
background: #317FE5;
position: absolute;
top: 5px;
left: 5px;
/*animation: myMove 5s;*/
/* 指定动画名称 */
/*animation-name: myMove;*/
/* 定义动画持续时间,单位是秒或毫秒 */
/*animation-duration: 3s;*/
/* 定义动画执行的效果 */
/*animation-timing-function: ease-in;*/
/* 定义动画执行次数,默认为 1 次,如果希望无限次,则值为 infinite */
/*animation-iteration-count: infinite;*/
/*animation-iteration-count: 1;*/
/* 定义动画的运行方向 */
/*animation-direction: alternate-reverse;*/
/*animation-direction: alternate;*/
/*animation-play-state: paused;*/
animation: myMove 3s ease-in infinite alternate;
}
@keyframes myMove {
from {
/*background: #317FE5;*/
left: 5px;
top: 5px;
}
to {
/*background: red;*/
left: 200px;
top: 5px;
}
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
动画案例:
定义两个圆,一个圆逆时针旋转,另一个圆顺时针旋转。
下图是定义分析

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动画的案例</title>
<style>
.outer {
width: 300px;
height: 300px;
background: url("image/5.jpeg") no-repeat center center;
overflow: hidden;
border-radius: 50%;
/*transform: translateY(50%);*/
position: absolute;
left: 50%;
top: 50%;
margin-top: -150px;
margin-left: -150px;
animation: outerAnimate 5s linear infinite;
}
.inner {
width: 200px;
height: 200px;
background: url("image/7.jpeg") no-repeat center center;
/*transform: translate(25%, 25%);*/
border-radius: 50%;
position: absolute;
left: 50%;
top: 50%;
margin-left: -100px;
margin-top: -100px;
animation: innerAnimate 3s linear infinite;
}
@keyframes outerAnimate {
from {
transform: rotate(360deg);
}
to {
transform: rotate(0deg);
}
}
@keyframes innerAnimate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
</style>
</head>
<body>
<div class="outer">
<div class="inner"></div>
</div>
</body>
</html>
渐变效果
在CSS3中提供了可以让两种或多种颜色之间的显示平稳过渡。我们只需要使用background-image:linear-gradients 属性指定即可。它的语法为:
![]()
简单示例

其他效果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>渐变效果2</title>
<style>
.box {
width: 300px;
height: 300px;
margin: 50px auto;
border: 1px solid #333333;
border-radius: 50%;
/* 可以指定渐变的角度 */
/*background-image: linear-gradient(180deg, #ff0000, yellow);*/
/* 可以指定渐变的透明度 */
/*background-image: linear-gradient(to right, rgba(255,0,0,.5), rgba(255, 255, 0, 0.5));*/
/* 重复的线性渐变 */
/*background-image: linear-gradient(red, yellow 10%, green 20%);*/
/* 径向渐变 */
background-image: radial-gradient(red, yellow);
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
多列效果
在CSS3中提供了将文本内容设计成像报纸一样的多列布局。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>多列效果</title>
<style>
.box {
column-count: 3;
}
</style>
</head>
<body>
<h1>下面的数据呈现3列展示</h1>
<div class="box">
“当我年轻的时候,我梦想改变这个世界;当我成熟以后,我发现我不能够改变这个世界,我将目光缩短了些,决定只改变我的国家;当我进入暮年以后,我发现我不能够改变我们的国家,我的最后愿望仅仅是改变一下我的家庭,但是,这也不可能。当我现在躺在床上,行将就木时,我突然意识到:如果一开始我仅仅去改变我自己,然后,我可能改变我的家庭;在家人的帮助和鼓励下,我可能为国家做一些事情;然后,谁知道呢?我甚至可能改变这个世界。”
</div>
</body>
</html>
字体图标(icon)

阿里 有阿里图标库 可在里面进行下载图标和代码 (百度搜索阿里图标库即可找到)
相关文章:
前端三剑客 —— CSS (第四节)
目录 内容回顾: 1.常见样式 2.特殊样式 特殊样式 过滤效果 动画效果 动画案例: 渐变效果 其他效果: 多列效果 字体图标(icon) 内容回顾: 1.常见样式 text-shadow x轴 y轴 阴影的模糊程度 阴影的…...
Linux文件IO(3):使用文件IO进行文件的打开、关闭、读写、定位等相关操作
目录 1. 文件IO的概念 2. 文件描述符概念 3. 函数介绍 3.1 文件IO-open函数 3.2 文件IO-close函数 3.3 文件IO-read函数 3.4 文件IO-write函数 3.5 文件IO-lseek函数 4. 代码练习 4.1 要求 4.2 具体实现代码 4.3 测试结果 5. 总结 1. 文件IO的概念 posix(可移植操作系统接…...
Vite 项目中环境变量的配置和使用
Vite 项目中环境变量的声明 我们要在 Vite 项目中进行环境变量的声明,那么需要在项目的根目录下,新建 .env.[mode] 文件用于声明环境变量,如: .env.test 文件用于测试环境下项目全局变量的声明.env.dev 文件用于开发环境下项目全…...
C++读取.bin二进制文件
C读取.bin二进制文件 在C中,可以使用文件输入/输出流来进行二进制文件的读写操作,方便数据的保存和读写。 //C读取bin二进制文件 int read_bin() {std::ifstream file("data_100.bin", std::ios::in | std::ios::binary);if (file) {// 按照…...
【ZZULIOJ】1038: 绝对值最大(Java)
目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 输入3个整数,输出绝对值最大的那个数。 输入 输入包含3个int范围内的整数,用空格隔开。 输出 输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯…...
递归算法讲解2
前情提要 上一篇递归算法讲解在这里 递归算法讲解(结合内存图) 没看过的小伙伴可以进去瞅一眼,谢谢! 递归算法的重要性 递归算法是非常重要的,如果想要进大厂,以递归算法为基础的动态规划是必考的&…...
机器学习第33周周报Airformer
文章目录 week33 AirFormer摘要Abstract一、论文的前置知识1. 多头注意力机制(MSA)2. 具有潜变量的变分模型 二、文献阅读1. 题目2. abstract3. 问题与模型阐述3.1 问题定义3.2 模型概述3.3 跨空间MSA(DS-MSA)3.4 时间相关MSA&…...
设计模式(12):代理模式
一.核心作用 通过代理,控制对对象的访问;可以详细控制访问某个对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。 二.核心角色 抽象角色: 定义代理角色和真实角色的公共对外方法;真实角色: 实现抽…...
前端9种图片格式基础知识, 你应该知道的
彩色深度 彩色深度标准通常有以下几种: 8位色,每个像素所能显示的彩色数为2的8次方,即256种颜色。16位增强色,16位彩色,每个像素所能显示的彩色数为2的16次方,即65536种颜色。24位真彩色,每个…...
ChatGPT 与 OpenAI 的现代生成式 AI(上)
原文:Modern Generative AI with ChatGPT and OpenAI Models 译者:飞龙 协议:CC BY-NC-SA 4.0 序言 本书以介绍生成式 AI 领域开始,重点是使用机器学习算法创建新的独特数据或内容。它涵盖了生成式 AI 模型的基础知识,…...
全量知识系统 程序详细设计之架构设计:一个信息系统架构
统架构,整体设计分成了三部分--三种方面:信息nformation、系统Syste 原文 以下是对全知系统程序详细设计需要的架构规划的考虑。 全知系统架构是一个信息系统架构,整体设计分成了三部分(三种“方面”):信…...
从零开始:成功进入IT行业的方法与技巧
如今,信息技术(IT)行业成为了就业市场上的热门领域。由于其快速发展和广阔的职业机会,许多人希望能够进入这个行业。然而,对于没有任何相关背景知识的人来说,要成功进入IT行业可能会面临一些挑战。本文将分…...
SpringCloud - 如何本地调试不会注册到线上环境(Nacos)?
问题描述 有时候我们需要本地调试注册到 Nacos 上,但是会影响线上服务的 Feign 请求打到本地导致不通影响了线上业务。 原因分析 一般最传统的解决方案就是修改本地 bootstrap.yml 的 spring.cloud.nacos.discovery.namespace spring:application:name: app-serv…...
1.9 面试经典150题 除自身以外数组的乘积
除自身以外数组的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法࿰…...
【美团笔试题汇总】2023-09-02-美团春秋招笔试题-三语言题解(CPP/Python/Java)
🍭 大家好这里是KK爱Coding ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新美团近期的春秋招笔试题汇总~ 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢…...
小黑逆向爬虫探索与成长之路:小黑独立破解毛毛租数据加密与解密
前言 有道和招标网的加密入口定位在前面两期做了详细的介绍,本小结将通过简单的关键词搜索定位到加密与解密入口 数据接口寻找与请求 根据响应数据长度,确定数据接口,发现传入的参数需要加密,响应的结果需要解密,后…...
深入浅出 -- 系统架构之微服务架构常见的六种设计模式
面向服务的架构(SOA) 面向服务的架构(SOA)是一种设计方法,也是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的…...
SSM框架学习——SqlSession以及Spring与MyBatis整合
SqlSession以及Spring与MyBatis整合 准备所需要的JAR包 要实现MyBatis与Spring的整合,很明显需要这两个框架的JAR包,但是只是使用这两个框架中所提供的JAR包是不够的,还需要配合其他包使用: Spring的JAR包MyBatis的JAR包Spring…...
6、【单例模式】确保了一个类在程序运行期间只有一个实例
你好,我是程序员雪球 在软件设计中,单例模式是一种常见的设计模式。它确保了一个类在程序运行期间只有一个实例,并提供了全局访问该实例的方式。单例模式在许多场景中都有广泛的应用,例如共享资源管理、数据库连接、日志记录器等…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...
