在CSS中,可以利用“:hover”選擇器和display屬性來實現(xiàn)鼠標(biāo)經(jīng)過隱藏顯示樣式;只需要利用“:hover”選擇器選擇鼠標(biāo)指針浮動在上面的元素,并給該狀態(tài)的元素設(shè)置“display:none;”樣式即可,語法“指定元素:hover {display:none;}”。
前端(vue)入門到精通課程:進(jìn)入學(xué)習(xí)
API 文檔、設(shè)計、調(diào)試、自動化測試一體化協(xié)作工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
在CSS中,可以利用“:hover”選擇器和display屬性來實現(xiàn)鼠標(biāo)經(jīng)過隱藏顯示樣式。
只需要利用“:hover”選擇器選擇鼠標(biāo)指針浮動在上面的元素,并給該狀態(tài)的元素設(shè)置“display:none;”樣式,讓其隱藏即可。
<!DOCTYPE html> <html> <head> <style> div { width: 520px; height: 50px; background-color: #008000; } div:hover { display:none; } </style> </head> <body> <div> hello </div> </body> </html>
說明:
:hover 選擇器
:hover 選擇器用于選擇鼠標(biāo)指針浮動在上面的元素。
提示::hover 選擇器可用于所有元素,不只是鏈接。
在 CSS 定義中,:hover 必須位于 :link 和 :visited 之后(如果存在的話),這樣樣式才能生效。
:link 選擇器設(shè)置指向未被訪問頁面的鏈接的樣式,:visited 選擇器用于設(shè)置指向已被訪問的頁面的鏈接,:active 選擇器用于活動鏈接。
用法1:
這個表示的是:當(dāng)鼠標(biāo)懸浮在a這個樣式上的時候,a的背景顏色設(shè)置為黃色
a:hover { background-color:yellow; }
這個是最普通的用法了,只是通過a改變了style
用法2:
使用a 控制其他塊的樣式:
使用a控制a的子元素 b:
.a:hover .b { background-color:blue; }
使用a控制a的兄弟元素 c(同級元素):
.a:hover + .c { color:red; }
使用a控制a的就近元素d:
.a:hover ~ .d { color:pink; }
總結(jié)一下:
1. 中間什么都不加 控制子元素;
2. ‘+’ 控制同級元素(兄弟元素);
3. ‘~’ 控制就近元素;
實例
用一個按鈕控制一個盒子的運動狀態(tài),當(dāng)鼠標(biāo)移到按鈕上方時,盒子停止運動,鼠標(biāo)移開時,盒子繼續(xù)運動
body代碼:
<body> <div class="btn stop">stop</div> <div class="animation"></div> </body>
css樣式:
<style> .animation { width: 100px; height: 100px; background-color: pink; margin: 100px auto; animation: move 2s infinite alternate; -webkit-animation: move 2s infinite alternate; } @keyframes move { 0% { transform: translate(-100px, 0); } 100% { transform: translate(100px, 0); } } .btn { padding: 20px 50px; background-color: pink; color: white; display: inline-block; } .stop:hover ~ .animation { -webkit-animation-play-state: paused; animation-play-state: paused; } </style>
“display:none;”樣式
display:none可以不占據(jù)空間,把元素隱藏起來,所以動態(tài)改變此屬性時會引起重排(改變頁面布局),可以理解成在頁面中把該元素刪除掉一樣;不會被子孫繼承,但是其子孫是不會顯示的,畢竟都一起被隱藏了。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style> .display{ display:none; } </style> </head> <body> <div>正常顯示元素</div> <div class="display">隱藏元素</div> <div>正常顯示元素</div> </body> </html>
(學(xué)習(xí)視頻分享:web前端)