我有一个 HTML 页面,需要在其中显示包含梵文字符的下拉列表。
我面临的问题是,在 DOM 中,字符以预期的方式显示,但在浏览器中却没有。同样的问题是在文本字段标记(即
input type=text
)中显示这些字符,但在 div
元素中字符显示正确。请参考下面的代码片段来重现该问题。
注意:在我的原始页面中,我使用“Mustard UI”作为CSS框架,因此我在我的代码片段中包含了它的CDN,只是为了确保我面临的问题与字体问题无关。
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://unpkg.com/mustard-ui@latest/dist/css/mustard-ui.min.css">
</head>
<body>
<div>
In Dropdown
<select name="my-dropdown" class="my-dropdown">
<option value="1">श्री गणेश</option>
</select>
</div>
<div>
Inside DIV: श्री गणेश
</div>
<div>
In Text-field
<input type='text' value='श्री गणेश'>
</div>
</body>
</html>
任何人都可以解释一下问题是什么以及如何解决它吗?我不认为这是一个字体问题,因为如上所述,字符在 DOM 中正确显示,并且还使这些字符以
div
的形式显示,它们以预期的方式出现。
以下是我所拥有的浏览器的信息,在这两个浏览器中我都面临着问题的解释:
Ubuntu 18.04.6 LTS 上的 Mozilla Firefox 113.0.2(64 位)、Google Chrome 版本 114.0.5735.198(官方版本)(64 位)。
谢谢。
基于@Andj的响应添加字体CSS并应用样式,使用字体来选择和输入字段,最终它按预期工作。请参考下面的工作片段(该片段基于我在问题中使用的片段)
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="https://unpkg.com/mustard-ui@latest/dist/css/mustard-ui.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+Devanagari">
<style>
.my-dropdown {
font-family: 'Noto Sans Devanagari', serif;
}
.my-text-input {
font-family: 'Noto Sans Devanagari', serif;
}
</style>
</head>
<body>
<div>
In Dropdown
<select name="my-dropdown" class="my-dropdown">
<option value="1">श्री गणेश</option>
</select>
</div>
<div>
Inside DIV: श्री गणेश
</div>
<div>
In Text-field
<input type='text' value='श्री गणेश' class='my-text-input'>
</div>
</body>
</html>
谢谢。