【发布时间】:2018-05-25 05:09:45
【问题描述】:
我有一个反应组件,它存在于两个不同的应用程序中,有两个不同的webpack 脚手架。
在里面,我正在使用这样的FontAwesome 组件(react-fontawesome):
<FontAwesome
name="chevron-left"
className="viewtoggle"
onClick={() => doSomething()}
/>
现在,在两个应用程序之一中,viewtoggle 定义优先于 FontAwesome 默认 css fa fa-chevron-left,但在另一个应用程序中则相反,导致 font-size 的 viewtoggle 定义和line-height 被跳过。
在 chrome 调试器中检查这一点,span 上的类具有正确且相同的序列fa fa-chevron-left viewtoggle,请参见屏幕截图。但是,它们在调试器中具有不同的垂直顺序,表示不同的优先级。这可能是什么原因?
我检查的 3 个浏览器的效果相同,所以这不是浏览器问题。但是还有什么会导致这种差异呢?
更新我希望找到一个不处理FontAwesome internals(或!important)的解决方案。
【问题讨论】:
-
简单到可以将规则中的选择器更改为更具体的
.fa.viewtoggle{ ..}。非常标准的 CSS 故障排除 -
是的,或者
!important。我对原因很感兴趣,因为我不想摆弄我正在使用的组件的内部结构(或使用!important)。 -
类在 html 中列出的顺序无关紧要。重要的是加载/定义 CSS 文件的顺序。最后一个获胜。
标签: javascript css reactjs webpack font-awesome