.border:hover div 和.border:hover+div有什么区别

.border:hover div 和.border:hover+div有什么区别

.border:hover div  和.border:hover+div有什么区别,为什么两种代码做出不一样的结果?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小李 2022-02-22 10:15:16

同学你好,这两个写法是有区别的如下例:

https://img1.sycdn.imooc.com//climg/6214462f09b6435915140900.jpg

以上结构为div1是最大父级,其中包含第一层div2 与div4 ,div2中包含div3。效果如下:

https://img1.sycdn.imooc.com//climg/6214463d0995ff2313650937.jpg

那么当使用到.div1:hover div 时我们看下效果:

https://img1.sycdn.imooc.com//climg/6214464b0921c8c913650937.jpg

当移入div1时,div1下的所有div全部都变了颜色。

那么我们使用以下形式在看看效果。

https://img1.sycdn.imooc.com//climg/6214469d0983c00605210078.jpg

当移入div1时并没有发生任何变化。

https://img1.sycdn.imooc.com//climg/6214463d0995ff2313650937.jpg

但是同学的疑惑可能不再此,那么这里有个知识点,如果说xxx:hover div 那么xxx下面的所有div都会受到影响。

如果说只想让div1下的第二个div受到影响,那么则需要用到+。如下:

https://img1.sycdn.imooc.com//climg/6214471c09c59ae605210082.jpg

效果如下:

https://img1.sycdn.imooc.com//climg/6214472c098b32b519200937.jpg

同学自己试试,祝学习愉快!

  • .border:hover div 可不可以翻译成  当鼠标经过border时,border下的div做出某种变化,

    .border:hover+div可不可以翻译成,当鼠标经过border时,border和border后面的同级兄弟div同时做出某种变化?



    2022-02-22 10:35:42
  • 同学你好,第一种是可以这么理解,第二种同学如果尝试敲敲例子会发现,这种写法并没有生效。但是这里同学用到了+符号,这个符号是在同级别标签中,除了当前之外后面的同级标签做出某种变化。如下例:

    https://img1.sycdn.imooc.com//climg/62145d6e0980503510180880.jpg

    效果如下:

    https://img1.sycdn.imooc.com//climg/62145d7709b1740719200637.jpg

    同学对比css中li+li这一句样式来看,是不是除了第一个li之外的li的背景色都做出了改变,那么在css中“+”符号是这个意思,那么回到div:hover +div 这个例子中来看,hover后面没有跟任何标签,所以它并没有生效。

    祝学习愉快!

    2022-02-22 11:52:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师