【发布时间】:2018-01-14 23:01:11
【问题描述】:
我正在尝试使用 FontAwesome 获取仅 CSS 的单选和复选框按钮。我有一个jsfiddle here。
当复选框有一个带有内容的标签时,我正在使用以下 CSS 效果很好。我现在正试图在我的页面上的表格中创建一个复选框矩阵,图标显示正常,但无法单击/更改状态。
我的 CSS:
/**
* Checkboxes
*/
input[type=checkbox] {
display: none;
}
/* to hide the checkbox itself */
input[type=checkbox] + label:before {
display: inline-block;
letter-spacing: 5px;
content: "\f0c8";
font-family: 'Font Awesome 5 Pro';
}
/* unchecked icon */
input[type=checkbox]:checked + label:before {
content: "\f14a";
letter-spacing: 5px;
}
/**
* Radio buttons
*/
input[type=radio] {
display: none;
}
/* to hide the radio itself */
input[type=radio] + label:before {
display: inline-block;
letter-spacing: 5px;
content: "\f111";
font-family: 'Font Awesome 5 Pro';
}
/* unchecked icon */
input[type=radio]:checked + label:before {
content: "\f192";
letter-spacing: 5px;
}
input[type=checkbox] + label:hover,
input[type=radio] + label:hover {
cursor: pointer;
}
我的 HTML:
<div>
<i class="fas fa-square"></i> SAMPLE UNCHECKED
<br/>
<i class="fas fa-check-square"></i> SAMPLE CHECKED
<br/>
<br/>
<br/>
<input name="access_chk[]" class="access_chk" type="checkbox" checked>
<label for="access_chk[]"></label>
<br/>
<input name="access_chk[]" class="access_chk" type="checkbox" checked>
<label for="access_chk[]"></label>
<br/>
<input name="access_chk[]" class="access_chk" type="checkbox" checked>
<label for="access_chk[]"></label>
</div>
【问题讨论】:
-
你有什么问题?
-
图标不能点击,因为你没有点击复选框,只是之前的伪元素。唯一可以设置复选框样式的方法是用 js 模拟事件
-
嗨@Julien Ambos,复选框/收音机无法使用FA。见小提琴。
-
@MarceloOrigoni 你确定吗? jsfiddle.net/d0do7sff/19
-
我认为这不是对已标记问题的欺骗。标记的问题是关于填充/间距。这个问题是关于实际功能的。解决方案完全不同。