【发布时间】:2016-10-17 00:46:27
【问题描述】:
我正在用 FontAwesome 的图标替换传统的单选按钮。在 Chrome 和 Firefox 中一切正常,但 IE11 出现问题 - 我用来替换单选按钮的图标根本不显示。
使用 Fiddle 进行编辑: https://jsfiddle.net/sow1a04m/
Chrome 中的示例:
IE11 中的示例:
这是我的 HTML:
<tr>
<td class="vert-align">Valid Signed and dated delivery ticket in patient's record.</td>
<td class="text-center vert-align">
<label>
<input type="radio" name="radio-group-1" id="radio-group-1-Y" value="Y" />
</label>
</td>
<td class="text-center vert-align">
<label>
<input type="radio" name="radio-group-1" id="radio-group-1-N" value="N" />
</label>
</td>
<td class="text-center vert-align">
<label>
<input type="radio" name="radio-group-1" id="radio-group-1-NA" value="NA" />
</label>
</td>
</tr>
这是我的 CSS:
#dlg-audit-intake-compliance-checklist input[type=radio] {
visibility: hidden;
}
#dlg-audit-intake-compliance-checklist input[type=radio]:hover {
cursor: pointer;
}
#dlg-audit-intake-compliance-checklist input[type=radio]:before {
visibility: visible;
font-family: FontAwesome;
content: "\f10c";
font-size: 25px;
text-shadow: 1px 1px 0px #ddd;
margin-bottom: 10px !important;
}
#dlg-audit-intake-compliance-checklist input[value=Y]:checked:before {
color: #009C15;
content: "\f00c";
}
#dlg-audit-intake-compliance-checklist input[value=N]:checked:before {
color: #AD0000;
content: "\f00d";
}
#dlg-audit-intake-compliance-checklist input[value=NA]:checked:before {
color: #F7D200;
content: "\f05e";
}
我认为这可能与我应用的 visibility 设置有关,但我自己无法弄清楚。
【问题讨论】:
-
您能否发布一个带有链接字体的工作代码 sn-p,以便我们重现该问题,因为现在需要大量猜测
-
也可以查看这个帖子,它可能会给出提示:stackoverflow.com/questions/23954877/…
-
@LGSon 谢谢!我刚刚用显示问题的小提琴更新了我的问题。在 chrome 中查看 Fiddle 效果很好,但正如您在 IE11 中看到的那样,图标不显示。我也会查看您发布的链接。
-
啊,问题是在输入元素上使用伪元素,它在 IE 中不起作用,而是使用标签作为目标......它实际上也不应该在 Chrome 中起作用,因为伪元素是假设不适用于单个标签元素
标签: html css internet-explorer-11