首页 > 其他分享 >零基础学前端之CSS字体和字号

零基础学前端之CSS字体和字号

时间:2023-02-03 18:00:33浏览次数:40  
标签:浏览器 元素 字号 字体 大小 font CSS size

为你的网站选择正确的字体,能够提高用户浏览网站的体验——恰当的字体可以为你的品牌创造一个强大的视觉标识。使用一种易于阅读的字体,比如为字体选择正确的颜色和文字大小,都是非常重要的。(做后期时,此处根据文案,放置一些有漂亮字体的网页,logo 什么的)

我们首先来了解如何设置字体。(此时字体两个字高亮)

在 CSS 中,我们使用 font-family 属性来指定一个文本的字体。属性值是一个字体的名称。

字体都有哪些名称呢?要回答这个问题,就需要了解一下字体的知识了。

在 CSS 中,英文字体有五类:

第一类,Serif[ˈserɪf]:有衬线字体,在每个字母的边缘都有一个小笔划。它们创造了一种正式和优雅的感觉。比如:Times New Roman[ˈrəʊmən],Georgia[ˈdʒɔːdʒə],Garamond 。(此时需要展示字体的样子)

零基础学前端之CSS字体和字号_中文字体

零基础学前端之CSS字体和字号_中文字体_02

第二类,Sans-serif:无衬线字体,有干净的线条,也就是不附带小笔画。它们创造了一种现代和简约的外观。比如 Arial,Verdana,Helvetica。这个 Helvetica 字体还被拍成了一步电影——《传奇字体 Helvetica》。

零基础学前端之CSS字体和字号_中文字体_03

零基础学前端之CSS字体和字号_html_04

第三类,Monospace:单空格字体,这里所有的字母都有相同的固定宽度,因此又叫等宽字体,它们创造了一种机械的外观。一般我们在代码编辑器中会使用这些字体。比如 Courier New,Lucida Console,Monaco。

零基础学前端之CSS字体和字号_中文字体_05

第四类,Cursive:草书字体,模仿人类的手写体。比如 Brush Script MT,Lucida Handwriting。

零基础学前端之CSS字体和字号_CSS_06

第五类,Fantasy:幻想字体,是装饰性、娱乐性字体。比如 Copperplate,Papyrus

零基础学前端之CSS字体和字号_html_07

相对于英文字体,你可能更熟悉中文字体。在 CSS 中,中文字体名称都有哪些呢?

在中文的网站中,比较通用的中文字体有两个:Microsoft Yahei,微软雅黑;PingFang SC,苹方简。分别应用于 Windows 系统和 Mac 系统。

这里你可能会问,中华文化博大精深,中文字体也琳琅满目,怎么只用这两个字体呢?因为在CSS里设置的字体名称,得需要用户的电脑里存在这个字体。如果你想使用任意的字体,我们在后面的课程里给你答案。如何查看自己的电脑里都安装了什么字体呢?

以 chrome 浏览器为例,点击这个图标,再点击设置,选择外观,自定义字体。这里有标准字体、有衬线字体、无衬线字体、等宽字体的设置。点击任何一个下拉框,就能看到自己电脑里的字体了。

我们来做个例子。

创建一个文件夹 006-css-fonts,在文件夹里创建一个 font-family-size.html 文件,构建基本代码,添加 h1,h3,p 三个元素,分别填入一些文本。

再创建一个 mystyle-1.css 文件,定义 h1 选择器,声明样式 font-family: PingFang SC。定义 h3 选择器,声明样式 font-family: Copperplate。定义 p 选择器,声明样式 font-family: 华文仿宋。

再次强调,这里的字体名称,一定要在网页浏览者自己的电脑里存在才可以生效!

在页面里引入样式文件。

在浏览器中预览页面,标题和段落都应用了不同的字体。

你可能会问,我在CSS里设置的字体名称,一旦用户的电脑里没有怎么办?我们可以给他定义几个样式备选。

比如,h3 的 Copperplate,假设用户的电脑里不存在,可以在前面再添加一个 Brush Script MT 字体,用逗号分隔开。

我们看,文字应用了 Brush Script MT 字体。

假设这个字体也不存在,在前面再添加一个字体 Courier New。

我们再看,文字应用了 Courier New 字体。

这说明,先定义的字体优先起作用。如果定义的字体用户电脑里都不存在,浏览器就使用默认字体了。当然,默认字体也可以自定义设置。

一般情况下,多个单词名称的字体,推荐使用单引号或者双引号引起来。

接下来,我们来给字体设置字号。

文本字号,也就是文本的大小,在网页设计中是很重要的,它可以使网页文字布局有层次感,便于阅读,增强用户体验。

在 CSS 中,通过 font-size 属性设定文本的大小。属性值可以是绝对大小,也可以是相对大小。

绝对大小。将文本设置为指定的大小,不允许用户在所有的浏览器中改变文字的大小。

举个例子,如果我视力不佳,把浏览器的字号设置的比较大时,页面的字号会同比放大。

在 p 元素上声明样式 font-size: 20px。

这里需要提示一下:如果不指定字体大小,正常的文本,比如段落,会继承祖先元素的大小,如果祖先元素没有设置字体大小,就会使用浏览器设置的默认字号,大小为16px。

回到浏览器,你会发现,无论用户把浏览器的字号设置为多大,段落的文字始终都是 20 像素。

这难道告诉我们,不要把元素的大小设置为绝对值吗?当然不是了,当页面输出的物理尺寸已知时,绝对大小是很常用的。那相对大小如何设置呢?

相对大小,也就是相对于周围元素的大小,使用 em 这个单位来设置。一般情况下,会根据继承下来的父元素尺寸计算得到。

比如,这个页面的 p 元素的父元素是 body,我们给 body 声明 font-size 为 16px,给 p 元素声明 font-size 为 2em。转化为绝对大小为 2 乘以 16px 等于 32px。

在浏览器里观察结果,用尺子量一下,果然是 32 像素!

假如在 body 元素里没有声明 font-size,p 元素文字大小就相对于浏览器默认的字号——也就是 16 px。所以,2em 大小还是 32px。

在浏览器里验证一下,字体大小果然没有发生变化!

当我们调整浏览器的字号时,段落的文本变大了!

这说明,相对单位允许用户在浏览器中改变文本大小。

除了em,还可以使用百分比 (%) 这个单位,它是相对于父元素的大小来计算文本尺寸的。使用方法和效果与 em 类似。

比如定义 p 元素的 font-size 为 200%。

此时,段落文字的大小依然是 32 像素。

刚才我们提到,em 表示的文本大小,是根据继承下来的父元素大小计算得到的。如果元素嵌套层数太多,父元素 font-size 的值也用 em 来设置,父元素的父元素 font-size 的值还是用 em 来设置,这样计算起来就比较麻烦了。有没有更好的解决方案呢?

答案就是:使用 rem 这个相对单位。rem,全称是 Relative to the root element,相对于根元素。这样,我们就不用像 em 那样,计算那么多祖先元素的大小了。

那么,html 文档哪个元素是根元素呢?

没错,就是 html 元素,

在样式里,定义 html 元素,声明样式 font-size: 16px。注释上一个代码,声明 font-size 属性,值为 2rem。

查看效果,段落文字的大小仍然为 32 像素。


标签:浏览器,元素,字号,字体,大小,font,CSS,size
From: https://blog.51cto.com/u_14573321/6035984

相关文章

  • CSS 实现文本装饰效果
    使用CSS实现文本装饰效果主要有以下几种方式:text-shadow:为文本添加阴影效果。text-decoration:为文本添加下划线、删除线、上划线等装饰效果。letter-spacing:调......
  • html+css部分复习-cnblog
    HTML+CSS部分复习(蓝桥杯参考)0.考前准备插件安装设置:文件自动格式化1.web标准结构(HTML)表现(CSS)行为(js)2.前端插件安装3.img的border属性属性值:数......
  • [oeasy]python0072_修改字体前景颜色_foreground_color_font
    修改颜色回忆上次内容m可以改变字体样式0-9之间设置的都是字体效果0重置为默认1变亮2变暗3斜体4下划线5慢闪6快闪7前景背景互换8隐藏9中划......
  • CSS transform 属性
    transform属性是CSS中一个用于转换元素形状、大小和位置的属性。它允许开发人员对元素进行以下转换:平移(translation)缩放(scale)旋转(rotation)拉伸(skew)矩......
  • Nginx配置tomcat负载均衡,解决css样式丢失问题
    Nginx配置tomcat负载均衡,解决css样式丢失问题增加location~.*即可http{upstreamgzf{ip_hash;server192.168.2.171:8380;server192.1......
  • CSS-@规则(At-rules)常用语法使用总结
    At-rules规则是目前CSS中一种常见的语法规则,它使用一个"@"符号加一个关键词定义,后面跟上语法区块,如果没有则以分号结束即可。这种规则一般用于标识文档、引入外部样式、条......
  • Spring boot 无法加载css样式,image解决办法
    Springboot无法加载css样式,image解决办法 最近在给公司做一个系统,使用了springboot框架,同时也遇到了一些大坑在网上找到了一个好看的模版的,(非前后端的分......
  • CSS系列学习笔记(二)
    font文字: font-size可以控制文字的大小后面可以放入像素(比较精准)如果未来去做网页的时候那么就使用工具量一下像素然后写上就可以了medium默认样式中等的合适的相对......
  • css 实现二维码扫描效果
    <!DOCTYPEhtml><html><head><metacharset="utf-8"><title>css3-scanner</title><style>.qr-scanner{positi......
  • 零基础学前端之CSS选择器的权重
    在前面,我们学习了样式表引入的优先级判断。如果多个选择器都来修饰同一个元素,优先级又该如何判断呢?我们来看一个例子。<!DOCTYPEhtml><htmllang="en"><head><metachars......