仅使用CSS自定义复选框输入

时间:2012-09-13 19:51:03

标签: html css html5 css3

我正在尝试使用CSS创建一个自定义复选框,并没有太多运气。我尝试了两种不同的技术:

  1. http://lea.verou.me/2011/05/rule-filtering-based-on-specific-selectors-support/
  2. Custom images as radio buttons(来自derik的建议)
  3. 第一个效果最好,并在IE9,FF和Chrome中正确显示。但是,Chrome中的功能似乎有些偏差。在Chrome上进行测试时,我无法点击图片导致“已选中”更改,而是必须点击标签的文字。有没有人找到更好的,只有CSS的方式?有没有办法纠正Chrome中的行为?

3 个答案:

答案 0 :(得分:8)

迈克一个很好的解决方案就是不设置复选框的样式,而是设置复选框的标签并隐藏复选框按钮。

label { display: block; background: green; padding:10px; }
input[type="checkbox"] { display: none; }

<div>
<label for="example">Style me</label><input type="checkbox" id="example" />
</div>

当您单击标签时,它将选中复选框,隐藏此选项并使用css / javascript对标签执行任何操作。这比尝试设置复选框的样式更容易,因为所有浏览器都以不同的方式呈现输入。

答案 1 :(得分:3)

您可以使用伪元素:之前。这样你仍然可以获得复选框的功能。在我的例子中,我只是改变了颜色,但你可以添加一个白色背景和你自己的自定义图像背景:url(yourimage.png)。

在这里查看我的垃圾箱

http://jsbin.com/ABoW/1/edit

答案 2 :(得分:0)

我推荐这个版本: http://equaltozero.ro/jquery-custom-form-v2-custom-input-type-checkbox-radio-and-custom-select-plugin/(这是我创建的一个小插件)

也许你会发现这对你有用。 : - )

从“@Lelio Faieta”的建议,我将写下有关该链接的更多细节。

这个插件(查询小插件)允许您使用输入类型(复选框和无线电)设计,禁用操作和自定义SELECT。这个版本可以让您更好地使用复选框。