CSS是一種樣式表語言,它用于控制HTML文檔的展示方式。在網(wǎng)頁設(shè)計中,常常會用到checkbox多選框,而如何通過CSS實(shí)現(xiàn)checkbox選中效果呢?
<label for="checkbox1"> <input type="checkbox" id="checkbox1"> <span>選項(xiàng)一</span> </label>
以上代碼是實(shí)現(xiàn)checkbox選中效果的基本HTML結(jié)構(gòu)。其中,我們需要借助for屬性和id屬性來關(guān)聯(lián)label標(biāo)簽和input標(biāo)簽。同時,還需要添加span標(biāo)簽用于承載checkbox選項(xiàng)的文本。
input[type="checkbox"] { display: none; } label { position: relative; } label span:before { content: ""; display: inline-block; width: 16px; height: 16px; border: 1px solid #ccc; border-radius: 2px; margin-right: 5px; } input:checked + span:before { content: "\2713"; color: #fff; background-color: #428bca; border-color: #428bca; }
以上代碼則是實(shí)現(xiàn)checkbox選中效果的CSS樣式。通過將input[type="checkbox"]設(shè)為display: none,則可以隱藏原有的checkbox框架。接著,針對每個label標(biāo)簽及其內(nèi)部的span標(biāo)簽添加CSS樣式。
在span標(biāo)簽前,添加使用空 content 屬性的 before 偽元素,建立一個模擬的、可見的checkbox外框。通過設(shè)定長度、寬度、邊框等屬性,使其準(zhǔn)確地模擬checkbox的形狀。
借助于偽選擇器:checked ,可以對選中后的元素設(shè)置特定的樣式。在我們的樣式中,我們將content屬性值設(shè)為"✓ ",這個字符代表勾選圖標(biāo)。設(shè)置其顏色為白色,背景顏色為藍(lán)色,符合了checkbox元素被選中后的樣式。
當(dāng)用戶點(diǎn)擊label標(biāo)簽時,將觸發(fā)原生checkbox元素的選中狀態(tài),同時,CSS中的:checked偽類也會發(fā)生變化,根據(jù)我們的設(shè)計再次應(yīng)用頁面樣式。這樣,就能夠?qū)崿F(xiàn)完美的checkbox選中效果了。