css字体单位

  今天我们就来看一下css中的字体单位。或者你会说,不看不知道,一看吓一跳,原来css有那么多的字体单位啊,虽然有一些我们很少用,或者说没用过,但,,,它就在那里。一起去看一看吧。

  css中的字体单位主要分为两种类型:绝对长度单位和相对长度单位。

   1.绝对长度单位所谓绝对长度单位就是说它是一个固定值,它反映的是一个实实在在的物理尺寸,说多大就是多大,绝对长度单位不依赖于环境(显示器、分辨率、操作系统等。绝对长度单位分为以下几种:

   cm:厘米

     mm:毫米

   in:英寸(1in = 96px =72pt= 2.54cm)

     px:pixel 像素  (1px =1/96in)

     pt:  point  大约1/72英寸(1pt = 1/72pt)

     pc:  pica   大约6pt,也就是1/12英寸

   px,表示pixel,称为像素,像素的大小随用户显示器的大小和像素深度而变。一个像素等于屏幕上一个点的高度/宽度,是屏幕上显示的最小单位。这个度量单位最适合显示器,BUT! pc端使用px倒也无所谓,可是在移动端,因为手机分辨率种类颇多,不可能一个个去适配,这时px就显得非常无力。

    pt,表示point,来源于打印设计,是印刷行业常用单位,叫“磅”,等于1/72英寸。pt是一个标准的长度单位,最适合于印刷,但也常用于用户显示器。

  在Windows系统中,px和pt的使用区别,只有当用户改变默认的96DPI下才会产生。使用px定义文字,无论用户怎么设置,都不会改变大小;使用pt定义文字,当用户设置超过96DPI的值,数值越大,字体就越大。附公式:px = pt * DPI / 72。那么什么是DPI呢?显示器的DPI(PPI)表示dot(pixel) per inch,即每英寸的点(像素)数,表示“清晰度”,“精度”,默认情况下为96DPI,但是我们是可以对此进行更改的,在桌面上点击右键,弹出快捷菜单>属性>setting>Advanced>General>DPI setting>96 DPI

  在浏览网页过程中,所有的“大”“小”概念,都是基于“屏幕”这个“显示界面”上。“屏幕”上的各种信息,包括文字、图片、表格等等,都会随屏幕的分辨率变化而变化。在不同分辨率下,无论是px还是pt,屏幕上的各种信息都会改变大小。所以,基于这种现实情况,如果想要让某个字体,在所有用户面前呈现的效果是一样的,几乎是不可能的,

 

  2.相对长度单位:当我们利用相对长度单位定义字体的大小时,字体的大小不是绝对的,而是相对于某一个参照而言的。相比于绝对长度单位,相对长度单位也更适用于不同的显示器。相对长度单位包括我们最常见的em和rem。除此之外,相对长度单位还有vh ,vw,vmax,vmin,ex,ch,百分比。

  1??em  在我们设置字体的时候,它的大小是以父级为参照的,下面我们来用一个例子来进行说明:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<style type="text/css">
    .div1{
        font-size:20px;
    }
    .div2{
        margin-top:20px;
        font-size:1.5em;
    }
</style>
<body>
    <div class="div1">
        <span id="">我是父级元素</span>
        <div class="div2"><span>我是子集元素</span></div>
    </div>
</body>
</html>

运行结果如下:

说明:第一行文字大小为20px,第二行文字现在的字体大小现在显示的是30px,我们刚才说过em是相对于父级,那么此时,1.5em = 1.5*20 = 30px;

  2??rem    作为css3新增的相对单位rem引起业界的广泛关注。虽然它与em一样都是对长度单位,但是,它却比em更好用。为什么这么说呢?rem在我们设置字体大小的时候,它的参照物是相对于HTML根元素的,也许你会说,这有什么了不起,不就是参照物不一样么,它还是相对长度单位。虽然em是靠爹的,但没有办法,rem确实是比它更方便。这话不是没有依据的,em相对父级,可是当我们比较多的一层一层去嵌套的时候,真的是着实让人头疼。但是rem就不一样了,它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应

  下面我们举一个简单的例子来说一下rem的具体用法:  

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<style type="text/css">
    html{
        font-size:20px;
    }
    .div1{
        font-size:1rem;
    }
    .div2{
        margin-top:20px;
        font-size:2rem;
    }
</style>
<body>
    <div class="div1">
        <span id="">我是父级元素</span>
        <div class="div2"><span>我是子集元素</span></div>
    </div>
</body>
</html>

运行结果:

解释一下,为什么设置为20px,首先10的倍数容易计算,那为什么不是10本身而是20?现在Chrome最小的字体是12px,所以10px是无效的,改变一下HTML的大小,真的可以成比例改变所有字体的大小哦,有木有很方便,默认情况下,html根元素字体大小一般为16px噢。

  3??vh :viewpoint height,翻译成汉语是视窗高度,1vh=视窗高度的1% 。当你以vh为单位时,字体的大小是会随着你屏幕窗口的高度而变化的。

  4??vw :viewpoint width,翻译成汉语是视窗宽度,1vw=视窗高度的1% 。当你以vw为单位时,字体的大小是会随着你屏幕窗口的高宽度而变化的。   

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<style type="text/css">
    h1{
        font-size:10vw;
    }
</style>
<body>
    <h1>vh为单位设置字体大小</h1>
</body>
</html>

现在我是这么大:

现在我是这么大,

  5??vmax 当字体单位设置为vmax时,表示此时的字体大小为当前页面显示时,vh和vw中较大的一个,同理,vmin表示此时的字体大小为当前页面显示时,vh和vw中较小的一个

  6??ex 它的大小依赖于当前英文字母小x的高度,这个单位我们很少会用到。

  7??ch 数字0的宽度  下面我们来看一个例子,就知道究竟是怎么回事了

运行结果如下:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        h1{
            margin:10px 0;
            font-size:16px;
        }
        div{
            overflow:hidden;
            width:10ch;
            background:#ccc;
        }
    </style>
</head>
<body>
    <h1>定义一个宽度正好能装下10个0的容器:</h1>
    <div>0000000000</div>
</body>
</html>

  8??.百分比。属性值中使用百分比设置大小,将在容器对象文字大小的基础上进行改变。如果我们设置body的文字大小为10。我们设置p的文字大小为150%,则p的文字大小就为15。不管10是什么样的单位,百分比作为一种比例进行缩放调整。下面我们以px为例

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8" />
    <title></title>
    <style>
        body{
            font-size:20px;
        }
        div{
            font-size:150%;
        }
    </style>
</head>
<body>
    <div>以百分比设置</div>
</body>
</html>

  css中字体的单位如此之多,但具体的用哪种方法还是要取决于具体情况。

时间: 2024-08-05 19:35:35

css字体单位的相关文章

CSS -- 字体单位(px、em、rem)

web页面常用记量单位:px.em.rem: 任意浏览器的默认字体都是16px.所有未经调整的浏览器都符合: 16px = 1em = 1rem. ==>在一个CSS选择器被写入时,浏览器就有了一个“16px”大小的默认渲染字体.此时我们Web页面中的<body>就继承了这个“font-size:16px;”,除非你在CSS样式中显式的设置<body>的“font-size”值,来改变其继承的值. 1.px / em / rem 区别.优缺点 px:相对长度单位 -- 绝对值

css的字体单位

今天我们来讲一下css中最常用到的三种字体单位:px,em和rem.px是相对长度单位,它的大小是相对屏幕分辨率来说的,em和rem就不一样了,简而言之,就是它们的字体大小是由参照物来决定的.对于em,它的参照物呢,就是父级的字体,也就是说,它的大小始终是根据父级的字体大小来调整的,而rem是CSS3新增的一个相对单位,这个单位引起了广泛关注.这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素.这个单位可谓集相对大小和绝对大小的优点于一

css中字体单位px,pt,em ,rem,百分比之间的区别和用法

css中字体单位px,pt,em ,rem,百分比之间的区别和用法 px 即像素,一般国内网站使用较多,默认大小是16px; pt 印刷行业常用单位 em  相对单位,相对父元素属性的单位 ,一般用于移动端布局 rem  结合相对定位和绝对定位的优势,相对根元素html,想要修改字体大小,只要修改html的大小就可以了 转换公式: pt=px乘以3/4 倍数em=倍数x16px 注意:1em=16px.那么12px=0.75em,10px=0.625em.   1.em的用法 在代码重写的过程中

CSS 天坑 I - 字体单位

首先,本文所讨论的“坑”是在做回应式网页设计( Responsive Web Design 以下简称 RWD)时显现的,如果你还只是在做传统的Web设计这算不上是一个坑,因为传统的Web页面是死的,不会自动调节不能适应各类设备屏幕尺寸自然不会产生任何尺寸变化的问题.相反地,要为不同设备上的用户提供最好的阅读或使用体验我们不可避免的就是对元素或字体的尺寸的测量与控制.由其是字体的尺寸,不知道你是否有以下的经历 同样的一个网页,同一份样式表,但: 字体在mac 上很漂亮,但在windows很难看 ?

css中字体单位

认识这些单位 em:相对长度单位.相对于父元素.是一个可伸缩的单位. px:像素.是一个固定大小的单元. pt:点.是固定大小,不可伸缩的. %:百分比.相对于父元素.可伸缩的单位. rem:相对于根目录的em. 关联 一般来说,任意浏览器默认字体高度都是16px,而 1em=100%=16px=12pt 当不存在父级元素时默认样式: .px{font-size: 16px;} .em{font-size: 1em;} .rem{font-size: 1rem;} .pt{font-size:

彻底弄懂css中单位px和em,rem的区别

2016-03-11 17:32 国内的前端大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? px特点: 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,低版本的IE浏览器(或内核)不支持. px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.? em是相对长度单位.相对于当前对象内文本的字体尺寸.如

学习CSS了解单位em和px的区别

学习CSS了解单位em和px的区别 2007-11-11 20:17:25  来源:网页教学网收集整理 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷.我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大.平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大多数网站都可以在IE下使用.因为 1. IE无法调整那些使用px作为单位的字体大小:2. 国外的大部分网站能够调整的原因在于其使用了em作为字

[转]彻底弄懂css中单位px和em,rem的区别

难怪会问我 rem 和 em, 这俩或在移动端还是很有必要学习的. root em OK? 国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核). px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕

CSS字体大小: em与px、pt、百分比之间的对比

CSS样式最混乱的一个方面是应用程序中文本扩展的font-size属性.在CSS中,你可以用四个不同的单位度量来显示在web浏览器中的文本大小.这四个单位哪一种最适合Web? 这个问题引起了广泛的争论.找到一个确定的答案是困难的, 因为这个问题,本身就是如此难以回答. 接触这些单位 1.  “Ems”(em):“em”是一个可伸缩的单位, 用于web文档媒体展示.一个em等于当前的字体大小,例如,如果文档的字体大小是12 pt,1 em等于12 pt.Ems在本质上是可伸缩的,所以2 em相当于