【CSS入门】第五课 - font字体
这一节,我们说一说font这个字体。做网页开发,网页中几乎不可能没有文字的,为了使网页更漂亮,用户体验更好。人们可算是绞尽脑汁,其中一部分就是在字体上下的大功夫。
接下来,我们学习一下,font字体在css中的设置
目录
1 浏览器默认字体是什么样的?
2 font-family
2.1 为什么要设置字体?
3 font-style
4 font-weight
5 字体大小 font-size
5.1 px
5.2 vw
5.3 rem
6 最后
1 浏览器默认字体是什么样的?
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>我的第一个网页</title><link rel="stylesheet" type="text/css" href="./css/index.css" /></head><body><div class="box">我们来学习一下字体</div></body>
</html>
我们就写了一个标签,什么样式也没有。那么我们看一下,他的大小,色值,和字体都是什么样子的呢?
想要测试这3种属性值,我们对应着添加一些属性看看不就可以了,对吧。
其实你可以自己测试一下,
- 文字大小默认是16px;
- 色值是 黑色,色值是 #000;
- 默认字体是 Microsoft YaHei
也就是这样:
.box {font-size: 16px;font-family: Microsoft YaHei;color: #000;
}
你可以试着改变一下这些属性值,然后再修改回来,然后再删掉,如果你是windows电脑,应该就是这样子的。
2 font-family
我们在做网站开发的时候,很多公司为了彰显企业文化,会自己设计一些字体,或者用一些免费的其他人设计出来的字体。
通过修改font-family的属性值,就可以使文字看上去,字体有所改变:
.box {font-size: 16px;font-family: "隶书";color: #000;
}
是不是不太一样了,你还可以试着从网上找找其他字体,或者从自己的电脑的word文档里,看看你电脑上安装的其他字体,看看效果。
2.1 为什么要设置字体?
既然不设置字体,网页也会有个默认的显示,那么为什么还要设置这个font-family呢?很多电脑,他的默认字体不定都是这个 英文的微软雅黑,甚至如果你用了中文的“微软雅黑”,还会受到某公司的侵权投诉,这个中文版的是有版权的,不能乱用。
而且,你看很多人的手机字体,还是非主流那种的,或者各种各样的,所以,需要设置一个默认字体,使其生效。这样,网站就会无论在哪种机型环境下,字体都显示的风格统一了。
3 font-style
通过设置font-style,可以使字体倾斜起来,就像我们之前说的 i 标签一样。
.box {font-size: 16px;font-family: Microsoft YaHei;color: #000;font-style: italic;
}
倾斜是使用 font-style: italic; 来设置的,默认不倾斜的属性值是 normal
4 font-weight
font-weight呢,是来设置文字的粗细程度的。比如你可以设置属性值为: 300 400 600 normal bold lighter 等,就像这样:
.box {font-size: 16px;font-family: Microsoft YaHei;color: #000;font-style: italic; font-weight: bold;
}
5 字体大小 font-size
5.1 px
font-size 呢,我们刚才说默认是16px的大小,对吧。这个像素呢,是根据我们屏幕宽度来设定的,比如之前,人们的屏幕分辨率是 1024 * 768,那么我们设置一个文字的大小如果是100px,那差不多就是占 十分之一 个屏幕的宽度了,这个时候,一行也就是放10个字就占满了。
那么现在很多人屏幕是1920的宽度,那如果设置以为100px的文字,那可能就可以放19个才能占满一行了。
5.2 vw
vw呢,是一个相对于浏览器宽度的相对大小设置。什么是相对大小呢,就是我们的浏览器宽度大一些,1vw就大一些,浏览器宽度小一些,1vw就想对小写。
你可以这样设置:
.box {font-size: 2vw;font-family: Microsoft YaHei;color: #000;
}
然后你可以试着缩放浏览器,让浏览器宽一些,后者收窄一些,试试文字跟着改变大小的效果。
5.3 rem
rem呢,他其实并不是一个相对单位,但我们可以做成自适应的可变的相对单位。
怎么理解呢?我们先来看一下他怎么用
html {font-size: 62.5%;
}
.box {font-size: 1.6rem;font-family: Microsoft YaHei;color: #000;
}
- 使用方法呢,就是给根元素设置font-size: 62.5%;什么是根元素?就是html标签。
- 然后我们日常开发的标签们,默认不是16px嘛,这里的1.6rem就是16px大小了。你可以拿着这段代码,去自己的电脑上试一下。
- 如果需要设置为24px,那么就直接写2.4rem就可以了。
那么如何达到响应式的呢?这说白了不还是多少多少像素嘛?
可以检测浏览器的宽度嘛,我们默认一个浏览器宽度,比如移动端开发的时候,默认成750的宽度,你的屏幕如果检测到大于750,直接把这个html标签的这个百分比调整了,整体的字体不就改变了。
当然,这涉及到后面的JS相关知识,我们也是先了解一下。不过你可以提前先给html标签的这个百分比改一下,看看效果。给后面的JS学习打个基础。
6 最后
我们这一节,说了font这个字体的一些设置,后面呢说了3种常用的设置字体大小的方式。其实字体大小还有其他的设置,不过你先掌握了这3种,几乎就可以应对90%的工作了。
而且如果这3种熟练了,自学其他的em啦,%(百分比)啦,rpx啦,就手到擒来了。
相关文章:

【CSS入门】第五课 - font字体
这一节,我们说一说font这个字体。做网页开发,网页中几乎不可能没有文字的,为了使网页更漂亮,用户体验更好。人们可算是绞尽脑汁,其中一部分就是在字体上下的大功夫。 接下来,我们学习一下,font…...

STM32-门电路-储存器-寄存器-STM32f1-MCU-GPIO-总线-keil5-点led-寄存器编程
1、门电路 门电路组成简单加法器: 二进制对电路的影响: 0和1代表无和有; 以下图例,演示与门:左1右1输出1; 电平标准:使用不同的电压表示数字0和1; 高电平:1࿱…...

【动态规划算法题记录】343. 整数拆分 | 96.不同的二叉搜索树
整数拆分 题目🔗 题目描述 给定一个正整数 n ,将其拆分为 k个正整数的和(k > 2),并使这些整数的乘积最大化。 返回你可以获得的最大乘积 。 思路分析 dp数组含义:dp[i]表示整数i拆分后的最大乘积。…...

网页上预览Excel文件
如何运行: 需要发布在服务器 如Tomcat 实例图片: 需要展示的文件: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>excel预览</title><link rel"stylesheet" href"…...

Unity射击游戏开发教程:(31)制造一定追踪行为的敌人
在本文中,我们将介绍如何在两种敌人行为之间切换。本文是前两篇文章的延续,分别介绍了敌人躲避玩家射击以及敌人不断旋转并向玩家射击的情况。我只是介绍如何在这两种行为之间进行转换。 这种新的敌人行为的目标: 当不开火时,敌人可以躲避玩家的射击。射击时,敌人无法躲避…...

springboot mybatis plus 固定查询条件及可选查询条件的组合查询,使用QueryWrapper.and()来解决。
1、我们在写查询SQL的时候,经常会碰到,比如,同一个类别下的某一个编号的物料信息,或者是同一批次的物料库存问题等等。 所属类别fid物料编号bm物料批次pc110.01.0220240807110.01.0320240807 210.02.0120240805 2、那么我…...
使用ollama取代openai的api进行graphRAG失败记录
pip install ollama pip install langchain_ollama graph_documents llm_transformer.convert_to_graph_documents(split_documents) print(graph_documents) 偶尔会成功,但是大部分是失败的: 报错记录如下,暂时没想到好的办法ÿ…...

MyBatis 配置与测试方式
目录 一,什么是MyBatis 二,准备工作 创建项目 配置数据库连接 持久层代码 单元测试 一,什么是MyBatis 简单来说,MyBatis 是一款优秀的持久层框架,用于简化JDBC的开发,能更简单完成程序与数据库之间…...
C#实现代理服务器
在C#中实现一个简单的代理服务器,可以使用System.Net.Sockets命名空间下的TcpListener类来监听客户端的连接请求,并使用TcpClient来处理与客户端的通信。以下是一个简单的代理服务器示例: using System; using System.IO; using System.Net;…...
react的路由实战使用
环境配置:vitetsreact18 1、安装包 npm i react-router-dom 2、 根路由配置以及路由挂载 a、在src下面创建router文件夹配置简单的路由信息: router/index.tsx import { createBrowserRouter } from "react-router-dom"; import UserLogin…...
python 字典转成类 构建类
目录 python 字典转成类 复杂嵌套示例: 动态实例化类 太好用了! python 字典转成类 class DictToClass:def __init__(self, dictionary):for key, value in dictionary.items():if isinstance(value, dict):# 如果值是字典,递归转换为类的实例setattr(self, key, DictToC…...

springboot 过滤器
1、过滤器的实现 springboot中过滤器通过实现接口Filter并重写init、doFilter、destroy三个方法。在三个方法中加入自己的业务逻辑处理。 【注意】Filter接口的完整包名在不同的jdk版中中的变化。这里示例中使用的版本为 open-jdk17。完整名称 jakarta.servlet.Filter。如果使…...

【C语言篇】深入理解指针1
文章目录 内存和地址内存编址 指针变量和地址取地址操作符指针变量和解引用操作符指针变量指针变量类型解引用操作符指针变量的大小 指针变量类型的意义指针的解引用指针-整数void*指针 const修饰指针指针运算指针-整数指针-指针指针的关系运算 野指针野指针成因如何规避野指针…...
IAP程序升级 与 电脑BIOS 的关系
IAP (In-Application Programming) 程序升级 IAP程序升级是一种技术,允许设备在运行过程中更新其自身的固件或软件,而不需要外部工具或设备的介入。这种技术特别适用于嵌入式系统和物联网(IoT)设备。其主要由三部分构成࿰…...
Java使用MQTT协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种轻量级的、基于发布/订阅模式的物联网通信协议。它构建于TCP/IP协议之上,由IBM在1999年发布。MQTT的主要特点包括: 轻量级与高效:M…...
等级+时间的优先级算法
简介 本算法为等级与时间结合计算对应优先级逻辑 等级越高者优先级越高 同等级下,时间越小者优先级越高 实现 主方法 calculatePriority import com.zk.blog.enums.TypeEnum; import org.apache.commons.lang3.StringUtils;/*** program: * description:* autho…...

物流仓库安全视频智能管理方案:构建全方位、高效能的防护体系
一、背景分析 随着物流行业的快速发展和仓储需求的日益增长,仓库安全成为企业运营中不可忽视的重要环节。传统的人工监控方式不仅效率低下,且难以做到全天候、无死角覆盖,给仓库资产和人员安全带来潜在风险。因此,引入仓库安全视…...
jackson反序列化漏洞
jackson反序列化漏洞 反序列化漏洞触发根因jackson介绍jackson反序列化漏洞关键点enableDefaultTypingactivateDefaultTypingJsonTypeInfo 漏洞触发场景漏洞复现环境引入依赖pocactivateDefaultTypingenableDefaultTypingJsonTypeInfo 参考 很久没写blog,最近慢慢开…...

Java | Leetcode Java题解之第328题奇偶链表
题目: 题解: class Solution {public ListNode oddEvenList(ListNode head) {if (head null) {return head;}ListNode evenHead head.next;ListNode odd head, even evenHead;while (even ! null && even.next ! null) {odd.next even.nex…...

100 Exercises To Learn Rust 挑战!准备篇
公司内部的学习会非常活跃!我也参与了Rust学习会,并且一直在研究rustlings。最近,我发现了一个类似于rustlings的新教程网站:Welcome - 100 Exercises To Learn Rust。 rustlings是基于Rust的权威官方文档《The Rust Programming…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
js 设置3秒后执行
如何在JavaScript中延迟3秒执行操作 在JavaScript中,要设置一个操作在指定延迟后(例如3秒)执行,可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法,它接受两个参数: 要执行的函数&…...

【Qt】控件 QWidget
控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态:enabled几何:geometrywindows frame 窗口框架的影响 窗口标题:windowTitle窗口图标:windowIconqrc 机制 窗口不透明度:windowOpacity光标:cursor…...