Css 设置body{font size:100%}结果字体大小为12px;而不是字体大小:16px;为什么?

Css 设置body{font size:100%}结果字体大小为12px;而不是字体大小:16px;为什么?,css,font-size,Css,Font Size,我知道浏览器的默认字体大小是16px。那么为什么内联块的高度(12px)与字体大小(我在Chrome和FF中试过)相同呢?请帮我理解。多谢各位 <!DOCTYPE html> <html> <head> <style> body { font: 100% helvetica, arial, sans-serif; line-height: 1.625; }

我知道浏览器的默认字体大小是16px。那么为什么内联块的高度(12px)与字体大小(我在Chrome和FF中试过)相同呢?请帮我理解。多谢各位

<!DOCTYPE html>
<html>
<head>
    <style>
        body {
            font: 100% helvetica, arial, sans-serif;
            line-height: 1.625;
        }
        #tempTest {
            display: inline-block;
            width: 10px;
            height: 12px;
            background-color: orange;
        }
    </style>
</head>
<body>
<p class="heading"><span id="tempTest"></span>Remember, when you were young, you shone like a sun. Shine on you crazy diamond</p>
</body>
</html>

身体{
字体:100%helvetica,arial,无衬线;
线高:1.625;
}
#诱人的{
显示:内联块;
宽度:10px;
高度:12px;
背景颜色:橙色;
}

记住,当你年轻时,你就像太阳一样闪耀。照在你疯狂的钻石上


如果您使用浏览器的开发工具检查内联框(点击F12打开它们),您可以看到它的高度确实是12px,正如您在代码中设置的那样。这是因为没有任何东西需要更高的高度;通常,内联块高度的精确计算取决于浏览器


文本的字体大小仍然是浏览器默认值,通常为16px。字体大小并不表示任何特定字母的高度。它只是字体的一个基本属性;排版师通常设计字符,使其与升序、降序和变音符号一起符合字体大小设定的限制(或稍微延伸一点),通常大多数字母的高度较小。

“记住,当你年轻时,你像太阳一样闪耀。照在你疯狂的钻石上。”。鼓舞人心的对不起,我离题了。在我的浏览器中,我看到你还没有考虑下降者。R的高度为12像素(Opera 12)。如果你从R的顶部到y的底部测量,它的测量值是15px,这在我的书中足够接近16px,因为每个浏览器的文本呈现方式都不同。谢谢@cimmanon。回想起来,这似乎是显而易见的。我试着让R的顶部与另一个元素对齐,结果是这个问题。跨度元素的底部与字母R的底部对齐,这对我来说确实有点奇怪,这意味着它不是垂直居中于线高度。我假设字体大小(字体高度)始终垂直居中于行高。@KayaToast,
vertical align
的初始值是
baseline
,在这里应用。设置
display:inline block
不会更改此设置。字体高度通常在行距内居中,但这不是要求;这取决于浏览器。但这与基线以下和大写字母高度(大写字母高度)以上的间距(字体高度内)问题不同——这取决于字体设计师。“这是因为其中没有任何东西需要更高的高度”——即使内容更大,高度不是仍然是12px吗?我的理解是,子元素将溢出内联块范围的边界之外。