栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么用em而不是px?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么用em而不是px?

我问这个问题的原因是,我忘记了如何使用em,因为我在CSS中愉快地编程时已经很久了。人们没有注意到我把这个问题笼罩了,因为我并不是在谈论字体本身的大小。我对如何在页面上的
任何给定块元素 上定义样式更感兴趣。

正如Henrik Paul和其他人指出的,em与元素中使用的字体大小成正比。在px中以块元素定义大小是一种常见的做法,但是,在浏览器中调整字体大小通常会破坏这种设计。调整字体大小通常是通过快捷键

Ctrl
+
+
Ctrl
+完成的
-
。因此,一个好的做法是使用em代替。

使用px定义宽度

这是一个说明性的例子。假设我们有一个div标签,我们希望将其变成一个时尚的日期框,我们可能会有如下所示的HTML代码:

<div >    <p >July</p>    <p >4</p></div>

一个简单的实现将以

date-box
px 为单位定义类的宽度:

* { margin: 0; padding: 0; }p.month { font-size: 10pt; }p.day { font-size: 24pt; font-weight: bold; }div.date-box {    background-color: #DD2222;    font-family: Arial, sans-serif;    color: white;    width: 50px;}

问题

但是,如果我们要在浏览器中放大文本大小,则设计会中断。文字也会在框外出血,这与flodin指出的SO设计中的情况几乎相同。这是因为该框的宽度保持与锁定时相同的大小

50px

改用em

一个更聪明的方法是用ems定义宽度:

div.date-box {    background-color: #DD2222;    font-family: Arial, sans-serif;    color: white;    width: 2.5em;}* { margin: 0; padding: 0; font-size: 10pt; }// Initial width of date-box = 10 pt x 2.5 em = 25 pt// Will also work if you used px instead of pt

这样,您就可以在日期框上进行流畅的设计,即框将与文本一起按日期框定义的字体大小按比例放大。在此示例中,font-
size的定义

*
为10pt,它将是该字体大小的2.5倍。因此,在浏览器中调整字体大小时,该框的大小是该字体大小的2.5倍。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402638.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号