Шрифт Awesome Цвет фона
При использовании блестящего шрифта Awesome, как я могу сделать значки не прозрачными - например, если я хочу использовать http://fortawesome.github.io/Font-Awesome/icon/chevron-circle-up/, но не иметь "стрелку вверх" "внутри черного круга будет прозрачный, но сплошной цвет (белый)?
Спасибо!
Ответы
Ответ 1
UPDATE:
Как указал xavier ниже, у font-awesome есть Stacked Icons, который позволит вам поместить круг за иконкой без использования хака. По сути, вы кладете любой значок, который хотите, поверх их значка fa-circle
. Затем вы можете создать стиль круга независимо от значка и изменить его на любой другой цвет.
Вот пример, основанный на коде с их сайта:
.fa-circle {
color: black;
}
<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>
Ответ 2
вы можете использовать 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>
с:
.icon-a {
color: #FFF;
font-size: 0.9em;
}
.icon-b {
color: #000;
}
Ответ 3
У меня есть еще один взлом для людей, которые все еще интересуются:
<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
.
Ответ 4
Белый фон масштабируется от размера шрифта 1px до 150px для fa-plus-circle.
// 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>
Ответ 5
Самым простым решением, которое я нашел, было просто использовать фон с радиальным градиентом.
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%);
}
Вы можете просто изменить нужные цвета или селекторы, но это предотвратит переход цвета фона на круговые стрелки или что-либо подобное.
Надеюсь, что это кому-то поможет, так как некоторые другие ответы не будут хорошо масштабироваться.