您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > CSS

搞懂CSS 字体单位

时间:2019-08-12 13:42:03  来源:  作者:

 

对于绘图和印刷而言,「单位」很相当重要的,然而在网页排版里,单位也是同样具有重要性,在css3 普及以来,更添加了一些方便好用的单位( px、em、rem.. .等),这篇文章将整理这些常用的CSS 单位,希望能够帮助到你在工作上能使用的更加得心应手。

「网页」和「印刷」的单位

目前我们接触的范围来说,若要把单位做区分,最简单可以分为「网页」和「印刷」两大类,通常对于CSS来说只会应用到网页的样​​式,毕竟真正要做印刷,还是会倾向通过排版软体来进行设计

网页( 单位 )

  • px:绝对单位,代表屏幕中每个「点」( pixel )。
  • em:相对单位,每个子元素通过「倍数」乘以父元素的px值。
  • rem:相对单位,每个元素通过「倍数」乘以根元素的px值。
  • %:相对单位,每个子元素通过「百分比」乘以父元素的px值。

网页( 属性名称 )

  • medium:预设值,等于16px ( h4预设值)
  • xx-small:medium的0.6倍( h6预设值)
  • x-small:medium的0.75倍
  • small:medium的0.8倍( h5预设值,W3C定义为0.89,实测约为0.8 )
  • large:medium的1.1倍( h3预设值,W3C定义为1.2,实测约为1.1 )
  • x-large:medium的1.5倍( h2预设值)
  • xx-large:medium的2倍( h1预设值)
  • smaller:约为父层的80%
  • larger:约为父层的120%

印刷(简单了解下)

  • pt:印刷机的每个「点」,定义为1 pt = 1/72 in,如果在72 dpi的系统上1 px = 1 pt,但如果在96 dpi的系统上1 px = 0.75 pt ( 72 /96 = 0.75 )。
  • in:英寸,在96 dpi的系统上1 in = 96 px。
  • cm:厘米,在96 dpi的系统上1 cm = 37.795275593333 px。
  • mm:毫米,在96 dpi的系统上1 mm = 3.7795275593333 px。

示例展示

以下将展示四种不同单位的示例,为了直观简单,四个示例都套用预设的div格式,纯粹改变font-size看看有何不同,由于子元素若没有设定font-size,会自动继承父元素的font-size,使用上就应该要预先初始化字体大小,下面这两段CSS可以将所有的元素字体大小预设为16px,接下来可以进行个别调整。

html{
 font-size:16px;
}
html * {
 font-size: 1rem;
}

1、px

px 是绝对单位,因此只要设定多少px,就会精确的呈现,对于一些讲求精准位置的排版而言十分有用,如示例展示的,指定多大 px 字体就会多大。

<div style="font-size:16px;">16px
 <div style="font-size:20px;">20px
 <div style="font-size:24px;">24px
 <div style="font-size:16px;">16px
 <div style="font-size:32px;">32px</div>
 </div>
 </div>
 </div>
</div>
搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

2、em

em是相对单位,为每个子元素通过「倍数」乘以父元素的px值,如果我们每一层div都使用1.2em,最内层就会是16px x 1.2 x 1.2 x 1.2 x 1.2 x 1.2 = 39.8px。(浏览器预设字体大小为16px,若无特别指定则会直接继承父元素字体大小)

<div style="font-size:1.2em;">1.2em
 <div style="font-size:1.2em;">1.2em
 <div style="font-size:1.2em;">1.2em
 <div style="font-size:1.2em;">1.2em
 <div style="font-size:1.2em;">1.2em</div>
 </div>
 </div>
 </div>
</div>
搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

3、rem

rem是相对单位,为每个元素通过「倍数」乘以根元素的px值,如果我们每一层div都使用1.2rem,最内层就会是16px x 1.2 = 19.2px。(根元素指的是html的font-size,预设为16px )。

<div style="font-size:1.2rem;">1.2rem
 <div style="font-size:1.2rem;">1.2rem
 <div style="font-size:1.2rem;">1.2rem
 <div style="font-size:1.2rem;">1.2rem
 <div style="font-size:1.2rem;">1.2rem</div>
 </div>
 </div>
 </div>
</div>
搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

4、%

%百分比是相对单位,和em大同小异,简单来说em就是百分比除以一百,如果我们每一层div都使用120%,就等同于1.2em,最内层就会是16px x 1.2 x 1.2 x 1.2 x 1.2 x 1.2 = 39.8px。

<div style="font-size:120%;">120%
 <div style="font-size:120%;">120%
 <div style="font-size:120%;">120%
 <div style="font-size:120%;">120%
 <div style="font-size:120%;">120%</div>
 </div>
 </div>
 </div>
</div>
搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

5、small、medium、large...等

字体大小的属性有七种,分别是xx-small、x-small、small、medium、large、x-large和xx-large,除了x-small,其余六种分别对应h6~h1的标签文字大小,根据W3C的规范,以medium预设16px为基础(若html字体预设大小改变,medium也会跟着变),使用固定的百分比乘以medium的大小,例如ss-small预设为16px x 0.6 = 9.6px(浏览器显示为12px )。

搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

<div style="font-size:xx-small;">xx-small
 <div style="font-size:x-small;">x-small
 <div style="font-size:small;">small
 <div style="font-size:medium;">medium
 <div style="font-size:large;">large
 <div style="font-size:x-large;">x-large
 <div style="font-size:xx-large;">xx-large</div>
 </div>
 </div>
 </div>
 </div>
 </div>
</div>
搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

6、larger、smaller

larger 和smaller 就是固定百分比为单位,larger 为父层的120%,smaller 为父层的80%。

<div style="font-size:medium;">medium
 <div style="font-size:larger;">larger
 <div style="font-size:larger;">larger
 <div style="font-size:larger;">larger
 <div style="font-size:smaller;">smaller
 <div style="font-size:smaller;">smaller
 <div style="font-size:smaller;">smaller</div>
 </div>
 </div>
 </div>
 </div>
 </div>
</div>
搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

小结

搞懂CSS 字体单位没这么难:px、em、rem 和 %

 

熟悉了字体大小单位之后,你就更够能有系统的进行设计整个网站的CSS字体架构,不过font-size 本身和font-family 有着一些复杂的关系,不同的font-family 有时也会影响font-size 的设定,因此使用上还是得稍微注意一下啰!



Tags:CSS字体   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
对于绘图和印刷而言,「单位」很相当重要的,然而在网页排版里,单位也是同样具有重要性,在CSS3 普及以来,更添加了一些方便好用的单位( px、em、rem.. .等),这篇文章将整理这些常...【详细内容】
2019-08-12  Tags: CSS字体  点击:(220)  评论:(0)  加入收藏
▌简易百科推荐
Chrome 正在试验 CSS @container 查询器功能,这是由 Oddbird 的 Miriam Suzanne 和一群网络平台开发者支持的 CSS 工作组 Containment Level 3 规范。@container 查询器使我...【详细内容】
2021-12-23  前端晚间课    Tags: CSS   点击:(8)  评论:(0)  加入收藏
CSS选择器很强大下面是我在工作中使用最多的一些选择器:相邻元素, 英文称为sibling, 也就是兄弟姐妹的意思.其实很形象, 比喻两个dom是相邻的.但是邻居很多, 紧密相邻的, 还...【详细内容】
2021-12-23  不只是个小前端    Tags:CSS选择器   点击:(6)  评论:(0)  加入收藏
这篇文章重点介绍一些强大的 CSS 代码片段,用它们可以执行一些繁重的布局编程工作,还能帮助我们构建强大的新式CSS布局。这里我们会介绍10 种新式 CSS 布局和大小调整技术,突出...【详细内容】
2021-12-21  前端晚间课    Tags:CSS   点击:(9)  评论:(0)  加入收藏
CSS框架提供了设计一致解决方案的基本结构,以解决前端web开发中的常见问题。它们提供了通用功能,可以针对特定场景和应用程序进行覆盖。这大大减少了开始创建应用程序和网站所...【详细内容】
2021-12-06  粤嵌教育    Tags:v   点击:(15)  评论:(0)  加入收藏
作者:前端进阶者来源:前端进阶学习交流一、前言 我们经常在网页上 ,游戏界面加载时会看到加载进度条的效果,我们往往会以为这些加载进度条的效果,很难实现。今天教大家JS+CSS结合...【详细内容】
2021-11-05  Nodejs开发    Tags:CSS   点击:(45)  评论:(0)  加入收藏
<template> <div> <div class="triangle"></div> </div></template><style scoped> .triangle { width: 0; height: 0; border-width: 20px; border-styl...【详细内容】
2021-11-04  荣邦小伙917    Tags:css   点击:(40)  评论:(0)  加入收藏
一提起图标,大家可能第一个会想到PS、美工等词语,但很多小图标现在根本都不需要再打开PS了。1、常见的括号( 前进或后退“>” ).arrow{ width:12rpx; height:12rpx; border-...【详细内容】
2021-10-12  滇東小贰锅    Tags:css   点击:(55)  评论:(0)  加入收藏
在过去的几年里,Web开发已经变得非常流行。每年都会发布许多前端框架,Bootstrap一直是最受欢迎的一个,但是,还有许多其他的框架,你可能没有听说过,但绝对值得一试。想学的同学可以...【详细内容】
2021-09-27  粤嵌教育    Tags:CSS框架   点击:(74)  评论:(0)  加入收藏
水平和垂直对齐第一种方式 : grid + place-items .parent { display: grid; place-items: center; } /*注: place-items 是 justify-items 和 align-items 的简写属性 */...【详细内容】
2021-09-02  又菜又爱学习的程序员    Tags:CSS   点击:(84)  评论:(0)  加入收藏
5个有用的 CSS 布局生成器1、 cssgr.id如果你是前端开发人员,这是一个非常有用的网站。你可以首先指定所需的行数和列数,或者在给定的选项中进行选择,然后为其生成代码。这使你...【详细内容】
2021-08-26  程序员文周    Tags:css布局   点击:(144)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条