使用 CSS 修改 HTML 預設單選(radio)和複選框(checkbox)樣式(網頁版)
阿新 • • 發佈:2019-02-16
HTML 預設的單選和複選框有多醜大家都是有目共睹,所以我們UI設計的小哥哥小姐姐們在設計時候,為了美觀經常會設計一些漂亮的單選或者複選框,這就要求我們前端開發童鞋必須去修改HTML單選複選框的預設樣式,當然修改的方式有很多種,我在這裡展示的是如何用CSS來修改。
這裡我主要以我做的一個記住密碼的複選框來做示例
首先上 HTML 程式碼
<label for="remmber"> <input class="remmber" type="checkbox" name="remmber" id="remmber"> <span></span> 記住密碼 </label>
CSS程式碼
方法一:使用純 CSS 進行選中框和對勾的樣式設定
第一步: 給原生複選框設定樣式使其隱藏
.remmber {
display: none;
}
第二步:設定未選中時複選框的樣式,編寫span的樣式使其顯示為一個正方形的黑色框
.remmber[type=checkbox]+span { display: inline-block; border-radius: .05rem; width: .28rem; height: .28rem; border: .02rem solid #0D1529; color: #0D1529; position: absolute; top: 0; left: -.5rem; }
最後一步:設定複選框選中狀態,使用偽類 :after
和 content
屬性新增特殊符號對號表示選中
.remmber[type=checkbox]:checked+span:after {
content: '\2714';
position: absolute;
font-size: 0.28rem;
left: 0.05rem;
}
方法二:使用背景圖的方式進行選擇框和對勾的樣式設定。
這就更簡單了,只需要在未選中時設定未選中的背景圖
.remmber[type=checkbox]+span { display: inline-block; width: .28rem; height: .28rem; background: url(未選中圖片的圖片路徑) no-repeat; }
選中時設定選中的背景圖就可以了。
.remmber[type=checkbox]:checked+span {
display: inline-block;
width: .28rem;
height: .28rem;
background: url(選中圖片的圖片路徑) no-repeat;
}
上述就是我常用的使用 CSS 修改 HTML 預設複選框樣式的方法,修改單選框的方法是一樣的,只需要把 HTML 和 CSS 中的checkbox
改成 radio
就可以了。