小编典典

如何使用 CSS 设置复选框的样式

all

我正在尝试使用以下方式设置复选框的样式:

<input type="checkbox" style="border:2px dotted #00f;display:block;background:#ff0000;" />

但是没有应用样式。该复选框仍显示其默认样式。我如何给它指定的样式?


阅读 383

收藏
2022-02-28

共1个答案

小编典典

更新:

下面的答案引用了 CSS 3 广泛可用之前的状态。在现代浏览器(包括 Internet Explorer 9
和更高版本)中,使用您喜欢的样式创建复选框替换更简单,而无需使用 JavaScript。

以下是一些有用的链接:

值得注意的是,根本问题没有改变。您仍然不能将样式(边框等)直接应用于复选框元素,并让这些样式影响 HTML
复选框的显示。然而,改变的是现在可以隐藏实际的复选框并用您自己的样式元素替换它,只使用 CSS。特别是,因为 CSS
现在有一个广泛支持的:checked选择器,您可以使您的替换正确地反映框的选中状态。


较早的答案

这是一篇关于样式复选框的有用文章。基本上,该作者发现它因浏览器而异,而且许多浏览器总是显示默认复选框,无论您如何设置它。所以真的没有一个简单的方法。

不难想象一种解决方法,您可以使用 JavaScript 在复选框上叠加图像,然后单击该图像会导致真正的复选框被选中。没有 JavaScript
的用户会看到默认复选框。

编辑添加:这是一个为您执行此操作的好脚本;它隐藏了真正的复选框元素,将其替换为样式跨度,并重定向点击事件。

2022-02-28