有没有人设计过带有字体真棒5个图标的复选框?
我已经使用Google搜索,只找到了像http://flatlogic.github.io/awesome-bootstrap-checkbox/demo/
这样的FA-4示例我更新到FA5并使用CSS伪元素运行其他东西,但在复选框内它没有运行。我对没有伪元素的其他解决方案持开放态度。
提前致谢!
小提琴-示例:
/* Checkboxes */
.checkbox input[type="checkbox"] {
display: none;
}
.checkbox label {
padding-left: 0;
}
.checkbox label:before {
content: "";
width: 20px;
height: 20px;
display: inline-block;
vertical-align: bottom;
margin-right: 10px;
line-height: 20px;
text-align: center;
border: 1px solid #ccc;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
font-family: "FontAwesome";
}
.checkbox input[type="checkbox"]:checked+label::before {
content: "\f00c";
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="checkbox">
<input type="checkbox" id="profile_notifications" value="" checked/>
<label for="profile_notifications">
I agree
</label>
</div>
/* Checkboxes */
.checkbox {
padding-left: 10px;
padding-top: 10px;
}
.checkbox input[type="checkbox"] {
display: none;
}
.checkbox label {
padding-left: 0;
}
.checkbox label:before {
content: "";
width: 20px;
height: 20px;
display: inline-block;
vertical-align: bottom;
margin-right: 10px;
line-height: 20px;
text-align: center;
border: 1px solid #ccc;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
font-family: "Font Awesome 5 Solid";
}
.checkbox input[type="checkbox"]:checked+label::before {
font-family: "Font Awesome 5 Solid";
content: "\f00c";
}
.test {
padding-left: 10px;
padding-top: 10px;
}
.test .pseudo-element:before {
display: none;
font-family: "Font Awesome 5 Solid";
content: "\f00c";
}
<script defer src="https://use.fontawesome.com/releases/v5.0.10/js/all.js" integrity="sha384-slN8GvtUJGnv6ca26v8EzVaR9DC58QEwsIk9q1QXdCU8Yu8ck/tL/5szYlBbqmS+" crossorigin="anonymous"></script>
<script>
window.FontAwesomeConfig = {
searchPseudoElements: true
}
</script>
<div class="checkbox">
<input type="checkbox" id="profile_notifications" value="" checked/>
<label for="profile_notifications">
Doesn't work!
</label>
</div>
<div class="test">
<label class="pseudo-element">This works!</label>
</div>
答案 0 :(得分:3)
只需更改字体粗细。
input[type='checkbox'] {display:none;}
input[type='checkbox'] + label:before {
font-family: 'Font Awesome 5 Free';
display: inline-block;
}
/* unchecked */
input[type='checkbox'] + label:before {
content: "\f00c";
font-weight:100;
}
/* checked */
input[type='checkbox']:checked + label:before {font-weight:900;}
答案 1 :(得分:2)
以上对我不起作用。我正在使用Bootstrap 3.3.7(也在Bootstrap 3.4.0中进行了测试)和免费的5.5.0字体。 对我有用的是将其添加到我的自定义css文件中:
/* To get rid of the original and the benefit of not having the blue outline on focus */
input[type='checkbox'], input[type='radio'] {
display:none;
}
.checkbox input[type='checkbox'] + label:before {
font-family: 'Font Awesome 5 Free';
content: "\f00c";
color: #fff;
}
/* font weight is the only important one. The size and padding makes it look nicer */
.checkbox input[type='checkbox']:checked + label:before {
font-weight:900;
font-size: 10px;
padding-left: 3px;
padding-top: 0px;
}
.checkbox input[type="checkbox"]:checked + label::after,
.checkbox input[type="radio"]:checked + label::after {
content: "";
}
编辑:
似乎将这种复选框放在.input-group-addon
中时,该复选框周围的边距和checkbox :: before内部的填充有些偏离。所以我用这个:
.input-group-addon .checkbox, .input-group-addon .radio {
margin-top: 0px;
margin-bottom: 0px;
}
.input-group-addon .checkbox input[type='checkbox']:checked + label:before {
font-weight:900;
font-size: 10px;
padding-left: 2px;
padding-top: 2px;
}
答案 2 :(得分:0)
在将代码字体从4改进为5之后,我为现有项目中的细微更改而苦苦挣扎,例如复选框UI样式的字体消失了。在进行了一些研发和代码检查之后,请按照我显示的简单步骤操作,以使复选框切换到超棒的5号字体。
只需添加选中的字体粗细
CSS
1.使输入类型复选框/收音机显示为:无;
2.在CSS的课程之前或之后添加标签,并将字体家族称为“ font-family:'font awesome 5 free';”在CSS中提供一些内容类型“ content:” \ f004“;”
3.对于选中状态,只需应用600以上的字体粗细
HTML 1.将标签放在复选框后面,并参考复选框ID。
.wishChkBox input[type='checkbox'] {
display:none;
}
.wishChkBox input[type='checkbox']+ label:before {
font-family: 'Font Awesome 5 Free';
content: "\f004";
font-size:1.5rem;
cursor:pointer;
}
.wishChkBox input[type='checkbox']:checked + label:before {
font-weight:600;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/js/all.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css" rel="stylesheet"/>
<div class="wishChkBox">
<input type="checkbox" id="wish1" name="wish1" />
<label for="wish1"> </label>
</div>
答案 3 :(得分:0)
.wishChkBox input[type='checkbox'] {
display:none;
}
.wishChkBox input[type='checkbox']+ label:before {
font-family: 'Font Awesome 5 Free';
content: "\f004";
font-size:1.5rem;
cursor:pointer;
}
.wishChkBox input[type='checkbox']:checked + label:before {
font-weight:600;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/js/all.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css" rel="stylesheet"/>
<div class="wishChkBox">
<input type="checkbox" id="wish1" name="wish1" />
<label for="wish1"> </label>
</div>