【发布时间】:2011-09-18 23:44:39
【问题描述】:
我正在使用 CSS 设置输入 [type=radio] 的样式,因为我需要用图像替换默认收音机。 实际上我正在做的是隐藏输入元素,并显示带有图像背景的样式标签。
为此,我使用了新的 CSS3 选择器“#myinputradio + label”和“myinputradio:checked + label”。 使用每个浏览器的最新版本(包括 IE9)都可以正常工作,但我需要让它工作到 IE7。
我也可以参考 JQuery,但我想为 JS 和 CSS3 就绪的浏览器使用相同的 CSS 选择器(我有很多无线电输入,每个都有自己的背景图像,从一个常见的精灵放置)。
有什么方法可以支持旧浏览器吗?
这里是 HTML 示例:
<input id="euro" type="radio" value="euro" checked="" name="currency">
<label for="euro"></label>
这里是用来设置样式的 CSS:
#euro + label /*and all other checkboxes*/ {
display: inline-block;
width: 37px;
height: 37px;
background: url(../img/sprites.png);
}
#euro + label {
background-position: 1042px 898px;
}
#euro:checked + label {
background-position: 1108px 898px;
}
如果您需要更多信息,请询问我。 谢谢。
【问题讨论】:
-
在点击收音机时使用 JS 添加/删除类名 'checked'。然后在 CSS 中除了 :checked 之外,还要添加 .checked 的规则。