添加标签:输入元素后

时间:2017-03-01 04:42:12

标签: html css css3

我制作自定义广播复选框这是我的代码:

HTML:



.radio-custom input[type="radio"]:checked + label:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 10.5px;
  margin-top: -5px;
  display: inline-block;
  font-size: 11px;
  line-height: 1;
  width: 10px;
  height: 10px;
  background-color: #117efd;
  border-radius: 50px;
}

<div class="radio-custom">
     <input type="radio" name="test" id="test" value="test" />
     <label>Test</label>
</div>
&#13;
&#13;
&#13;

如果我在<input type="radio" name="test" id="test" value="test" /> label:after之后添加任何元素,将无法解决此问题可以解决的问题?

2 个答案:

答案 0 :(得分:1)

$("#result").text(data.result); 更改为$("#result").html(data.result); ,这样就可以了。

你的工作不起作用的原因是因为你使用+,它是相邻的选择器或下一个兄弟选择器。将其更改为一般同级选择器~只有在第一个元素前面有第二个元素并且两者具有相同的父元素时才会匹配。

+
~

答案 1 :(得分:0)

遵循以下结构:

&#13;
&#13;
label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin-right: 15px;
  font-size: 13px;
}
input[type=radio] {
  display: none;
}
label:before {
  content: "";
  display: inline-block;
 
  width: 16px;
  height: 16px;
 
  margin-right: 10px;
  position: absolute;
  left: 0;
  bottom: 1px;
  background-color: #aaa;
  box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8);
}
.radio label:before {
  border-radius: 8px;
}
input[type=radio]:checked + label:before {
    content: "\2022";
    color: #f3f3f3;
    font-size: 30px;
    text-align: center;
    line-height: 18px;
}
&#13;
<div class="radio">
  <input id="male" type="radio" name="gender" value="male">
  <label for="male">Male</label>
  <input id="female" type="radio" name="gender" value="female">
  <label for="female">Female</label>
</div>
&#13;
&#13;
&#13;