1.css单位

1.1 css单位

  在css中,除了px外,还有很多常用的单位。总体来说,css单位可以分为相对单位与绝对单位两大类。

1.1.1 绝对单位
绝对单位定义的大小是固定的,使用的是物理度量单位,显示效果不会受到外界元素影响。绝对单位多用于传统平面印刷中,极少用于前端开发。常用的绝对单位如下表所示。
表1-1 css绝对单位

绝对单位说明
cm厘米
mm毫米
in英寸
pt磅,印刷的点数
pc1pc=12pt

前端开发中不会设计到绝对单位,在这里我们简单了解一下即可。
1.1.2 相对单位
在css中,相对单位定义的大小是不固定的,一般相对于其他长度而言,在css中,常用的相对单位如表1-2所示。
表1-2 css相对单位

相对单位说明
px像素
%百分比
em1em=“当前元素”字体大小
rem1rem等于“根元素”字体大小

除了上表所示单位外,css相对单位还有ex、vw、vh等。在这里我们只要掌握上表中的单位,其他的相对单位主要用于移动端开发,在接触移动端开发时,再去学习即可。
1.像素
px,全称pixel(像素),指一张图片中最小的点,或者计算机屏幕中最小的点。
一张图片是由很多的小方点组成的,其中,每一个小方点就是一个像素(px)。
严格的来说,px属于相对单位,因为屏幕分辨率不同,1px的大小是不同的。windows系统的分辨率为每英寸96px,mac系统的分辨率为每英寸72px。但是如果不考虑分辨率,我们可以将px当作绝对单位来看待,这也是很多地方说px是绝对单位的原因。
2.百分比
在css中,支持百分比作为单位的属性很多,大致可以分为3类。

  • width、height、font-size的百分比是相对于父元素“相同属性”的值来计算的。
  • line-height的百分比是相对于当前元素的font-size值来计算的。
  • vertical-align的百分比是相对于当前元素的line-height值决定的。
    line-heigh和vertical-align这两个属性有点特殊。在这里我们解释一下width,height,font-size:如果父元素的width是100px,子元素的font-size为50%,则子元素实际为50px.
    分析
    width、height、font-size的百分比是相对于父元素“相同属性”的像素最终的width值来计算的。
    3.em
    在css中,em是相对于 “ 当前元素 ” 的字体大小而言的,其中,1em就等于“当前元素”字体大小。这里的字体大小指的是以px为单位的font-size值。
    例如:当前font-size是10px,则1em就等于10px。当前font-size是20px,1em就等于20px。如果当前元素的font-size没有定义,则当前元素会继承父元素的font-size。如果当前元素以及其祖先元素均未定义font-size,则当前元素会继承浏览器默认的font-size。默认的浏览器font-size值都是16px。
    在css中,使用em作为单位有以下3个技巧。
    技巧一:首行缩进使用text-indent:2em来实现
    我们都知道,在网页排版中,段落的首行一般会缩进两个字的间距,如果要实现这个效果,text-indent值应该是font-size值的两倍。此时,我们使用text-indent:2em就可以实现。
    技巧二:使用em作为统一单位
    我们首先需要非常清楚一点:所有浏览器的默认字体大小都是16px。
    如果在一个页面中,我们想要统一使用em作为单位,此时可以从默认字体下手。也就是说,对于任何元素我们都不需要设置font-size为多少,而是继承根元素的font-size值(即16px),其中em与px对应关系如下。
    1em=16px
    0.75em=0.7516px=12px
    为了简化font-size的计算,我们在css中提前声明body{font-size:62.5%;}。通过这个声明,我们可以使默认字体大小变为16px
    62.5%=10px,此时em与px对应关系如下。
    1em=10px
    0.75em=7.5px
    技巧三:使用em作为字体大小单位
    rem,全称font size of the root element,是相对于根元素(即html元素)的字体大小,rem是css3新引入的单位,目前主流的浏览器除了IE8之外,大部分是支持rem的。rem布局是移动端最常见的布局方式之一。
    rem和em很相似,不过也有明显的区别:em是相对于“当前元素”的字体大小,而rem是相对于“根元素”的字体大小。这里的font-size指的都是以px为单位的font-size值。
    解惑:国外大部分主流网站都是使用em作为单位,W3C也建议我们使用em作为单位。但是我们发现国内大部分主流网站,包括三大主流门户,“新浪”,“搜狐”,“网易”,都是采用px作为单位。
    原来在国外,某些国家的法律规定网站要具有适应性,特别是美国。对于以前的版本的IE,我们无法调整那些使用px作为单位的字体大小。虽然现在的IE版本几乎都支持,但我们也推荐读者使用px作为单位,因为用px作为单位非常便于计算长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值