【发布时间】:2015-02-02 22:28:14
【问题描述】:
我在 wordpress 后循环中执行以下单选按钮代码:
<input id="<?php the_title(); ?>" type="radio" name="phoneSelect" value="test">
<label for="<?php the_title(); ?>">Select</label>
每个生成的单选按钮都有一个唯一的 ID,它也为 =“”分配一个唯一的标签。当我执行以下样式时,选中的元素仅适用于一个单选按钮。当我选择另一个单选按钮时,第一个按钮会更改样式,但下一个单选按钮不会应用 css 设置
input[type=radio] {
display:none;
}
input[type=radio] + label {
display:inline-block;
margin:-2px;
padding: 4px 12px;
margin-bottom: 0;
font-size: 14px;
line-height: 20px;
color: #333;
text-align: center;
text-shadow: 0 1px 1px rgba(255,255,255,0.75);
vertical-align: middle;
cursor: pointer;
background-color: #f5f5f5;
background-image: -moz-linear-gradient(top,#fff,#e6e6e6);
background-image: -webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));
background-image: -webkit-linear-gradient(top,#fff,#e6e6e6);
background-image: -o-linear-gradient(top,#fff,#e6e6e6);
background-image: linear-gradient(to bottom,#fff,#e6e6e6);
background-repeat: repeat-x;
border: 1px solid #ccc;
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);
border-bottom-color: #b3b3b3;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
-moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);
}
input[type=radio]:checked + label {
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
box-shadow: inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);
background-color:#e0e0e0;
}
下面的 JSfiddle 可以复制问题(显然是因为 php 没有被执行)http://jsfiddle.net/83uc5xy5/
【问题讨论】:
-
它对我有用...jsFiddle.
-
@leftside 当我为每个手动设置不同的 id 时,它工作正常。 id 被注入 the_title();的 wordpress 并且应该仍然是唯一的
-
ID 无关紧要。再次检查 jsFiddle - 现在没有 ID。
-
@leftside,好的,所以我发现以下代码是导致问题的原因:
input[type=radio] { visibility:none; } -
@leftside 你可以检查这个小提琴复制问题:jsfiddle.net/jeqy9s4m
标签: html css radio-button