当父元素使用像素(px)时,是否可以为子元素定义相对字体大小?

时间:2012-01-22 13:44:20

标签: css

1)我今天遇到了 THIS ARTICLE ,其中指出:

  

使用em值最常用的方法是设置   身体上的字体大小为62.5%。因为默认的浏览器字体大小   是16px,这使它10px(没有硬设置为10px,这   不会级联)。

我刚刚引用的内容(上图)实质上意味着,我不能直接将主体的字体大小设置为10px,然后根据它定义em或%中其他元素的字体大小。这不是它的意思,还是它弄错了?

例如,我有body {font-size: 10px;}。现在我设置p {font-size: 1.4em;}。是不是意味着,p的字体大小实际上是14px?不是那个级联? (或者这会在其他设备上引起我的问​​题吗? - 手机,平板电脑等)


2)对于任何给定的元素,将其font-size定义为1.8em或180%没有任何区别,对吧?我的意思是,对于一个元素(我们定义的大小),em本质上是%的十进制形式,不是吗?


编辑:3)'em'通常被称为非常适合移动设备的尺码单元。怎么样 %?考虑到Q2,它是否一样好?

1 个答案:

答案 0 :(得分:1)

1)当文章中的字体大小以“不会级联”(这反映了对级联的误解)时,文章是错误的。如果您愿意,可以使用em%作为内部元素的字体大小。您可以间接为它们设置字体大小(以像素为单位)。您获得的灵活性是,如果您稍后更改以像素为单位设置的基本字体大小,事情会更容易。另一方面,em%设置可能意味着在某些情况下由不同浏览器区别对待的舍入。

如果设置body {font-size: 10px;} p {font-size: 1.4em;},则(除非其他样式表发生干扰),font-size的{​​{1}}将为14px。但这与级联无关。这是单位和p的基本定义的结果。

2)对于font-sizefont-size1.8em的定义含义相同。由于浏览器存在另一个错误,过去有理由支持其中一个,但这些考虑已失去意义。

3)是的,使用180%同样出色。