【CSS笔记】CSS3美化复选框和单选框

以前在网上看到各种有关css3美化复选框和单选框的例子,今天整理出来,方便以后查看。

此例涉及到:input和lable的绑定,opacity(不透明度)的使用

先上效果:

 

复选框源码:

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS3美化复选框</title>
    <style type="text/css">
        form {
  border: 1px solid #ccc;
  padding: 20px;
  width: 300px;
  margin: 30px auto;
}

.wrapper {
  margin-bottom: 10px;
}

.box {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  position: relative;
  border: 2px solid green;
  vertical-align: middle;
}

.box input {
  display: block;
  opacity: 0;
  position: absolute;
  top:0;
  left:0;
  z-index: 100;
  width: 20px;
  height: 20px;
}

.box span {
  position: absolute;
  top: -10px;
  right: 3px;
  font-size: 30px;
  font-weight: bold;
  font-family: Arial;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  color: green;
}

input[type="checkbox"] + span {
  opacity: 0;
}

input[type="checkbox"]:checked + span {
  opacity: 1;
}
    </style>
</head>
<body>
    <form action="#">
  <div class="wrapper">
    <div class="box">
      <input type="checkbox" checked="checked" id="usename" /><span></span>
    </div>
    <lable for="usename">我是选中状态</lable>
  </div>
  
  <div class="wrapper">
    <div class="box">
      <input type="checkbox"  id="usepwd" /><span></span>
    </div>
    <label for="usepwd">我是未选中状态</label>
  </div>
</form>
</body>
</html>

 

 

 

 单选框源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS3美化单选框</title>
    <style type="text/css">
        form{
            border: 1px solid #ccc;
            padding: 20px;
            width: 300px;
            margin: 30px auto;
        }
        .wrapper{
            margin-bottom: 10px;
        }
        .box{
            display: inline-block;
            width: 30px;
            height: 30px;
            margin-right: 10px;
            position: relative;
            background: orange;
            vertical-align: middle;
            border-radius: 50%;
        }
        .box input{
            opacity: 0;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 100;
        }
        .box span{
            display: block;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            left: 50%;
            background: #fff;
            margin:-5px 0 0 -5px;
            z-index: 1px;
        }
        input[type="radio"] + span{
            opacity: 0;
        }
        input[type="radio"]:checked + span{
            opacity: 1;
        }
    </style>
</head>
<body>
    <form action="#">
        <div class="wrapper">
            <div class="box">
                <input type="radio" checked="checked" id="boy"
                name="1" />
                <span></span>
            </div>
            <label for="boy"></label>
        </div>
        <div class="wrapper">
            <div class="box">
                <input type="radio" id="girl" name="1" />
                <span></span>
            </div>
            <label for="girl"></label>
        </div>
    </form>
</body>
</html>

 

posted @ 2016-02-12 10:18  海岛心  阅读(2221)  评论(3编辑  收藏  举报