Javascript 内置字母的定制收音机盒

Javascript 内置字母的定制收音机盒,javascript,html,css,Javascript,Html,Css,我有一个真正的问题在这里,我需要这种风格的输入收音机如下表: 当P、M、G和GG是我的单选按钮时,有人能帮助我只使用CSS吗? 在上面的fiddle中,只需替换javascripthttp://javabooksync.netai.net/Projects/m.png带有所需的十字图像 在上面的fiddle中,所有标签使用相同的背景图像http://i.imgur.com/BD2XGdN.png 在上面的fiddle中,只需替换javascripthttp://javabooksync.net

我有一个真正的问题在这里,我需要这种风格的输入收音机如下表: 当P、M、G和GG是我的单选按钮时,有人能帮助我只使用CSS吗?

在上面的fiddle中,只需替换javascript
http://javabooksync.netai.net/Projects/m.png
带有所需的十字图像

在上面的fiddle中,所有标签使用相同的背景图像
http://i.imgur.com/BD2XGdN.png

在上面的fiddle中,只需替换javascript
http://javabooksync.netai.net/Projects/m.png
带有所需的十字图像

在上面的fiddle中,所有标签使用相同的背景图像
http://i.imgur.com/BD2XGdN.png

在上面的fiddle中,只需替换javascript
http://javabooksync.netai.net/Projects/m.png
带有所需的十字图像

在上面的fiddle中,所有标签使用相同的背景图像
http://i.imgur.com/BD2XGdN.png

在上面的fiddle中,只需替换javascript
http://javabooksync.netai.net/Projects/m.png
带有所需的十字图像


在上面的fiddle中,所有标签使用相同的背景图像
http://i.imgur.com/BD2XGdN.png

可以使用纯CSS完成,但它不支持IE8或以下版本:

您只需将输入元素的
不透明度设置为
0
,并将它们绝对放置在容器元素中。然后,您可以使用
:checked
伪选择器为该容器中的其他元素设置样式,仅用于选中的输入

见示例:


请注意,我将字母放在
span
元素中,然后使用
input:checked+span
选择该元素。选中输入旁边的范围。

可以使用纯CSS完成,但不支持IE8或以下版本:

您只需将输入元素的
不透明度设置为
0
,并将它们绝对放置在容器元素中。然后,您可以使用
:checked
伪选择器为该容器中的其他元素设置样式,仅用于选中的输入

见示例:


请注意,我将字母放在
span
元素中,然后使用
input:checked+span
选择该元素。选中输入旁边的范围。

可以使用纯CSS完成,但不支持IE8或以下版本:

您只需将输入元素的
不透明度设置为
0
,并将它们绝对放置在容器元素中。然后,您可以使用
:checked
伪选择器为该容器中的其他元素设置样式,仅用于选中的输入

见示例:


请注意,我将字母放在
span
元素中,然后使用
input:checked+span
选择该元素。选中输入旁边的范围。

可以使用纯CSS完成,但不支持IE8或以下版本:

您只需将输入元素的
不透明度设置为
0
,并将它们绝对放置在容器元素中。然后,您可以使用
:checked
伪选择器为该容器中的其他元素设置样式,仅用于选中的输入

见示例:


请注意,我将字母放在
span
元素中,然后使用
input:checked+span
选择该元素。选中输入旁边的跨距。

这可以通过与Blake Mann类似的方式完成,但不需要绝对定位的元素和其他“黑客”。您只需使用
标记即可获得相同的效果:

HTML:

显示了另一种方法,使用
for=“”
属性引用要使用
触发的输入的id

使用背景图像 是一个演示,演示如何使用背景图像执行此操作。我使用了第二个演示的布局,带有
for
属性,因为在我看来这通常更容易使用。此演示使用以下内容:

label.coolbox {
    margin:2px;
    display:inline-block;
    width:47px;
    height:36px;
    background-image: url("http://i.imgur.com/BD2XGdN.png");
    background-position:top;
}
input:checked + label.coolbox {
    background-position:bottom;
}
现在发生的是它在
背景位置之间切换
top
表示显示上半部分,
bottom
表示显示下半部分。这是因为我使
宽度
高度
与该图像的两半中的一个完全相同。如果修改宽度或高度,背景图像看起来就不太好

您也可以尝试:


如果您在任何演示中更改
名称
属性,使其在所有输入中都相同,然后将
类型
属性更改为
无线电
,您将获得与无线电盒子演示相同的效果。

这可以通过与Blake Mann类似的方式完成,但不需要绝对定位的元素和其他“黑客”。您只需使用
标记即可获得相同的效果:

HTML:

显示了另一种方法,使用
for=“”
属性引用要使用
触发的输入的id

使用背景图像 是一个演示,演示如何使用背景图像执行此操作。我使用了第二个演示的布局,带有
for
属性,因为在我看来这通常更容易使用。此演示使用以下内容:

label.coolbox {
    margin:2px;
    display:inline-block;
    width:47px;
    height:36px;
    background-image: url("http://i.imgur.com/BD2XGdN.png");
    background-position:top;
}
input:checked + label.coolbox {
    background-position:bottom;
}
现在发生的是它在
背景位置之间切换
top
表示显示上半部分,
bottom
表示显示下半部分。这是因为我使
宽度
高度
与该图像的两半中的一个完全相同。如果修改宽度或高度,背景图像看起来就不太好

您也可以尝试:

label.coolbox { margin:2px; display:inline-block; width:47px; height:36px; background-image: url("http://i.imgur.com/BD2XGdN.png"); background-position:top; } input:checked + label.coolbox { background-position:bottom; }