Css 如何创建通过单击选择选项的表单元素?

Css 如何创建通过单击选择选项的表单元素?,css,forms,html,radio-button,Css,Forms,Html,Radio Button,我希望有一个表单元素,比如一个下拉框,或者类似的东西,一次显示所有的项目,类似于一个单选按钮,但是旁边没有圆圈。例如,这里有一张我想要的快速图片 我已经知道如何制作div和诸如此类的东西,我只需要知道如何单击它,它就会自动变为黄色并被“选中”。如果它可以是JS免费的,那会有很大帮助。如果不使用javascript或任何东西,您会受到一些限制,但是您可以尝试使用:target伪类。看看这个jsfiddle:如果不使用javascript或任何东西,您会受到一些限制,但是您可以尝试使用:targe

我希望有一个表单元素,比如一个下拉框,或者类似的东西,一次显示所有的项目,类似于一个单选按钮,但是旁边没有圆圈。例如,这里有一张我想要的快速图片


我已经知道如何制作div和诸如此类的东西,我只需要知道如何单击它,它就会自动变为黄色并被“选中”。如果它可以是JS免费的,那会有很大帮助。

如果不使用javascript或任何东西,您会受到一些限制,但是您可以尝试使用
:target
伪类。看看这个jsfiddle:

如果不使用javascript或任何东西,您会受到一些限制,但是您可以尝试使用
:target
伪类。看看这个JSFIDLE:

您仍然可以使用单选按钮,但是将它们包装到标签中并隐藏输入本身。这是一个例子

HTML:


也可以考虑目标浏览器<强>:检查< /强>支持。例如,IE8及以下版本本机不支持此选择器。

您仍然可以使用单选按钮,但将其包装到标签中并隐藏输入本身。这是一个例子

HTML:

也可以考虑目标浏览器<强>:检查< /强>支持。例如,IE8及以下版本本机不支持此选择器

<label>
    <input type="radio" name="item">
    <img src="http://lorempixel.com/140/140/abstract">
    <div>Some text</div>
</label>
label {
    display: inline-block;
    text-align: center;
    position: relative;
    overflow: hidden;
}
div {
    background: cyan;
    line-height: 40px;
}
input[type=radio] {
    position: absolute;
    top: -100px;
}
input[type=radio]:checked ~ div {
    background: lime;
}