我有一段简单的文字如下:

<h1 class="intro-text" id="main-title">&lsquo;AN ABRAM&rsquo;</h1>

这将呈现以下输出(这在google chrome中是正确的):

enter image description here

但当我在safari中打开同一个文件时,输出如下所示:

enter image description here

为什么会发生这种情况?我如何确保不会发生这种情况?

推荐答案

在不同的浏览器中,为什么文本呈现方式不同,可能存在一些问题.


1. HTML 100 not set to 101

这是一个非常常见的解决方案.有时,当charset未设置为utf-8时,会出现意外的角色渲染.

根据MDN Web Docs:

charset-This attribute declares the document's character encoding.如果属性存在,其值必须是字符串"utf-8"的ASCII不区分大小写匹配,因为UTF-8是HTML5文档的唯一有效编码.<meta>声明字符编码的元素必须完全位于文档的前<meta>4字节内.

简而言之,charset属性定义了字符编码,以及每个字符的编码方式.

要将其添加到HTML中,需要将其添加到<head>中,如下所示.

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    <h1 class="intro-text" id="main-title">&lsquo;AN ABRAM&rsquo;</h1>
  </body>
</html>

这应该说明HTML文档的编码应该是UTF-8.这样,Safari就不应该以不同的方式打印字符.

Note: There are known issues of Safari encoding the text differently than Google Chrome, so this solution is most likely the best fix.


2. 字体 (OP's working solution)

另一个可能出现的问题是网页上 Select 的字体.

有时,字体可能是Safari无法像正常情况那样呈现符号的原因.这可能有很多原因.

然而,要想知道字体是否是问题所在,就应该删除CSS中的所有font-family个规范.

* {
  font-family: "Some-Font"; /* Try and remove this */
}

HTML文档中的默认字体(如果未指定)是Times New Roman.如果更改字体后没有出现问题,则问题是字体.在这种情况下,您需要在HTML文档中找到另一种字体.


3. No 100

这个列表中的第三个问题是HTML开头的第<!DOCTYPE html>个问题.

尽管这个解决方案可能与您的问题无关,但这是一件值得try 的事情.

如果您没有DOCTYPE,则需要将其添加到下面指定的位置.

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    <h1>Title!</h1>
  </body>
</html>

显示在Line 1

这可能有助于解决这个问题.


总之,这是三种解决方案.它们从最有可能修复到最不可能修复的顺序排列.

  1. HTML charset未设置为utf-8
  2. 字体
  3. DOCTYPE

这些应该可以解决你的问题.

Html相关问答推荐

卡片上方的文本

如何使div按钮链接到另一个网页

为什么在CSS中字段是一个有效的 colored颜色 名称?

如何仅 Select 与子代CSS类匹配的第一个元素

SCSS动画错误:心脏在页面刷新时启动动画,原因是:Checked和:Not(:Checked) Select 器

当文本添加到元素中时,将元素拉到页面上

使用CSS和Slick Carcass使图像适合屏幕

如何使VS代码支持以模仿嵌套的方式对已经包含注释的HTML进行注释?

静态DIV的标签,显示从窗体输入的值

如何使用多边形制作如图所示的背景

无法在 CSS 中将 h1 标签居中

Django 如何从文件系统下载文件?

如何使容器的大小适合其 position:absolute; 子元素的大小

调整屏幕大小时标题在图像下方重叠 - HTML

我如何使用 CSS nth-child(odd) nth-child(even) 来对齐 CSS 网格中的列?

如何动态调整彼此重叠的两个 div 的大小,使它们在增长时保持相同的高度

单击时 HTML 锚元素不重定向到相对路径

如何使用 html 和 css 为卡片创建此背景框架

我怎么能有 :not(.class):nth-of-type(even)?

下拉菜单项在页面加载时显示,需要隐藏直到悬停