当前位置: 首页 > Web前端 > HTML5

一下子了解CSS字体单位:px、em、rem和%

时间:2023-04-05 18:42:07 HTML5

对于绘图和打印来说,“单位”很重要,但在网页排版中,单位也很重要。由于CSS3的流行,更多地支持了一些方便易用的单位(px、em、rem等),本文将对这些常用的CSS单位进行梳理,帮助自己以后更加得心应手。如果要把“网页”和“打印”的单位分开,最简单的可以分为“网页”和“打印”两类。通常,对于CSS,它只会应用于网页的样式。印刷仍倾向于使用排版软件进行设计。网页(单位)px:绝对单位,代表屏幕上的每个“点”(像素)。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%左右large:父层的120%左右printpt:打印机的每个“点”,定义为1pt=1/72In,1px=1pt如果在72dpi系统上,但1px=0.75pt(72/96=0.75)如果在96dpi系统上。英寸:英寸,在96dpi系统上1英寸=96像素。cm:厘米,在96dpi系统上1cm=37.795275593333px。mm:毫米,在96dpi系统上1cm=3.7795275593333px。示例展示下面将展示四种不同单位的示例。为了公平起见,四个例子都采用了默认的div格式。改一下font-size就可以看出区别了,因为如果子元素没有设置font-size,会自动继承父元素的font-size,使用前要先初始化font-size。下面两段CSS可以将所有元素的字体大小预设为16px,然后分别进行调整。html{font-size:16px;}html*{font-size:1rem;}1.pxpx是一个绝对单位,所以只要你设置px的个数,它就会准确显示,这对于一些强调精确位置的排版非常有用,如例子所示,字体大小会一样大作为指定的像素。16px20px24px16px32px

2.emem是一个相对单位,对于每个child元素通过“乘数”乘以父元素的px值。如果我们为每层div使用1.2em,则最内层将为16pxx1.2x1.2x1.2x1.2x1.2=39.8px。(浏览器默认字体大小为16px,如果不指定,将直接继承父元素的字体大小)1.2em1.2em1.2em1.2em1.2em3.remrem是一个相对单位,每个元素乘以“倍数”乘以根元素的px值,如果我们每层div使用1.2rem,那么最内层就是16pxx1.2=19.2px。(根元素是指html的font-size,默认为16px)1.2rem1.2rem1.2rem1.2rem1.2rem4.%%百分比是一个相对单位,类似于em。简单地说,em是一个百分比除以一百。如果我们每层的div%使用120,相当于1.2em,那么最内层就是16pxx1.2x1.2x1.2x1.2x1.2=39.8px。120%120%120%120%120%5.Small,medium,large...字体大小属性一共有七种,分别是xx-small,x-small,small,medium,large,x-large,xx-large,除了x-small,其他六个分别对应h6~h1的标签文字大小,根据W3C规范,基于预设的mediumsize16px(如果改变html字体的默认大小,medium也会随之改变),使用a固定百分比乘以medium的大小,例如ss-small默认是16pxx0.6=9.6px(浏览器显示的是12px)。xx-smallx-small中号大号x-大号xx-large6.large,smallerlarger,smaller是固定的百分比为单位,large是父层的120%,smaller是父层的80%。中号大号大号更大更小更小更小总结熟悉字体大小单位后,就可以系统地设计整个网站的CSS框架,但是font-size本身和font-family有一些复杂的关系,不同的font-family有时也会影响到font-size的设置,所以在使用的时候还是要注意一下!