You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jQuery 3.2.1时,jQuery UI搭配Font Awesome出现异常效果

解决jQuery UI按钮悬停时出现额外Caret符号的问题

这个问题我之前碰到过,根源在于jQuery UI的button组件在hover状态下,会给.ui-icon元素自动生成一个::after伪元素来显示小caret箭头,而你之前的CSS只处理了原生图标本身,没覆盖这个伪元素的样式。

只需要给你的CSS加上这一行就能彻底解决:

/* 清空Font Awesome图标元素的hover伪元素内容 */
.ui-icon[class*=" fa-"]::after {
    content: "";
}

完整的CSS代码如下:

/* Allow Font Awesome Icons in lieu of jQuery UI and only apply when using a FA icon */
.ui-icon[class*=" fa-"] {
    /* Remove the jQuery UI Icon */
    background: none repeat scroll 0 0 transparent;
    /* Remove the jQuery UI Text Indent */
    text-indent: 0;
}
/* 新增:移除hover时的caret伪元素 */
.ui-icon[class*=" fa-"]::after {
    content: "";
}

修改后再测试,按钮悬停时那个多余的小箭头就消失了。原理很直接:我们通过清空伪元素的content属性,让jQuery UI原本要显示的caret不再渲染,同时保留Font Awesome图标的正常显示。

内容的提问来源于stack exchange,提问作者Romualdo Caruso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:16:54