Lei*_*eia 5 css unicode emoji typescript angular
我正在尝试在我的 Angular 6 项目的下拉(选择标签)菜单中获取表情符号。我为此使用 unicode。到目前为止,我只设法显示了一些表情符号(如♥)。我想要这样的表情符号:??? 但我在浏览器中看到的只是一个空方块。
我尝试创建一个简单的纯 html 文件,然后表情符号都显示在下拉菜单中。但是,当我尝试在 angular 模板中实现它时,它不再起作用。我还尝试下载 Symbola 字体并将其添加到 CSS,但也没有运气。
这是模板:
<div class="postContainer postContent bg-dark" style="width: 80%;">
<form class="postForm" [formGroup]="newPost" (ngSubmit)="saveNewPost()">
<label class="text-warning label">Smiley</label>
<select formControlName="smiley" class="custom-select mr-sm-2 col form-control-lg" id="inlineFormCustomSelect"
[ngClass]="{ 'is-invalid': submitted && f.smiley.errors }">
<option selected>Choose...</option>
<!-- Attempt with the Symbola emoji font -->
<option value="Smiley1"><span class="emoji">😄</span></option>
<!-- Attempt without the Symbola emoji font -->
<option value="Smiley2">😄</option>
</select>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
在我的styles.css 中Symbola 字体的font-face
@font-face {
font-family: "emoji", "Symbola";
src: url("./assets/fonts/emoji/Symbola-Emoji.woff") format("woff"),
url("./assets/fonts/emoji/Symbola-Emoji.ttf") format("ttf");
}
Run Code Online (Sandbox Code Playgroud)
在模板的 CSS 文件中添加 Sybmola 和 emoji 字体:
.emoji {
font-family: "emoji", "Symbola";
}
Run Code Online (Sandbox Code Playgroud)
奇怪的是它在一个单独的 html 文件中工作,但不在我的 Angular 项目中。如果重要的话,我正在使用 Visual Studio Code 编辑器。有谁知道这里的问题是什么?
更新 1: 如果我复制表情符号本身并将其放在组件中的变量中:
smiley: any = '';
Run Code Online (Sandbox Code Playgroud)
然后在模板中输入:
// Form and select tags...
<option value="Smiley2">{{smiley}}</option>
Run Code Online (Sandbox Code Playgroud)
它在 Firefox 的下拉菜单中显示笑脸,但在 Chrome 中不显示。
更新 2: 这似乎是 Chrome 的问题。我测试了一些随机的笑脸,到目前为止只有 unicode 7.0 到 10.0 ( https://emojipedia.org/unicode-7.0/ ) 的表情符号适用于 Chrome 中的选择标签,旧版本则不行。然而,来自其他版本的表情符号确实出现在“普通”标签中,如段落标签。只是不在选择菜单的选项标签中。我想使用的所有表情符号都是 unicode 版本 6.0 和 6.1 的一部分 有谁知道如何解决这个问题?
更新 3: 所以我在下拉菜单中添加了一些表情符号并重新启动了 Angular 和 Chrome。表情符号全部显示,甚至来自 unicode 版本 6 的表情符号。但是,如果我刷新 (F5) 页面,版本 6 的表情符号会从菜单中消失。所以我想我的问题现在已经解决了一半:
| 归档时间: |
|
| 查看次数: |
3375 次 |
| 最近记录: |