在我們?nèi)粘5木W(wǎng)頁(yè)開發(fā)中,經(jīng)常會(huì)出現(xiàn)需要批量刪除或全選圖片的情況。那么如何通過CSS實(shí)現(xiàn)圖片的全選和刪除呢?下面我們來一起探討一下。
對(duì)于圖片的全選,我們可以通過CSS的:checked偽類來實(shí)現(xiàn)。首先,我們需要先給每張圖片都添加一個(gè)checkbox的選擇框,然后對(duì)該選擇框應(yīng)用CSS。例如:
<input type="checkbox" id="check1"> <label for="check1"><img src="exampleImg.jpg"></label> <input type="checkbox" id="check2"> <label for="check2"><img src="exampleImg2.jpg"></label>
然后,我們可以為:checked偽類設(shè)置樣式,使其在該checkbox被選中時(shí),對(duì)應(yīng)的圖片發(fā)生樣式變化。可以通過修改圖片的透明度、邊框和陰影等來達(dá)到目的。例如:
input[type="checkbox"]:checked + label img { opacity: 0.5; border: 2px solid red; box-shadow: 0 0 5px gray; }
對(duì)于圖片的刪除,我們可以通過結(jié)合JavaScript實(shí)現(xiàn)。例如,我們可以先為每個(gè)checkbox定義一個(gè)class或data屬性,然后利用JavaScript來實(shí)現(xiàn)當(dāng)該checkbox被選中時(shí),獲取其對(duì)應(yīng)的圖片并刪除。例如:
<input type="checkbox" class="delete-img" id="check1"> <label for="check1"><img data-name="exampleImg.jpg" src="exampleImg.jpg"></label> <input type="checkbox" class="delete-img" id="check2"> <label for="check2"><img data-name="exampleImg2.jpg" src="exampleImg2.jpg"></label> let deleteBtn = document.getElementById('delete-btn'); // 獲取刪除按鈕 deleteBtn.addEventListener('click', function() { let checkedBox = document.querySelectorAll('.delete-img:checked'); // 獲取選中的圖片 for(let i = 0; i< checkedBox.length; i++) { let imgName = checkedBox[i].nextElementSibling.children[0].getAttribute('data-name'); // 獲取對(duì)應(yīng)圖片的名稱,可自行按需修改 // 調(diào)用后臺(tái)接口,對(duì)該圖片進(jìn)行刪除操作 } });
這樣,在勾選需要?jiǎng)h除的圖片checkbox后,點(diǎn)擊刪除按鈕,就可以將其從頁(yè)面中刪除。