HTML複選框checkbox預設樣式修改
阿新 • • 發佈:2019-02-02
此方法可以將複選框的預設樣式替換成任意樣式。如圖:
未選擇:
選擇時:
思路:將複選框隱藏,利用lebal元素的焦點傳遞特性,用lebal的樣式替代複選框。
程式碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>checkbox css change</title>
<style type="text/css">
input[type="checkbox"] + label {
cursor: pointer;
font-size : 1em;
}
[id^="checkbox-"] + label {
background-color: #ffffff;
border: 1px solid #666666;
box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
padding: 9px;
border-radius: 3px;
display: inline-block;
vertical-align: middle;
}
[id^="checkbox-"] + label :active {
box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}
[id="checkbox-1"]:checked + label {
background-color: #F47164;
border: 1px solid #F47164;
}
[id="checkbox-2"]:checked + label {
background-color: #84CBC5;
border: 1px solid #84CBC5;
}
[id="checkbox-3"]:checked + label {
background-color: #F8D25D;
border: 1px solid #F8D25D;
}
</style>
</head>
<body>
<label style="margin-left: 55px; margin-right: 16px;">狀態:</label>
<input type="checkbox" value="0" class="check_view_state"
id="checkbox-1" style="display: none;">
<label for="checkbox-1"></label>
<span class="status">未讀</span>
<input type="checkbox" value="1" class="check_view_state"
id="checkbox-2" style="display: none;">
<label for="checkbox-2"></label>
<span class="status">已讀</span>
<input type="checkbox" value="2" class="check_view_state"
id="checkbox-3" style="display: none;">
<label for="checkbox-3"></label>
<span class="status">未授權</span>
</body>
</html>