当使用辉煌的Font Awesome时,如何使图标不透明 - 例如,如果我想使用http://fortawesome.github.io/Font-Awesome/icon/chevron-circle-up/但没有"向上箭头"在黑色圆圈内是透明但纯色(白色)?
谢谢!
答案 0 :(得分:35)
你可以使用fa-stack和另一个下方的fa-circle图标来更好地控制边界处的像素:
<span class="fa-stack">
<i class="fa fa-circle fa-stack-1x icon-a"></i>
<i class="fa fa-times-circle fa-stack-1x icon-b"></i>
</span>
with:
.icon-a {
color: #FFF;
font-size: 0.9em;
}
.icon-b {
color: #000;
}
答案 1 :(得分:31)
<强>更新强>
正如xavier在下面指出的那样,font-awesome有Stacked Icons,它可以让你在一个图标后面放一个圆圈而不使用黑客。基本上,您可以在fa-circle
图标的顶部堆叠您想要的任何图标。然后,您可以独立于图标设置圆形样式,并将其更改为您喜欢的任何颜色。
以下是基于其网站代码的示例:
.fa-circle {
color: black;
}
&#13;
<link href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" rel="stylesheet"/>
<span class="fa-stack" style="vertical-align: top;">
<i class="fas fa-circle fa-stack-2x"></i>
<i class="fas fa-chevron-up fa-stack-1x fa-inverse"></i>
</span>
&#13;
原始回答: 不幸的是,整个图标被认为是单个&#34;字符&#34;在页面上,因此,您无法控制它。你可以简单地设置一个&#34;颜色&#34;用于将字符/图标的颜色设置为所需的属性。
现在,有可能创造性的黑客攻击。由于角色的中间部分是透明的,因此您可以在角色后面设置彩色背景,通过执行以下操作,使中间颜色看起来不同:
<i class="fa fa-chevron-circle-up"></i>
然后在你的CSS中:
.fa-chevron-circle-up {
background: yellow;
border-radius: 50%;
height: 1em;
width: 1em;
}
如果背景圈偏移了图标,则可以使用line-height
进行修复。
答案 2 :(得分:8)
对于仍然感兴趣的人,我还有另一个黑客攻击:
<i class="fa fa-chevron-circle-up fa_with_bg"></i>
和css:
.fa_with_bg{
position: relative;
}
.fa_with_bg::after{
position: absolute;
content: '';
background: #fff;
z-index: -1;
top: 10px;
left: 3px;
width: 35px;
height: 33px;
}
您只需要将fa_with_bg
课程添加到其中
*您可能需要使用top
,left
,width
和height
属性进行一些播放。
答案 3 :(得分:1)
我发现的最简单的解决方案是仅使用具有径向渐变的背景。 HTML:
<i aria-hidden="true" class="fa fa-arrow-alt-circle-up fa-3x"></i>
CSS:
.fa{
color: red;
background: radial-gradient(grey 50%, transparent 50%);
}
您可以只更改所需的颜色或选择器,但这可以防止背景颜色越过圆圈箭头或类似的颜色。
希望这对某人有帮助,因为其他一些答案可能无法很好地扩展。
答案 4 :(得分:0)
白色背景的字体大小从1px缩放到150px(加正圆)。
// Note: Change background color to match your criteria
// SCSS
.fa-bg-white {
position: relative;
&:before {
position: relative;
z-index: 1;
}
&:after {
position: absolute;
content: '';
background: #FFF;
border-radius: 50%;
z-index: 0;
top: 10%;
left: 10%;
width: 75%;
height: 75%;
}
}
// HTML
<i class="fa fa-plus-circle fa-bg-white"></i>