在不同的浏览器中,为什么文本呈现方式不同,可能存在一些问题.
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">‘AN ABRAM’</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上
这可能有助于解决这个问题.
总之,这是三种解决方案.它们从最有可能修复到最不可能修复的顺序排列.
charset
未设置为utf-8
DOCTYPE
号这些应该可以解决你的问题.