美文网首页
CSS3修改input [type="radio&qu

CSS3修改input [type="radio&qu

作者: 爱鸽子的玉米君 | 来源:发表于2016-08-24 23:34 被阅读841次

最近业务需求需要做一个自定义的input [type="radio"]样式,在慕课网的CSS3教程中看到了相关的一个选择器的知识:checked选择器
教程里的代码给了我一个很方便的demo。于是我自己改造了一下,实现了自己想要的效果。

talk is cheap,show me the code

Ok,let us do it
首先是HTML结构

<div class="form1">
  <p>工作技能:</p>
  <form action="#">
    <div>
      <div class="box">
        <input type="radio" id="best-1" name="evaluation" /><span></span>
      </div>
      <label for="best-1">优秀:保证质量,高效,而可承担额外工作</label>
    </div>
    <div>
      <div class="box">
        <input type="radio" id="fine-1" name="evaluation" /><span></span>
      </div>
      <label for="fine-1">良好:能保质保量,按时完成任务</label>
    </div>
    <div>
      <div class="box">
        <input type="radio" id="medium-1" name="evaluation" /><span></span>
      </div>
      <label for="medium-1">中等:可基本完成任务,无明显亮点</label>
    </div>
    <div>
      <div class="box">
        <input type="radio" id="bad-1" name="evaluation"  /><span></span>
      </div>
      <label for="bad-1">差:可基本完成任务,无明显亮点</label>
    </div>
    </div>
  </form>
</div>

接下来是比较关键的CSS

*{margin: 0;padding: 0;}
  p{
    position: absolute;
    line-height: 1;}
  form {
    display: inline-block;
    margin-left: 89px;}
  .box {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 10px;
    position: relative;
    background: #fff;
    vertical-align: middle;
    border:1px solid #e4e4e7;
    border-radius: 100%;}
  .box input {
    opacity: 0;
    position: absolute;
    top:-3px;
    left:-4px;
    width: 100%;
    height:100%;
    z-index:100;/*使input按钮在span的上一层,不加点击区域会出现不灵敏*/}
  input+span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius:50%;
    position: absolute;
    background: #1796f9;
    top: 50%;
    left:50%;
    margin: -3px 0  0 -3px;
    z-index:1;}
  input[type="radio"] + span {
    opacity: 0;}
  input[type="radio"]:checked + span {
    opacity: 1;}

话不多说,上图

效果图

相关文章

网友评论

      本文标题:CSS3修改input [type="radio&qu

      本文链接:https://www.haomeiwen.com/subject/tfbosttx.html