【问题标题】:Checkboxes Mozilla Cross-Browser issue复选框 Mozilla 跨浏览器问题
【发布时间】:2016-03-14 16:33:50
【问题描述】:

我在 Mozilla 上的复选框遇到了一些问题。该复选框(在http://apespark.com/formifyPro/examples/login.html 上)在 Chrome 上完全可以正常工作,但在 Mozilla 上它看起来像默认复选框。我尝试并添加了-moz-appeareance: none,但似乎它没有读取伪(::before::after)元素。我真的不明白为什么它没有按预期显示。

【问题讨论】:

标签: html css checkbox cross-browser mozilla


【解决方案1】:

您应该设置标签而不是输入字段的样式。

label {
    display: inline-block;
    cursor: pointer;
    // your styles here for text.

}
label:before {
    content:"";
    // styles here for the actual checkbox
}
input[type=checkbox] {
    display: none;
}
input[type=checkbox]:checked + label:before {
    content:"";
    // styles here when checkbox is checked
}

为了安全起见,您应该像您一样从包装标签更改您的 html

<label><input /></label>

到一个像这样的引用

<input id="myInput" />
<label for="myInput"></label>

问候提摩太

【讨论】:

  • 我在使用包装标签时遇到的唯一问题是 CSS 中缺少父选择器...使用包装标签到底有什么问题?它节省了 locs 并且不需要id 避免碰撞。 (我感觉它与 IE 相关......)
  • 我不确定是否有任何区别..试一试...我认为因为 css 从上到下执行它可能不适用于 "input[type=checkbox]:checked + label:before" 选择器.. :)
  • 当我在看这个并发布的时候,我一定是分心了......你是对的,你必须使用 ids 才能设置 @987654327 的样式@ 在“检查”时不同,但是,由于缺少父选择器,您绝对必须这样做。换句话说,在这种情况下使用包装标签甚至不是一种选择。
  • @TimotheusTriebl 你能帮忙吗?试过你所说的一切都搞砸了:apespark.com/formifyPro/examples/login.html
  • hm 看不到混乱.. 该复选框现在可以在 ff 中使用
猜你喜欢
  • 2014-01-14
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 2013-06-01
  • 1970-01-01
相关资源
最近更新 更多