当前位置: 首页 > 面试题库 >

我是否需要在CSS中用字体系列名称引起双引号?

麹学文
2023-03-14
问题内容

我记得很久以前就听说过,在CSS font-family属性中将引号括起来包含多个单词的字体名称被认为是“最佳实践”,例如:

font-family: "Arial Narrow", Arial, Helvetica, sans-serif;

对于它的麻烦,我尝试从中删除引号,"Arial Narrow"而Safari和Firefox在呈现它时没有任何问题。

那么,这种经验法则是否有逻辑,还是只是一个神话?较旧的浏览器是否有问题,不再适用于当前版本?我这样做已经有很长时间了,以至于我从未停止思考这是否真的必要。


问题答案:

在CSS 2.1规范告诉我们:

字体系列名称必须要么用引号引起来,要么用引号引起来,或者不用一个或多个标识符序列来引号。这意味着每个令牌开头的大多数标点符号和数字都必须以未加引号的字体系列名称进行转义。

它继续说:

如果将标识符序列作为字体系列名称提供,则计算值是通过将序列中的所有标识符用单个空格连接起来而转换为字符串的名称。

为避免转义时出错,建议引用字体系列名称,其中包含空格,数字或标点符号(连字符除外):

是的,这是有区别的,但是不太可能引起任何问题。就个人而言,当字体名称包含空格时,我总是会引用它们。在少数情况下(可能非常罕见),绝对需要使用引号:

必须引用恰好与关键字值相同的字体系列名称(“ inherit”,“ serif”,“ sans-serif”,“ monospace”,“
fantasy”和“ cursive”),以防止与关键字混淆具有相同的名称。关键字“ initial”和“
default”保留供将来使用,并且在用作字体名称时也必须加引号。

另请注意标点符号如/或!标识符中的可能还需要加引号或转义。



 类似资料:
  • 问题内容: 据我所知,如果字体包含空格,则需要使用双引号或单引号,例如: 但是在Google字体上,我也看到了 有些人甚至这样使用它: 我觉得这很奇怪,因为以下方法也可以: 那么CSS中字体名称周围引号的正确用法是什么? 问题答案: 您可以随时把一个特定的字体系列名称在引号,双或单,所以,和是等价的。仅CSS定义的通用字体系列之类的名称必须不带引号。 与流行的看法相反,字体名称由空格分隔的名称组成

  • 问题内容: 我一直在努力寻找一种在Python中加载JSON对象的好方法。我发送此json数据: 到后端,它将以字符串形式接收,然后我用来解析它。 但是每次我遇到同样的异常: 我用谷歌搜索,但是除了这个解决方案之外似乎什么都没用,在我个人看来效率不高,因为它接受任何类型的数据,即使不是json格式的数据也是如此。 任何建议将不胜感激。 问题答案: 这个: 不是JSON。 这个: 是JSON。 编辑

  • 所以我遇到了以下让我惊讶的行为。我最初认为DateTime可能是postgres数据类型,但BidOpen呢?还有一个有趣的事情是错误消息中列名的情况。我几乎觉得这与未引用的名称不区分大小写有关。为什么我需要用引号包围列名才能查询工作? 模式如下所示:

  • 问题内容: 这个 这个 或这个 问题答案: 根据CSS规范,所有这三个示例的URL位都是有效的CSS。 请注意,该规范标识了URL中的一些字符,如果存在这些字符,则需要使用反斜杠对其进行转义。因此,您可能会发现最好在URL周围使用单引号或双引号。 请注意,您需要以以下格式编写完整的CSS属性:

  • 让我们考虑下面的PoxGrES查询: 当我删除周围的引号时,查询无法正确响应,但当我删除周围的引号时,查询就不能正确响应了。为什么?在这种情况下,正确的查询编写方法是什么,布尔列周围没有引号,文本列周围没有引号?还有别的吗?

  • 问题内容: 我想使用程序包执行Windows命令,但是Windows进行了一些奇怪的转义。 我有类似的东西: “SomeText” 但这会引发错误,因为Windows会将其转换为 有人知道为什么吗?如何使用exec程序包在Windows上执行? 谢谢! 问题答案: OK,这是一个比较复杂一点比你预期,但有 是 一个解决方案: 不幸的是,尽管在2011年添加了对此功能的支持,但它似乎尚未纳入文档中。