css偽類中的表現類似於事件冒泡的,舉個例子,當你滑過一個元素時,他會認為你也滑過了該元素的父元素,即使該元素看起來並沒有包含在父元素里面,此處以:hover例子:
效果圖:
滑過前:
滑過后:
CSS:
* { margin:0; padding: 0; } body { padding:100px; } .par { width: 100px; height: 100px; background-color: pink; } .son { width: 200px; height: 50px; background-color: lightblue; } .par:hover,.son:hover { background-color: lightgreen; }
<body> <div class="par">par <div class="son">son</div> </div> </body>
結構上,.son在.par里面,樣式表現上,特意把.son超出了父元素,以達到那種,看起來我只滑過了子元素而沒有滑過父元素的樣子,那么請用鼠標滑過上圖中的“鼠標滑過區域”
如上圖效果,你滑過.son的時候,樣式上,看起來沒有滑過.par,但是結構上,你滑過了.par,所以.par上的:hover樣式也自動應用上了,即使你給.son加上絕對定位也是一樣的效果,因為html結構沒有改;這種結果類似於js中的事件冒泡,關於事件冒泡,請參考JavaScript高級程序設計-第3版
此處可以放張圖,方便大家留個印象:
行文倉促,如有錯誤,歡迎批評指正~~~



