';字体-';vs';文本-';在CSS属性名称中

';字体-';vs';文本-';在CSS属性名称中,css,terminology,Css,Terminology,CSS属性名称中使用的术语“文本”和“字体”有什么区别?它们的意思是相同的,还是以font-开头的CSS属性名称与以text-开头的CSS属性名称之间存在语义差异 例如,为什么我们有这些CSS属性: font-size: 34px; text-decoration: underline; 而不是这样命名 font-size: 34px; font-decoration: underline; text-size: 34px; text-decoration: underline; 还是像这

CSS属性名称中使用的术语“文本”和“字体”有什么区别?它们的意思是相同的,还是以
font-
开头的CSS属性名称与以
text-
开头的CSS属性名称之间存在语义差异

例如,为什么我们有这些CSS属性:

font-size: 34px;
text-decoration: underline;
而不是这样命名

font-size: 34px;
font-decoration: underline;
text-size: 34px;
text-decoration: underline;
还是像这样

font-size: 34px;
font-decoration: underline;
text-size: 34px;
text-decoration: underline;

这里使用
字体-
文本-
的方式是否存在语义差异,或者前缀的选择完全是任意的?

据我所知:

文本:布局和表示的计算方式

字体:字符到字形的映射。当你考虑到结扎和其他高级字体特征时,1-T-1’映射并不完全成立,但一般来说,它是一个很好的心理模型。字体决定字符的形状

可以在使用特定字体绘制的文本下划线,但不能在字体本身下划线。但是,您可以调整形状的大小,使使用该字体绘制的文本具有更大的图示符。(因此,
字体大小

这也是为什么使用
字体样式:斜体
而不是
文本样式:斜体
,因为使用斜体排字时实际形状会发生变化。
font-weight
vs
text-weight
也是如此

希望这有帮助


如果查看以
text-
开头的属性和以
font-
开头的属性,可以看到明显的区别:

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

所有这些都用于转换字符的形状和字形。

CSS属性名称的部分没有意义,属性名称作为一个整体只有CSS规范(或草稿)中赋予它的意义。通常,当这些名称被解释为英语单词时,会暗示其含义,但名称并不能定义其含义,有些名称完全具有误导性。(例如,
空白
即使在不涉及空白字符的上下文中也会影响行的划分。)

因此,名称只是标识符,但名称的分配可能有一些系统性。碰巧,以
font-
开头的属性名称与用于呈现字符的字体选择或使用字体的特定方式有关。以
text-
开头的属性名称与格式化文本(字符)的其他方面相关

这种划分相对清晰,但取决于技术:格式化的某些功能与字体相关,由于字体技术的工作方式,有些功能与字体无关


该划分反映在CSS3“模块”划分中:中定义了与字体相关的功能(定义了名称以
font
开头的属性),而其他文本格式设置功能主要在中定义(定义了名称以
text-
开头的一些属性,但也定义了其他属性).

查看上列出的
font-
属性,在我看来,以
font-
开头的属性会影响或至少可能会影响字体族中用于绘制特定字符的字体的选择。以
text-
开头的属性永远不会执行此操作,而是执行各种其他操作,包括渲染后添加独立于字形选择的阴影等文本效果

例如

  • -提供字体系列列表,从中选择用于渲染每个字符的字体;显然,这会影响字形选择
  • -在可能的情况下,通过从字体系列中选择适当的粗体字体,以正确的粗体显示文本
  • -可能会明显影响所选的实际字体,因为并非所有字体格式都可以任意缩放。以下引用自(重点矿山)的话证实了这一点:

    当字体仅在某些样式、变体或大小中可用时,这些属性也可能影响选择的字体族

    (虽然我猜这主要是一个历史问题,因为我认为不可伸缩的字体格式在今天还没有得到使用。)

  • -与上述情况非常相似

  • -引用文件:

    此属性不会通过拉伸或收缩任意字体来更改其几何图形。与字体功能设置或字体变体一样,如果此功能提供了多种字体,则选择最合适的字体只是一种手段

。。。等等并非所有这些属性都会影响字体选择;例如,
font-size
显然是关于字形渲染,而不是字体选择,在可缩放字体的情况下,
font-weight
font-style
属性可能导致浏览器合成粗体或斜体字形,而不是使用粗体或斜体字体,如下所示:

尽管这种做法不太受排版师的欢迎,但用户代理通常会合成粗体字,用于缺少实际粗体字的字

但是,
font-
属性的共同点是,它们是可能影响字体和字形选择的属性。因此,选择何时使用
font-
text-
前缀似乎不是随意的