有几种方法可以用来指定 Web 页面上的字体尺寸。首先,你可以使用关键字,比如small 或者 large;其次,你还可以使用固定的量度,比如象素(pixel)或点陈(point);或者你还可以使用相对量度,比如 em 或者百分比。关键字简单易用,但是缺乏灵活性和精确性,固定量度可能会比较精确,但是对于那些想根据自己的需要和偏好来调整字体尺寸的用户来说,可能会带来一些易用性问题。相对量度可以解决这一易用性问题,但是也会带来它们自己的问题。
应该可行的方法
相对量度能够指定字体的尺寸比一些标准的参考尺寸大多少或者小多少。使用百分比设定字体尺寸能够字体尺寸表示为参考字体的字符框高度(字母字符的顶部到字母字符的底部之间的距离)的一个百分比。
Em 是基于排版转换的一种量度,它定义1em为参考字体的大写字母的高度。出于与其它量度保持一致性的考虑,CSS 定义1em为字符框的高度。以 em 表示的尺寸是十进制小数或者参考字体尺寸的倍数。因此,2em和200%是一样的,而.75em和75%也表示同样的尺寸。
理论上,使用相对量度来指定字体尺寸不论对于 Web 开发人员还是对于 Web 用户都具有明显地优势。通过将字体尺寸指定为标准参考尺寸的一个相对变化值,你可以将焦点集中在尺寸关系上,而无须用特定的数字为每个字体样式指定一个尺寸。
如果更改参考字体的尺寸,所有以相对量度指定的字体都会相应地调整尺寸,以维护其与参考字体的尺寸比值。这就意味着 Web 开发人员只要更改 body 标签一个地方的字体尺寸就可以更改整个页面上所有的字体尺寸。相似地,这种方法还允许访问者调整他们的浏览器的字体尺寸设置,进而调整浏览器窗口中字体的尺寸,而且也不会丢失相对字体尺寸能够传达的任何意义。
天堂中的麻烦
不幸的是,理论上听起来很合理的东西,实际用的时候总是不会那么好。使用相对量度来设置字体尺寸时的一个主要问题是参考字体尺寸缺乏一致的标准。基于 Windows 操作系统的浏览器的传统的默认字体尺寸是16像素,并且假设屏幕的分辨率是每英寸96象素。而在苹果机上,传统的默认字体尺寸是12象素,屏幕的分辨率是每英寸72象素。
虽然 Windows 的默认字体尺寸是推荐的官方标准,但是很多铁杆苹果用户(其中包括很多 Web 开发人员)继续使用传统的苹果默认设置。这些设置趋向于错误地诱导苹果用户对“normal(普通)”字体尺寸的印象。这对于使用任何方式指定字体尺寸的 Web 开发人员来说都是一个问题,但是对于采用相对量度来指定字体尺寸的 Web 开发人员来说这个问题尤为严重,因为当显示字体的尺寸与普通尺寸离的较远时,标准参考字体尺寸的一点差别都会被夸大很多。
使用em指定字体尺寸时的麻烦
时间: 2024-10-28 04:29:17
使用em指定字体尺寸时的麻烦的相关文章
举例详解CSS中的字体尺寸设置
常用单位 在CSS中可以用很多不同的方式来设定字体的尺寸.一般来说,这些单位被分成两大类:绝对单位(absolute)和相对单位(relative). 绝对单位在大多数情况下是相对于某些实际量度而言的固定值,即是说它们一旦设定,就不会因为其他元素的字体尺寸变化而变化. 相对单位没有一个固定的度量值,而是由父元素尺寸来决定的相对值,它们的尺寸会根据与其相关的元素改变而改变. 下面是对这些单位的一个简单整理: 这里主要关注这几个单位:px.pt.%.em.rem和vw. 它们之间有什么区别? 从
优化浏览器渲染:指定图片尺寸
概述 为页面中所有图片指定宽度和高度可以消除不必要的reflows和重新绘制页面[repaints],使页面渲染速度更快. 详细信息 当浏览器勾画页面时,它需要能够流动的,如图片这样的可替换的元素.提供了图片尺寸,浏览器知道去环绕附近的不可替换元素,甚至可以在图片下载之前开始渲染页面.如果没有指定的图片尺寸,或者如果指定的尺寸不符合图片的实际尺寸,一旦图片下载,浏览器将需要reflows和重新绘制页面.为了防止reflows,在HTML的<img>标签中或在CSS中为所有图片指定宽度和高度.
c语言中setcolor函数的如何使用改变指定字体的颜色?
问题描述 c语言中setcolor函数的如何使用改变指定字体的颜色? 好比输出hello world只让world变成红色,而其他的字体不换颜色,也就是只改变指定字体的颜色.能认为的控制. 解决方案 setcolor不是标准c里的函数.graphics.h是turboc专有的.用graphics.h必须用turboc 解决方案二: setcolor不是标准c里的函数.graphics.h是turboc专有的.用graphics.h必须用turboc 解决方案三: vc中: #include <w
ios-在导航标题中调整字体尺寸
问题描述 在导航标题中调整字体尺寸 有没有方法实现导航标题的字体根据宽度调整? 比如[UILabel setAdjustsFontSizeToFitWidth:YES] 试过很多方法都没实现,请好心人帮忙,谢谢. 解决方案 自定义UINavigationItem的titleView 在titleView中创建一个UILabel ,设置UILabel的相关属性再试. UILabel *lbl=[[UILabel alloc] initWithFrame:....]; [lbl setAdjusts
c语言中setcolor函数的如何使用改变指定字体的颜色?最好给个代码例子谢谢。
问题描述 c语言中setcolor函数的如何使用改变指定字体的颜色?最好给个代码例子谢谢. 好比输出hello world只让world变成红色,而其他的字体不换颜色,也就是只改变指定字体的颜色.能认为的控制. 解决方案 1.可以不用setcolor函数来实现: printf(""hello %sworld%sn""33[0;40;31m""33[0m""); 解决方案二: 我在linux上测试了可以啊,你在什么平台上测试的.
java虚拟机如何查找已加载的类?java虚拟机在代码中为指定类加载器时如何选择类加载器?
问题描述 java虚拟机如何查找已加载的类?java虚拟机在代码中为指定类加载器时如何选择类加载器? tomcat不同webapp相互隔离是怎么做到的? 通过不同webapp使用不同的类加载器加载做到的? 怎么指定某个webapp使用哪个类加载器?不是每个类都用classLoader.loadClass()吧.
如何在Mac OS X上面指定Eclipse启动时用指定的某一版本JDK?
编辑 $ECLIPSE_HOME/Eclipse.app/Contents/MacOS/eclipse.ini 文件,在 Finder 中右键或者Ctrl+点击 Eclipse 应用程序,然后点击"显示包内容",进入目录 Contents/MacOS/ 即可找到通过 ls -ltr /Library/Java/JavaVirtualMachines/ 列出已经安装好的各个 JDK 版本的路径,然后在 eclipse.ini 文件中指定之,比如:-vm/Library/Java/Java
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)_基础知识
JavaScript fontsize 方法 fontsize 方法返回使用 HTML font 标签中 size 属性定义字体大小的字符串.其语法如下: 复制代码 代码如下: str_object.fontsize( size ) 参数说明: 参数 说明 str_object 要操作的字符串(对象) size 必需.1 到 7 的数字,数字越大字体越大,字体大小对比如下: 1:10px 2:14px 3:16px 4:18px 5:24px 6:32px 7:48px 提示:该方法不符合 EC
TcpClient如何指定某个IP时行链接
问题描述 我的机器有多个IP地址,我想用其中一个进行TcpClient链接.C#中如何实现?多谢 解决方案 解决方案二:staticvoidConnect(Stringserver,Stringmessage){try{//CreateaTcpClient.//Note,forthisclienttoworkyouneedtohaveaTcpServer//connectedtothesameaddressasspecifiedbytheserver,port//combination.Int3