利用CSS3美化單選、複選按鈕的顯示樣式

來源:互聯網
上載者:User
眾所周知,表單中的一寫元素原生樣式不是很好看,項目中用到的時候需要最佳化,下面這篇文章主要介紹了如何利用CSS3美化單選、複選按鈕的顯示樣式,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

相信大家都知道在表單元素中,選項按鈕和複選按鈕都具有選中和未選中狀態。要覆寫這兩個按鈕預設樣式比較困難。在CSS3中,我們可以通過狀態選取器“:checked”配合其他標籤實現自訂樣式。利用CSS3我們可以打造非常具有個人化的使用者表單,本文中實現的效果非常不錯,感興趣的朋友們下面來一起學習學習。

如下

執行個體代碼

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>複選單選樣式</title>    <link rel="stylesheet" href="style.css"></head><style>    form {      border: 1px solid #ccc;      padding: 20px;      width: 300px;    }    .wrapper {      margin-bottom: 10px;    }    /*複選框*/    .checkbox-box {      display: inline-block;      width: 20px;      height: 20px;      margin-right: 10px;      position: relative;      border: 2px solid orange;      vertical-align: middle;    }    .checkbox-box input {      opacity: 0;      position: absolute;      top:0;      left:0;      z-index:10;    }    .checkbox-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: orange;    }     .checkbox-box input[type="checkbox"] + span {      opacity:0;    }    .checkbox-box input[type="checkbox"]:checked + span {      opacity: 1;    }    /*單選框*/    .redio-box {      display: inline-block;      width: 30px;      height: 30px;      margin-right: 10px;      position: relative;      background: orange;      vertical-align: middle;      border-radius: 100%;    }    .redio-box input {      opacity: 0;      position: absolute;      top:0;      left:0;      width: 100%;      height:100%;      z-index:100;/*使input按鈕在span的上一層,不加點擊地區會出現不靈敏*/    }    .redio-box span {       display: block;      width: 10px;      height: 10px;      border-radius: 100%;      position: absolute;      background: #fff;      top: 50%;      left:50%;      margin: -5px 0  0 -5px;      z-index:1;    }    .redio-box input[type="radio"] + span {      opacity: 0;    }    .redio-box input[type="radio"]:checked + span {      opacity: 1;    }</style><body><h2>複選框:</h2><form action="#">  <p class="wrapper">    <p class="checkbox-box">      <input name="1" type="checkbox" checked id="usename" />      <span>√</span>    </p>    <label for="usename">體育</label>  </p>    <p class="wrapper">    <p class="checkbox-box">      <input name="1" type="checkbox"  id="usepwd" />      <span>√</span>    </p>    <label for="usepwd">音樂</label>  </p>  <p class="wrapper">    <p class="checkbox-box">      <input name="1" type="checkbox"  id="checkbox3" />      <span>√</span>    </p>    <label for="checkbox3">讀書</label>  </p>    <p class="wrapper">    <p class="checkbox-box">      <input name="1" type="checkbox"   id="checkbox4" />      <span>√</span>    </p>    <label for="checkbox4">運動</label>  </p></form> <h2>單選框</h2><form action="#">  <p class="wrapper">    <p class="redio-box">      <input type="radio" checked="checked"  id="boy" name="1" /><span></span>    </p>    <label for="boy">男</label>  </p>    <p class="wrapper">    <p class="redio-box">      <input type="radio"  id="girl" name="1" /><span></span>    </p>    <label for="girl">女</label>  </p></form> </body></html>

注意:

+ 是css的相鄰選擇符。

關係選擇符只有四種,是 空格 > + ~ (包含選擇符、子選擇符、相鄰選擇符、兄弟選擇符)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.