前端学习总结【101天】:CSS——关于伪类hover选择器的测试
随便叨叨
关于:hover这个伪类选择器的使用方法,之前耽误了我超多时间,测试了蛮久,拿出来说下。
学习总结
通过伪元素、伪类无法实现子元素选择父元素,后面的元素选择前面的元素。
一、初始代码
.grandfather { height: 300px; background: gray; } .father { height: 200px; background: blue; } .grandfather div p { margin: 0; background: yellow; border: solid 1px red; }
<div class="grandfather"> <div class="father"> <p class="chlid1" id="child1-1">1</p> <p class="chlid2">2</p> <p class="chlid3">3</p> </div> </div>
二、测试代码
测试1
问题:从父元素向子元素选择时:hover后面能选择什么?
/*从父元素向子元素【类名】选择——无效*/ .father:hover .child1 { background: black; } /*从父元素向子元素【ID名】选择——无效*/ .father:hover #child1 { background: black; } /*从父元素向子元素【标签名】选择——有效*/ .father:hover p { background: black; } /*从父元素向子元素选择——有效*/ .grandfather:hover div p { background: black; } /*从父元素向子元素选择——无效*/ .grandfather:hover .grandfather div p { background: black; }
结论: :hover后面可选择标签名,但不可以选择类名、ID名【有都不能有】。
测试2
问题:怎么选择自己?
/*这样选择自己——有效*/ .grandfather:hover { background: black; } /*这样选择自己——有效*/ div.grandfather:hover { background: black; }
结论:选择自己可以使用div.类名或者直接用类名
测试3
问题:在:hover前加一个空格会怎样?
/*这样选择——有效【但是只针对鼠标悬浮的位置,且.grandfather不算在内】*/ .grandfather :hover { background: black; } /*这样选择子元素——无效*/ .grandfather :hover div p { background: black; }
结论:可以在:hover前加空格,但是它之后不可再用别的标签。
三、个人总结
:hover后面可选择标签名,但不可以选择类名、ID名【有都不能有】。
选择自己可以使用div.类名或者直接用类名
可以在:hover前加空格,但是它之后不可再用别的标签。
四、参考资料
相关推荐
MaureenChen 2020-03-01
HSdiana 2019-12-27
lunareclipse 2019-12-23
Uching 2006-11-13
PHP基础学习 2019-01-15
dazhifu 2019-07-01
刁连通 2019-01-15
NARUTOLUOLUO 2016-07-11
vavid 2016-01-16
yaodilu 2019-06-27
sorryericsson 2014-11-18
realitycss 2014-07-24
AlisaClass 2014-05-05