1. 程式人生 > >使用 CSS 修改 HTML 預設單選(radio)和複選框(checkbox)樣式(網頁版)

使用 CSS 修改 HTML 預設單選(radio)和複選框(checkbox)樣式(網頁版)

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;
}

這裡寫圖片描述

最後一步:設定複選框選中狀態,使用偽類 :aftercontent 屬性新增特殊符號對號表示選中

.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 就可以了。