2013-10-08 24 views
1

我在看的CSS是这样的:我可以在px行高内包含我的em大小的字体吗?

header .logo { 
    text-align: center; 
    line-height: 77px; 
    font-size: 4em; 
    font-weight: bold; 
    font-family: "Segoe UI Web Light", "Segoe UI Light", "Segoe UI Web Regular", "Segoe UI", "Segoe UI Symbol", "Helvetica Neue", Arial; 
} 

有人能告诉我,这很可能是一个问题,如果我移动到移动设备?我是否总是在em尺寸内包含em尺寸的字体的字体?

+0

不,因为线条高度将始终相同,并且字体大小可能会更改。您最终可能会得到140px的字体大小和更小的行高。 – DavidB

+0

等待这个答案,它的一个好问题 –

+0

字体的大小如何增加? – Melina

回答

2

px单位和em单位有很大的不同。 px单位表示一个像素,它是一个相对的概念,可能会因显示设备而异(有关详细说明,请参阅CSS Values and Units Module Level 3),而em单位在使用font-size属性的值时,表示父元素的字体大小。这个大小根据上下文,应用的CSS规则等而不同,并且最终在用户的控制之下。所以它可以是任何事情。如果你认为em是像素的特定东西,那么在某些情况下这种假设将不可避免地失败;如果您假设具体尺寸,为什么不在整个过程中使用px

因此,您应该使用相同的单位或使用具有固定的,明确定义的关系的单位设置font-sizeline-height。通常情况下,您应该在em单位或两个单位都设置px单位,以确保它们合在一起。但是,如果您在em中设置字体大小,您可以使用line-height的纯数字,如line-height: 1.2,因为除继承问题外,纯数字有效地具有em作为隐含单位。

例如,无论是

line-height: 77px; 
font-size: 64px; 

line-height: 1.2em; 
font-size: 4em; 

将是一致的。

1

em单元是:

等于它在其上使用的元素的“字体大小”属性的计算值。

这就是specification所说的。

所以,你的情况font-size将是四倍大(4EM),那将是比正常继承和line-height总是77px

根据你想要达到的目标,你通常应该放弃你的方法,因为无论你如何改变line-height将永远是相同的。我建议设置line-height
个人为,我很少使用em单位。我尝试始终与px合作。我做了很多响应式设计。

+0

你提到你在px下工作,但我读到这可能是较小屏幕尺寸的问题。你的设计在所有屏幕尺寸上都可以工作吗? – Melina

+0

在'font-size'中,'em'单位有不同的含义:它指的是父元素的字体大小。并设置'font-size'防止继承。 –

+0

我们(在我的工作中)为200px宽的设备设计。一切都好。但我们并不是为各种分辨率设计的,而只是最受欢迎的像iPhone风景/人像,SGS3 l/p,平板电脑l/p等等。 – matewka

0
In theory, the em unit is the new and upcoming standard for font sizes on the web 

我不认为使用EM这里将是一个不错的主意,特别是当你观看设备从normal computer screen to a mobile device

Comparing EM, PX, PT and %

这里的范围内行高是持续到77px但em的大小将根据查看设备而改变。

相关问题