CSS——字体背景(Font Background)
一、字体族
1、字体的相关样式:
① color 用来设置字体颜色(前景颜色)
② font-size 字体的大小
和font-size相关的单位: em 相对于当前元素的一个font-size
rem 相对于根元素的一个font-size
③ font-family 字体族(字体的格式) 指定字体的类别,浏览器会自动使用该类别下的字体
可选值: serif 衬线字体
sans-serif 非衬线字体
monospace 等宽字体
font-family 可以同时指定多个字体,多个字体间用逗号(,)隔开,字体生效时优先使用第一个,第一个无法使用时则使用第二个,以此类推。

④ font-face 可以将服务器中的字体直接提供给用户去使用
问题:加载速度慢、版权问题、字体格式
格式: @font-face{
font-family: ; /*指定字体的名字*/
scr:url( ); /*服务器中字体的路径*/
}

二、图标字体(iconfont)
1、在网页中经常需要使用一些图标,可以通过图片来引入图标,但是图片大小本身比较大,并且非常不灵活,所以在使用图标时,我们还可以将图标直接设置为字体,然后通过font-face的形式来对字体进行引入,这样我们就可以通过使用字体的形式来使用图标。
2、用法:将all.css(即所有图标的样式文件)引入到网页中,然后直接通过类名来使用图标字体: class=“fas fa-bell”或者class=“fab fa-accessible-icon”
其中,class里面的fas或者fab都是不能修改的,后面跟图标字体的名字。也可修改大小跟颜色。

3、其他用法
通过伪元素来设置图标字体:① 找到要设置图标的元素通过before或者after选中
② 在content中设置字体的编码
③ 设置字体的样式:
fab类:font-family:‘Font Awesome 5 Brands’;
fas类:font-family:‘Font Awesome 5 Free’;font-weight:900;
通过实体来使用图标字体:格式 —— &#x图标字体的编码;

三、行高(line height)
1、行高指的是文字占有的实际高度。
2、可以通过line-height来设置行高,行高也可以指定一个大小(px em),也可以直接为行高设置一个整数,如果是一个整数的话,行高将会是字体的指定的倍数。
3、行高经常还用来社会文字的行间距。
行间距=行高-字体大小
4、字体框:字体框就是字体存在的格子,设置font-size实际上就是设置字体框的高度。
5、行高会在字体框中进行上下平均分配。

四、字体的简写属性
1、font 可以设置字体相关的所有属性。
语法:font:字体大小/行高 字体族 【中间必须空格隔开,行高可以省略不写,如果不写则使用默认值】
2、font-weight 字重,字体的加粗
可选值:normal 默认值,不加粗
bold 加粗
3、font-style 字体的风格
可选值: normal 正常的
italic 斜体的

五、文本的水平和垂直对齐
1、text-align:文本的水平对齐
可选值: left 左侧对齐
right 右侧对齐
center 居中对齐
justify 两端对齐


2、 vertical- align:设置元素垂直对齐的方式
可选值: baseline 默认值,子元素和父元素基线对齐
top 顶部对齐
bottom 底部对齐
middle 居中对齐(与字母x的中点对齐)
也可以设置任意数值,正值向上对齐,负值向下对齐

3、对于图片的垂直对齐问题,也会默认跟基线对齐,为了取消这种对齐方式,让图片跟基线之间没有缝隙,可以采用 vertical-align:top;或者vertical-align:bottom;或者vertical-align:middle;来进行设置,取消图片与基线之间的缝隙。
六、其他的文本样式
1、 text-decoration:设置文本修饰
可选值: none 默认值,什么修饰都没有
underline 下划线
line-through 删除线
overline 上划线
2、 white-space:设置网页如何处理空白
可选值: normal 默认值,对空白部分不加处理
nowrap 不换行
pre 保留空白
3、 overflow:hidden; 对溢出内容进行裁剪
text-overflow:ellipsis; 对溢出内容用省略号表示

七、背景
1、background-color 设置背景颜色
2、background-image 设置背景图片
语法: background-image:url() 【括号里面写图片的路径,可添加双引号也可以没有双引号】
3、可以同时设置背景颜色和背景图片,这样背景颜色将会成为图片的背景色。
4、如果背景图片大小小于元素的大小,则背景图片会自动在元素中平铺将元素铺满。
5、如果背景图片大于元素,则会有一部分背景图片无法完全显示。
6、如果背景图片和元素一样大,则会直接正常显示。
7、background-repeat 用来设置背景图片的重复方式
可选值: repeat 默认值,背景图片会沿着x轴、y轴双方向重复
repeat-x 沿着x轴方向重复
repeat-y 沿着y轴方向重复
no-repeat 背景图片不重复
8、background-position 用来设置背景图片的位置
设置方式:① 通过 top 、left 、right 、bottom 、center 几个表示方位的词来设置背景图片的位置。使用方位词必须指定两个值,如果只写一个则第二个默认是center。
② 通过偏移量来指定背景图片的位置:水平方向的偏移量 垂直方向的偏移量

9、background-clip 设置背景的范围
可选值: border-box 默认值,背景只会出现在边框的下边
padding-box 背景不会出现在边框,只会出现在内容区和内边距
content-box 背景只会出现在内容区


10、background-origin 背景图片的偏移量计算的原点
可选值: padding-box 默认值,background-position从内边距处开始计算
content-box 背景图片的偏移量从内容区处开始计算
border-box 背景图片的变量从边框处开始计算
11、background-size 设置背景图片的大小
可选值: 第一个值表示宽度 第二个值表示高度 【如果只写一个,则第二个默认是auto】
cover 图片的比例不变,将元素铺满
contain 图片的比例不变,将图片在元素中完整显示

12、background-attachment 设置背景图片是否跟着元素移动
可选值: scroll 默认值,背景图片跟随元素移动
fixed 背景图片固定在页面中,不会跟随元素移动
13、background 背景相关的简写属性,所有背景相关的样式都可以通过该样式来设置,没有顺序要求,也没有哪个属性是必须写的。
注意:① background-size必须写在background-position后面并且中间用/隔开,即background-position/background-size
② background-origin必须写在background-clip前面
八、按钮练习

九、雪碧图

雪碧图的使用步骤:
① 先确定要使用的图标
② 测量图标的大小
③ 根据测量结果创建一个元素
④ 将雪碧图设置为元素的背景图片
⑤ 设置一个偏移量以显示正确的图片
雪碧图的特点:一次性将多个图片加载进页面,降低请求的次数,加快访问速度,提升用户体验。
十、线性渐变
(1)通过渐变可以设置一些复杂的背景颜色,可以实现从一个颜色向其他颜色过渡的效果
(2)渐变是图片,需要通过background-image来设置
(3)线性渐变【 linear-gradient()】:颜色沿着一条直线发生变化
语法 :background-image:linear-gradient(方向,颜色1 ,颜色2)
例如: linear-gradient(red,yellow) 表示红色在开头,黄色在结尾,中间是过渡区域
线性渐变的开头,我们可以指定一个渐变的方向: to left 向左渐变
to right 向右渐变
to bottom 向下渐变
to top 向上渐变
xxxdeg deg表示度数
xxxturn turn表示圈
(4)渐变可以同时指定多个颜色,多个颜色默认情况下平均分布,也可以手动指定渐变的分布情况,颜色后面加入像素即可。
(5)repeating-linear-gradient() 可以平铺的线性渐变

十一、径向渐变
(1)radial-gradient() 径向渐变(放射性的效果)
(2)默认情况下径向渐变的形状根据元素的形状来计算:
正方形——>圆形
长方形——>椭圆形
也可以手动指定渐变的位置,语法: radial-gradient(大小 at 位置,颜色1 位置,颜色2 位置,······) 【注:大小、位置可省略不写】
其中,① 大小的可选值:
circle 圆形
ellipse 椭圆形
closest-side 距离原点最近的边(近边)
closest-corner 距离原点最近的角(近角)
farthest-side 远边
farthest-corner 远角
② 位置的可选值:top right left center bottom

本文分享就到这里,欢迎大家一同讨论学习,下一篇跟大家补充一下HTML的表格和表单的内容。
相关文章:
CSS——字体背景(Font Background)
一、字体族 1、字体的相关样式: ① color 用来设置字体颜色(前景颜色) ② font-size 字体的大小 和font-size相关的单位: em 相对于当前元素的一个font-size rem 相对于根元素的一个font-size ③ font-family 字体族&#x…...
秋招突击——8/15——知识补充——Socket通信
文章目录 引言正文基于TCP协议的Socket通信基于UDP协议的Socket通信服务端如何接收更多项目多进程多线程IO多路复用select轮询IO多路复用epoll事件通知 使用Socket实现同一个机器上的多线程通信服务端创建对应socket监听端口客户端发起对应的连接请求 总结 引言 上次面试腾讯的…...
Qt第十四章 模型视图
Model/View(模型/视图)结构 文章目录 Model/View(模型/视图)结构简介视图组件Model/View结构的一些概念项目控件组(item Widgets)模型/视图 如何使用项目视图组设置行的颜色交替变换拖拽设置编辑操作其他操作 选择模型自定义选择多…...
硬件工程师必须掌握的MOS管详细知识
MOS管,全称为金属-氧化物半导体场效应晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor,MOSFET),是一种重要的半导体器件,广泛应用于电子工业中各种电路的开关、放大、调制、数字电路和模拟电路等…...
希尔排序,详细解析(附图解)
1.希尔排序思路 希尔排序是一种基于插入排序的算法,通过将原始数据分成若干个子序列,然后对子序列进行插入排序,逐渐减小子序列的间隔,最后对整个序列进行一次插入排序。 1.分组直接插入排序,目标接近有序--------…...
【C语言篇】编译和链接以及预处理介绍(下篇)
文章目录 前言#和###运算符##运算符 命名约定#undef命令⾏定义条件编译#if和#endif多个分支的条件编译判断是否被定义嵌套指令 头文件被包含头文件被包含的方式本地文件包含库文件的包含 嵌套文件包含 其他预处理指令 写在最后 前言 本篇接前一篇【C语言篇】编译和链接以及预处…...
利用Llama2 7b自己实现一套离线AI
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家, 可以当故事来看,轻松学习。 离了 ChatGPT 本人简直寸步难行,今天 ChatGPT 大面积宕机,服务直到文章写作&am…...
Ciallo~(∠・ω・ )⌒☆第十七篇 Ubuntu基础使用 其一
Ubuntu是一种基于Linux的操作系统,它是开源的、免费的,并且具有广泛的用户群体。 基本文件操作:Ubuntu使用命令行工具来进行文件操作。以下是一些常用的命令: 切换到用户主目录: cd ~ 切换到上级目录: cd .…...
Linux-零拷贝技术
什么是零拷贝? 在传统的数据传输过程中,数据需要从磁盘读取到内核空间的缓冲区,然后再从内核空间拷贝到用户空间的应用程序缓冲区。如果需要将数据发送到网络,数据还需要再次从用户空间拷贝到内核空间的网络缓冲区。这个过程涉及…...
小区团购管理
TOC springboot254小区团购管理 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用&…...
图像文本擦除无痕迹!复旦提出EAFormer:最新场景文本分割新SOTA!(ECCV`24)
文章链接:https://arxiv.org/pdf/2407.17020 git链接:https://hyangyu.github.io/EAFormer/ 亮点直击 为了在文本边缘区域实现更好的分割性能,本文提出了边缘感知Transformer(EAFormer),该方法明确预测文…...
Codeforces Round 966 (Div. 3)(A,B,C,D,E,F)
A. Primary Task 签到 void solve() {string s;cin>>s;bool bltrue;if(s.size()<2)blfalse;else{if(s.substr(0,2)"10"){if(s[2]0)blfalse;else if(s[2]1&&s.size()<3)blfalse; }else blfalse;}if(bl)cout<<"YES\n";else cout…...
【代码随想录算法训练营第42期 第六天 | LeetCode242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和】
代码随想录算法训练营第42期 第六天 | LeetCode242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和 一、242.有效的字母异位词 解题代码C: bool isAnagram(char* s, char* t) {int len1 strlen(s);int len2 strlen(t);int al[26] {0};int b…...
WebRTC音视频开发读书笔记(一)
一、基本概念 WebRTC(Web Real-Time Communication,网页即时通信)于2011年6月1日开源,并被纳入万维网联盟的W3C推荐标准,它通过简单API为浏览器和移动应用提供实时通信RTC功能。 1、特点 跨平台:可以在Web,Android、…...
llama3.1本地部署方式
llama3.1 资源消耗情况 Llama 3.1 - 405B、70B 和 8B 的多语言与长上下文能力解析  70B版本,FP1616K token需要的资源约为75G;FP16128K token需要的资源约为110G  1、ollama ollama工具部署及使用…...
相机光学(三十四)——色差仪颜色观察者视角
1.为什么会有观察者视角 颜色观察角度主要涉及到人眼观察物体时,视角的大小以及屏幕显示颜色的方向性对颜色感知的影响。 人眼观察物体的视角:在黑暗条件下,人眼主要依靠杆体细胞来分辨物体的轮廓,而杆体细胞分布在视网…...
思二勋:web3.0是打造应对复杂市场敏捷组织的关键
本文内容摘自思二勋所著的《分布式商业生态战略》一书。 数字化时代,需要企业具备敏捷应对变化的能力,以敏捷反应应对客户和市场的迅速变化。敏捷能力的建设需要触点网络、信息系统、IT 架构、业务流程等同时实现敏捷。尤其是在多变且复杂环境中,特别要求战略管理的敏捷性和…...
一文带你快速了解——HAProxy负载均衡
一、HAProxy简介 1.1、什么是Haproxy HAProxy是法国开发者 威利塔罗(Willy Tarreau)在2000年使用C语言开发的一个开源软件是一款具备高并发(万级以上)、高性能的TCP和HTTP负载均衡器支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计。…...
【C++高阶】哈希—— 位图 | 布隆过滤器 | 哈希切分
✨ 人生如梦,朝露夕花,宛若泡影 🌏 📃个人主页:island1314 🔥个人专栏:C学习 ⛺️ 欢迎关注:👍点赞 👂&am…...
启发式算法之模拟退火算法
文章目录 1. 模拟退火算法概述1.1 算法起源与发展1.2 算法基本原理 2. 算法实现步骤2.1 初始化过程2.2 迭代与降温策略 3. 模拟退火算法的优化策略3.1 冷却进度表的设计3.2 参数调整与策略 4. 模拟退火算法的应用领域4.1 组合优化问题4.1.1 旅行商问题(TSPÿ…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...
