CSS Hover聯動是一種非常有用的技術,可以使得鼠標懸停在某一元素上時,其它元素做出相應的變化。這種技術常常用于網頁導航菜單、圖片集合、商品展示等場景。下面是一個實例:
.menu-item { display: inline-block; margin-right: 10px; padding: 10px; border: 1px solid #ccc; background-color: #f5f5f5; } .menu-item:hover { background-color: #ccc; } .submenu { display: none; position: absolute; top: 30px; left: 0; z-index: 10; width: 200px; padding: 10px; border: 1px solid #ccc; background-color: #fff; } .menu-item:hover .submenu { display: block; }
上面的代碼實現了一個簡單的導航菜單,當鼠標懸停在某一個菜單項上時,其背景色會變為灰色。同時,如果這個菜單項有下級菜單,鼠標懸停時下級菜單會出現。
這里用到了CSS中的偽類:hover和后代選擇器(descendant selector)。當鼠標懸停在.menu-item元素上時,其:hover偽類的樣式會生效。而.menu-item:hover .submenu選擇器則表示當.menu-item元素被:hover偽類選擇時,且其后代元素.submenu存在時,其樣式會生效。
鼠標Hover聯動不僅可以實現簡單的樣式變化,還可以實現更為復雜的功能。例如可以結合JavaScript實現動態效果,如圖片集合中,鼠標懸停在某一張圖片上時,其它圖片會隨之變化。如下面的代碼所示:
.img-item { display: inline-block; margin-right: 10px; width: 100px; height: 100px; background-size: cover; background-position: center; transition: transform .3s ease; } .img-item:hover { transform: scale(1.2); } .img-list:hover .img-item:not(:hover) { transform: scale(0.8); }
上面的代碼實現了當鼠標懸停某一張圖片時,其放大,其它圖片縮小的效果。這里用到了:not偽類,表示括號內的選擇器排除選擇。
CSS Hover聯動是Web開發中一個重要的技術,可以用于各種交互效果的實現。開發者可以將其應用到自己的項目中,提升用戶體驗。
上一篇css hover同級
下一篇css3將一個圓分成八塊