CSS属性名称中使用的术语“文本”和“字体”有什么区别?它们是否意味着相同的事情,或者是以字体开头的CSS属性名称和以文本开头的CSS属性名称之间存在语义差异?
例如,为什么我们有这些CSS属性:
font-size: 34px; text-decoration: underline;
而不是像这样命名?
font-size: 34px; font-decoration: underline;
还是这样?
text-size: 34px; text-decoration: underline;
在这里使用font-和text-的方式有不同的语义差异,还是前缀的选择完全是任意的?
解决方法
就我的理解而言:
文字:您使用所选(或默认)字体绘制的字符.
字体:字符的形状.
您可以下划线用某种字体绘制的文本,但是您不能下划线字体本身,因为它是与字符绑定的形状的集合.但是,您可以调整形状的大小,以便使用该字体绘制的文本绘制得更大. (因此,字体大小)
这也是为什么你有font-style:italic而不是text-style:italic,因为当你有斜体时,实际的形状会改变.与font-weight和text-weight相同.
希望这可以帮助 :)
编辑:
如果您查看从文本开始的属性,以及从字体开始的属性,您可以看到一个明显的区别:
text-align text-decoration text-indent text-justify text-outline text-overflow text-shadow text-transform text-wrap
都用于已经绘制的文本的定位或视觉更改.
font font-family font-size font-style font-variant font-weight @font-face font-size-adjust font-stretch
都用于屏幕上显示字符的方式.