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

這裏寫圖片描述

上述 content 中的特殊字符如果有需要也可以在我的另一篇文章《常用的HTML和CSS content屬性特殊字符歸納》中進行查詢。

方法二:使用背景圖的方式進行選擇框和對勾的樣式設置。

這就更簡單了,只需要在未選中時設置未選中的背景圖

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

如果對優化修改微信小程序初始單選複選框有需求的小夥伴,可以看我的另一篇博文《優化修改微信小程序原生單選(radio)複選(checkbox)框樣式》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章