我使用的是Pixelarity(https://pixelarity.com/ethereal)的模板,他们在那里实现了font awesome v4。因为我也想使用“brands”,所以我需要连接v5。
在尝试将FA v5 CSS与模板的CSS相结合后,它不知何故崩溃了(我不是CSS-Pro)。
特别是,有一个由六个圆圈组成的网格,每个圆圈都包含一个图标。Firefox显示其中的五个,Chrome显示其中的三个,Safari只显示一个图标。该网站上还有几个较小的图标(社交媒体),只有Firefox能够正确显示它们。
我真的没有办法了,我希望你们中的一些人能帮助我。
恕我直言,现在提供我所有的代码是没有帮助的,因为它也可以通过浏览器中的开发工具看到,对吗?如果有人需要我的 *.css或 *.html中的特定行,请告诉我
先谢谢你了。
祝你在德国一切顺利,马塞尔
编辑:
我按照建议做了。尝试排除故障并重现错误可能是使用我的本地apache(mac上的Mamp)。恐怕我仍然没有任何解释,但至少我发现了浏览器行为的一种模式。
我的fontawesome.css
包含以下行,它可以正常工作
- 像一个魅力在火狐.所有图标显示正确
- 部分在safari中。仅显示
Font Awesome 5 Brands
以外的图标 - 部分在chrome中。仅显示
Font Awesome 5 Brands
和Font Awesome 5 Free (solid)
之外的图标
.sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px; }
.sr-only-focusable:active, .sr-only-focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto; }
@font-face {
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: normal;
src: url("../fonts/fa-brands-400.eot");
src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg"); }
.fab {
font-family: 'Font Awesome 5 Brands';
font-weight: 400;
@font-face
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: 400;
src: url("../fonts/fa-brands-400.eot");
src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg"); }
.far {
font-family: 'Font Awesome 5 Free';
font-weight: 400;
@font-face
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 400;
src: url("../fonts/fa-regular-400.eot");
src: url("../fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.woff") format("woff"), url("../fonts/fa-regular-400.ttf") format("truetype"), url("../fonts/fa-regular-400.svg#fontawesome") format("svg"); }
.fas {
font-family: 'Font Awesome 5 Free';
font-weight: 900;
@font-face
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 900;
src: url("../fonts/fa-regular");
src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg"); }
如果我现在删除.fas
、.far
和.fab
,那么代码如下所示,它可以工作
- 部分在firefox中。只显示
Font Awesome 5 Brands
和Font Awesome 5 Free (solid)
之外的图标。 - 就像Safari中的魅力。所有图标都正确显示。
- 部分在chrome中。仅显示
Font Awesome 5 Brands
和Font Awesome 5 Free (solid)
之外的图标。
.sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px; }
.sr-only-focusable:active, .sr-only-focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto; }
@font-face {
font-family: 'Font Awesome 5 Brands';
font-style: normal;
font-weight: normal;
src: url("../fonts/fa-brands-400.eot");
src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg"); }
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 400;
src: url("../fonts/fa-regular-400.eot");
src: url("../fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.woff") format("woff"), url("../fonts/fa-regular-400.ttf") format("truetype"), url("../fonts/fa-regular-400.svg#fontawesome") format("svg"); }
@font-face {
font-family: 'Font Awesome 5 Free';
font-style: normal;
font-weight: 900;
src: url("../fonts/fa-regular");
src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg"); }
我按照www.example.com的说明fontawesome.com将整个字体包含到页面的 *.css中,并三次检查字体的路径。
在这里添加一个括号,chrome可以工作,在那里删除一个括号,safari可以工作……我完全被卡住了,不知道该怎么办,因为我不知道为什么三个不同的浏览器的行为方式如此不同。
2条答案
按热度按时间qyswt5oh1#
我怀疑有人会像我一样愚蠢,但尽管如此,我还是让你知道我的代码中的错误。
Font Awesome由三种免费使用的字体组成。
在 *.css中,它们用
@font-face
调用,在内部,它们用font-family: <Font Name>
分隔。如果你看我之前的代码,每一种字体(品牌,regular and solid)是用单独的
@font-face
-参数单独调用的。这就是神奇的地方!由于FA Regular
和FA Solid
都是Font Awesome 5 Free
家族的一部分,如果有两种不同的字体声明为同一家族,那么几个浏览器似乎很难找到正确的字体。FA Brands正确显示的原因是其家族名为Font Awesome 5 Brands
。长话短说,出了
我做了
现在它对所有浏览器都很有吸引力。
谢谢你的建议和帮助!
祝你愉快,马塞尔
iqih9akk2#
既然我们在这里讨论我们的错误,我想与像我这样的新手分享我的问题解决方案。
首先,我在他们的网站上创建了一个免费工具包后,使用CDN链接添加了FA:
因为我使用的是免费版本,不是所有的图标都能在我的浏览器中显示。正如我后来发现的,你只能使用免费版本中提供的特定图标样式。即,如果
是以固体风格提供的,我应该这样使用它,不能改变它,让我们说,“fa-light”。
在我的代码中,我混淆了**“far”(代表常规)和“fas”**(固体),不知道它们之间的区别是什么。
长话短说,下面的代码在Safari中显示图标,而不是在Chrome中:
修复样式后,图标开始在两个浏览器中正确显示: