在CSS中,有一个很常见的使用单位叫做em。相对于像素、百分比等单位,em单位更加灵活,因为它们可以相对于父元素的字体大小调整。但是有一些网页设计初学者可能会遇到一个问题,就是使用em单位时,文字为什么会成斜体。其实在设计前端网页的时候,这是一个很重要的知识点。
p { font-size: 16px; } span { font-size: 0.8em; }
在上面这个例子中,<p>
标签设置了一个字体大小为16像素的字体大小。而<span>
标签则继承了<p>
的字体大小,但又设置了0.8em的字体大小。这种情况下,子元素<span>
的字体大小就会被计算为12.8像素(16*0.8=12.8)。但是有些人会发现,<span>
标签中的文字会变成斜体。这是怎么回事呢?
答案就在于font-style: italic
。当font-style
属性被设置为italic或oblique的时候,浏览器会把em单位的字体大小当做斜体字体来处理。因此只要不设置斜体字体,就可以避免这个问题的出现了。
同时,还有一些字体设置在默认情况下是会显示斜体的。比如Monaco等等字体。在这种情况下,就需要在CSS中显式地设置font-style:normal
来避免字体显示为斜体。
code { font-size:0.8em; font-family: Monaco, Consolas, Courier, monospace; font-style:normal; }
上面这段CSS代码中,就包含了对Monaco字体的处理。即使<code>
标签继承了父元素的字体大小,但也能够避免字体显示为斜体造成的影响。
总结来说,避免使用斜体字体,可以避免em单位的字体大小被处理为斜体。这是CSS中em单位的一个小技巧,尤其在进行网页设计时,非常实用。