FontAwesome图标无法显示求助:宽高0x0且display属性限制修改
解决FontAwesome图标宽高0x0无法显示的问题
问题根源
FontAwesome的<i>图标元素默认是display: inline,这类行内元素无法设置宽高,因此会出现尺寸为0x0的情况,导致图标无法显示。
解决方案
1. 修改图标元素的display属性
给图标添加自定义样式,将display设为inline-block或block,同时可通过字体大小或宽高控制图标尺寸:
.fa-solid { display: inline-block; font-size: 24px; /* 基于字体特性,字号直接控制图标大小 */ /* 也可直接设置宽高:width: 24px; height: 24px; */ }
或者给包裹图标的.icon-bar设置样式,间接让图标正常显示:
.icon-bar { display: inline-block; padding: 6px; /* 可选,扩大点击交互区域 */ } .icon-bar .fa-solid { display: inline-block; font-size: 20px; }
2. 使用FontAwesome内置尺寸类
FontAwesome提供了预定义的尺寸类(如fa-lg、fa-2x、fa-3x等),这些类会自动处理display属性,直接添加到图标元素即可:
<i class="fa-solid fa-ba-staggered fa-lg"></i>
3. 确认资源引入正确
检查你下载的FontAwesome CSS文件是否已正确引入到HTML的<head>中,示例路径如下:
<link rel="stylesheet" href="/fontawesome/css/all.min.css">
请将路径替换为你本地实际的文件位置。
修改后的完整代码示例
CSS代码
.container { padding-left: 15px; padding-right: 15px; margin-left: auto; margin-right: auto; } /* Small */ @media (min-width: 768px) { .container { width: 750px; } } /* Medium */ @media (min-width: 992px) { .container { width: 970px; } } /* Large */ @media (min-width: 1200px) { .container { width: 1170px; } } /* End Global Rules */ header { padding: 20px; } header .container { display: flex; justify-content: space-between; align-items: center; } /* 新增图标样式 */ .icon-bar .fa-solid { display: inline-block; font-size: 24px; color: #333; /* 可选,自定义图标颜色 */ }
HTML代码
<header> <div class="container"> <div> <img class="logo" src="/images/logo.png" alt="" /> </div> <div class="Links"> <span class="icon-bar"> <i class="fa-solid fa-ba-staggered"></i> </span> <ul> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=""></a></li> <li><a href=""></a></li> </ul> </div> </div> </header>
内容的提问来源于stack exchange,提问作者Abdalmalk kasem
相关产品推荐
相关产品推荐

