CSS可以讓我們?cè)谑髽?biāo)單擊時(shí)運(yùn)行代碼,這在一些特殊的場(chǎng)景下非常有用。比如想要制作一個(gè)菜單,在鼠標(biāo)單擊每個(gè)選項(xiàng)時(shí)都能夠觸發(fā)不同的效果,就可以使用CSS的鼠標(biāo)單擊事件來實(shí)現(xiàn)。
.menu-item { cursor: pointer; /* 讓鼠標(biāo)變成手形指針 */ } .menu-item:active { /* 在鼠標(biāo)點(diǎn)擊時(shí)觸發(fā),可以在這里寫需要執(zhí)行的代碼 */ }
上面的代碼中,我們首先給菜單項(xiàng)添加了一個(gè)cursor屬性,讓鼠標(biāo)在懸停在選項(xiàng)上時(shí)變成手形指針,表示這是可以點(diǎn)擊的。然后使用了:hover和:active這兩個(gè)偽類來控制鼠標(biāo)懸停和單擊時(shí)的效果。
接下來,我們可以在.menu-item:active選擇器中寫需要執(zhí)行的代碼。比如,可以通過JavaScript在單擊菜單項(xiàng)時(shí)彈出一個(gè)對(duì)話框來提示用戶。代碼如下:
.menu-item:active { /* 在鼠標(biāo)點(diǎn)擊時(shí)觸發(fā),可以在這里寫需要執(zhí)行的代碼 */ alert('您點(diǎn)擊了菜單項(xiàng)'); }
這樣,當(dāng)用戶單擊菜單項(xiàng)時(shí),頁(yè)面會(huì)彈出一個(gè)對(duì)話框,提示用戶當(dāng)前操作已經(jīng)被捕獲。這對(duì)于一些需要提醒用戶的操作非常實(shí)用。
需要注意的是,在使用CSS的鼠標(biāo)單擊事件時(shí),我們只能在:active偽類中編寫代碼,其他偽類(如:hover)并不能觸發(fā)鼠標(biāo)單擊事件。因此,如果需要執(zhí)行更加復(fù)雜的操作,例如頁(yè)面跳轉(zhuǎn)或數(shù)據(jù)交互,我們還是需要使用JavaScript來實(shí)現(xiàn)。