【发布时间】:2021-10-24 06:05:30
【问题描述】:
我使用的是 Vue 版本 3.2.1,并遵循了 https://github.com/FortAwesome/vue-fontawesome 上 Vue 3 的官方字体真棒文档以及此视频:https://www.youtube.com/watch?v=MoDIpTuRWfM
令人尴尬的是,我似乎无法更改图标的颜色,但我可以更改背景颜色(请参阅屏幕截图中的向上箭头)和不透明度(请参阅屏幕截图中的婴儿车)。
这是我的代码:
main.js:
// BEGIN font awesome icons, per https://github.com/FortAwesome/vue-fontawesome
import { library } from '@fortawesome/fontawesome-svg-core'
import { FontAwesomeIcon, fontAwesomeIcon } from '@fortawesome/vue-fontawesome'
import { fas } from '@fortawesome/free-solid-svg-icons' // OPTIMIZE THIS LATER
import { fab } from '@fortawesome/free-brands-svg-icons' // OPTIMIZE THIS LATER
import { far } from '@fortawesome/free-regular-svg-icons' // OPTIMIZE THIS LATER
import { dom } from '@fortawesome/fontawesome-svg-core'
dom.watch() // This will kick of the initial replacement of i to svg tags and configure a MutationObserver
library.add(fas, fab, far)
// END 字体真棒图标
和ReviewDetails.vue,展示了我能想到的所有尝试:
<div>
<div style="color:red">
<fa icon="broom" size="lg"/>
</div>
<fa icon="star" size="lg" style="color: var(--warning)" />
<span style="color: var(--warning)"> <fa :icon="['fas', 'question']" fill="color:red" size="lg"/></span>
<fa icon="arrow-up" size="lg" style="background:MistyRose" />
<fa icon="heart" style="color: var(--warning)" size="lg" />
<fa icon="bone" style="color:#E1FF00" size="lg"/>
<fa icon="arrow-alt-circle-down" style="fill:#E1FF00" size="lg"/>
<fa icon="bomb" fill="#E1FF00" size="lg"/>
<fa icon="baby-carriage" size="lg" style="opacity: 0.2; color: rgb(222, 226, 230)"/>
<fa :icon="['far', 'star']" size="lg" style="color: #E1FF00" />
</div>
这是上面代码产生的屏幕截图:
此外,没有专门针对图标的本地或全局 css,[更新] 但在浏览器中检查显示颜色由 main.css 中的以下内容控制(当我更改color: var(--primary); 下面到color: rgb(242, 114, 12); 例如,图标的颜色和大部分文字的变化):
/* variables */
:root {
--primary: rgb(33, 37, 41); /* was #4f515a; */
--secondary: rgb(28, 117, 188); /* was #ebebeb; */
--warning: #da0f41;
}
* {
margin: 0;
padding: 0;
font-family: 'Poppins', sans-serif;
color: var(--primary);
line-height: 1.40;
font-size: 1.07rem;
}
更新:我在 Firefox、Safari 和 Chrome 浏览器中测试了所有解决方案,问题是一致的。
谢谢!
【问题讨论】:
-
@Joel 的解决方案在此答案的 cmets 中:stackoverflow.com/a/68900556/1459653 等待他重写该答案或将其作为新答案提交,以便给予他荣誉。谢谢大家!
标签: css vue.js font-awesome vuejs3