Dom*_*omi 2 html css font-awesome
我一直在使用Font-Awesome及其图标一段时间,它一直工作得很好.
然而,今天它只显示空白方块而不是图标.我已经阅读了许多其他相关问题,但这些案例都不适用于我.正如我所说,它之前有效,我没有对Font-Awesome文件(我使用的是FA的下载版本,而不是CDN)或显示图标的HTML模板进行任何更改.
所以我想开始调试这个过程.一个例子是:
<i style="color: orange" class="fa fa-exclamation-triangle"></i>
Run Code Online (Sandbox Code Playgroud)
但是,在使用Chrome进行检查时,我无法在受影响元素的CSS中找到任何网址.我在每个图标元素上看到的是这样的:
.fa-warning:before, .fa-exclamation-triangle:before {
content: "\f071";
}
Run Code Online (Sandbox Code Playgroud)
\f071"空白方块"字符在哪里.
所以我的问题是:
图标来自哪里,如何调试未显示的FA图标?
UPDATE
我发现它\f071和它的朋友实际上是指向图标的符号,存储在字体文件中.它们显示为空白方块的事实似乎表明该字体尚未成功加载.
但是,我检查了并且客户端下载fonts/fontawesome-webfont.woff并且fonts/fontawesome-webfont.ttf很好.
此外,通过fa类正确设置元素的字体:
font-family: normal normal normal 14px/1 FontAwesome
Run Code Online (Sandbox Code Playgroud)
还有什么必要确保,字体已成功加载?
UPDATE
我解决了它:字体文件已损坏/未正确传送.这总是首先要检查的东西!
FontAwesome是...... 一个字体!
这意味着您将拥有一组字符,这些字符是(可视)图标.这些字符通常包含在\e000和\f8ff(它们是私人使用区域的字符)之间.
当你看到这段代码时:
.fa-warning:before, .fa-exclamation-triangle:before {
content: "\f071";
}
Run Code Online (Sandbox Code Playgroud)
这意味着\f071 角色将显示在伪元素中.它与此代码相结合,为.fa元素加载FontAwesome字体:
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot?v=4.2.0');
src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
.fa {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
Run Code Online (Sandbox Code Playgroud)
看到白色方块可能意味着:
@font-face {})font: normal normal normal 14px/1 FontAwesome;)如何调试:
.fa .fa-foo)font/文件夹而不是fonts/.htaccess.人们经常制定影响资产的强有力规则.