字体真棒 5 unicode
Font Awesome 5 unicode
Font Awesome 5 星图标有 <i class="fas fa-star"></i>
和 <i class="far fa-star"></i>
不同的是 fas , far
两者的 Unicode 是 f005
现在我想用它作为我的评级系统首先是普通星星,点击后变成实心星星,但是我如何在我的 css 中定义这个 fas
far
?
代码
input.star:checked ~ label.star:before {
content: '\f005';
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
label.star:before {
content: '\f005';
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
用我上面的代码我只得到实心星
不能 100% 确定在 inactive/default 状态下您想要哪种类型的星星,所以我猜您需要空心星星。您可以通过将 font-weight
更改为 400
或 900
来显着更改 FA5 图标的外观。我在演示中的重要评论旁边放置了星星。剩下的变化只是可选的杂项样式,如 text-shadows
、:hover
上的 2 way transition
s 等。虽然是可选的,但你应该尝试隐藏实际的复选框并只使用标签,这样更好美学上的 IMO。
演示
input.star {
/*⭐} By using the label as the interface (button) this can be hidden*/
display: none;
}
.star {
color: rgba(255, 255, 255, 0);
text-shadow: .25px -.25px 1px #000;
transition: .2s ease;
}
.star:hover {
cursor: pointer;
transition: .3s ease;
text-shadow: -5px -6px 4px rgba(255, 142, 86, 0.6);
}
input.star:checked~label.star:hover {
transition: .3s ease;
text-shadow: -5px -6px 4px rgba(255, 142, 86, 0.6);
}
label.star::before {
content: "\f005";
/*⭐} Optional but recommended */
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
/*⭐} By lowering the font-weight, the icon is an outline */
font-weight: 400;
font-size: 32px;
}
input.star:checked~label.star::before {
content: '\f005';
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
<link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
<!------------{} Follow this pattern so that the label acts as a
------------------ remote button to the hidden checkbox-->
<!--⭐} Set an #id on checkbox-->
<input id='lucky' class='star' type='checkbox'>
<!--⭐} Set a [for] attribute with the value of checkbox #id-->
<label for='lucky' class='star'></label>
如果您使用的是 JS+SVG 版本,请阅读:
常规和纯色版本之间的区别是font-weight
。你只需要调整这个来在两个版本之间交换:
input.star:checked ~ label.star:before {
content: '\f005';
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
label.star:before {
content: '\f005';
font-family: 'Font Awesome 5 Free';
font-weight: 200;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css">
<input type="checkbox" class="star">
<label class="star"></label>
这里是另一个相关问题了解更多详情。
此外,值得注意的是,除了 f005
实心星之外,FontAwesome 还具有 unicode f006
空心星。至少在我使用的版本中是这样。
Font Awesome 5 星图标有 <i class="fas fa-star"></i>
和 <i class="far fa-star"></i>
不同的是 fas , far
两者的 Unicode 是 f005
现在我想用它作为我的评级系统首先是普通星星,点击后变成实心星星,但是我如何在我的 css 中定义这个 fas
far
?
代码
input.star:checked ~ label.star:before {
content: '\f005';
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
label.star:before {
content: '\f005';
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
用我上面的代码我只得到实心星
不能 100% 确定在 inactive/default 状态下您想要哪种类型的星星,所以我猜您需要空心星星。您可以通过将 font-weight
更改为 400
或 900
来显着更改 FA5 图标的外观。我在演示中的重要评论旁边放置了星星。剩下的变化只是可选的杂项样式,如 text-shadows
、:hover
上的 2 way transition
s 等。虽然是可选的,但你应该尝试隐藏实际的复选框并只使用标签,这样更好美学上的 IMO。
演示
input.star {
/*⭐} By using the label as the interface (button) this can be hidden*/
display: none;
}
.star {
color: rgba(255, 255, 255, 0);
text-shadow: .25px -.25px 1px #000;
transition: .2s ease;
}
.star:hover {
cursor: pointer;
transition: .3s ease;
text-shadow: -5px -6px 4px rgba(255, 142, 86, 0.6);
}
input.star:checked~label.star:hover {
transition: .3s ease;
text-shadow: -5px -6px 4px rgba(255, 142, 86, 0.6);
}
label.star::before {
content: "\f005";
/*⭐} Optional but recommended */
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
/*⭐} By lowering the font-weight, the icon is an outline */
font-weight: 400;
font-size: 32px;
}
input.star:checked~label.star::before {
content: '\f005';
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
<link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet">
<!------------{} Follow this pattern so that the label acts as a
------------------ remote button to the hidden checkbox-->
<!--⭐} Set an #id on checkbox-->
<input id='lucky' class='star' type='checkbox'>
<!--⭐} Set a [for] attribute with the value of checkbox #id-->
<label for='lucky' class='star'></label>
如果您使用的是 JS+SVG 版本,请阅读:
常规和纯色版本之间的区别是font-weight
。你只需要调整这个来在两个版本之间交换:
input.star:checked ~ label.star:before {
content: '\f005';
color: #e74c3c;
transition: all .25s;
font-family: 'Font Awesome 5 Free';
font-weight: 900;
}
label.star:before {
content: '\f005';
font-family: 'Font Awesome 5 Free';
font-weight: 200;
}
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css">
<input type="checkbox" class="star">
<label class="star"></label>
这里是另一个相关问题
此外,值得注意的是,除了 f005
实心星之外,FontAwesome 还具有 unicode f006
空心星。至少在我使用的版本中是这样。