如何在Laravel Blade中通过@font-face规则使用Font Awesome 5图标
@font-face引入Font Awesome实现方案调整说明
你的实现逻辑基本正确,可正常渲染目标图标,可优化调整的点如下:
- 字体兼容性优化:当前仅引入ttf格式字体,老旧浏览器支持度有限,且ttf体积偏大,建议补充woff2、woff等压缩格式字体源,兼顾加载速度与兼容性。
- 冗余代码精简:重复为元素本身和
::before伪元素设置相同字体规则、滥用!important的写法会增加样式污染风险。Font Awesome图标内容均渲染在::before伪元素上,仅需针对伪元素设置规则即可,选择器优先级足够的前提下可完全移除!important。 - 补充基础通用样式:缺少图标渲染必备的通用属性,容易出现图标锯齿、变形、行高异常等问题,需补充抗锯齿、行高统一等规则。
- 图标调用验证:你使用的
<i class="fab fa-accessible-icon"></i>调用方式正确,fa-accessible-icon属于品牌类图标,匹配fab类名规则无误。
优化后完整内部样式代码(写在head标签的style标签内即可)
/* 定义三类字体源 */ @font-face { font-family: "FontAwesomeRegular"; font-weight: normal; font-style: normal; src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/webfonts/fa-regular-400.woff2") format("woff2"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/webfonts/fa-regular-400.ttf") format("truetype"); } @font-face { font-family: "FontAwesomeBrands"; font-weight: normal; font-style: normal; src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/webfonts/fa-brands-400.woff2") format("woff2"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/webfonts/fa-brands-400.ttf") format("truetype"); } @font-face { font-family: "FontAwesomeSolid"; font-weight: 900; font-style: normal; src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/webfonts/fa-solid-900.woff2") format("woff2"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/webfonts/fa-solid-900.ttf") format("truetype"); } /* 通用基础样式 */ .fa, .fas, .fab, .far { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; display: inline-block; font-style: normal; font-variant: normal; text-rendering: auto; line-height: 1; } /* 对应字体规则 */ .fas::before { font-weight: 900; font-family: FontAwesomeSolid; } .fab::before { font-weight: 400; font-family: FontAwesomeBrands; } .far::before { font-weight: 400; font-family: FontAwesomeRegular; }
内容的提问来源于stack exchange,提问作者Shwetha
相关产品推荐
相关产品推荐

