我把div:hover变成h2就不行了,有点糊涂了

我把div:hover变成h2就不行了,有点糊涂了

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>display属性</title>

    <style type="text/css">

    div {

        width: 200px;

    }

    /*补充样式*/

    

   li{display:none;}

   div:hover li{display:inline-block;}

   a{text-decoration:none;}

    </style>

</head>


<body>

    <div>

       <h2> <a href="#">家电</a></h2>

        <ul>

            <li>冰箱</li>

            <li>空调</li>

            <li>洗衣机</li>

        </ul>

    </div>

</body>


</html>


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

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

2回答
好帮手慕夭夭 2020-02-02 19:15:53

同学你好,h2:hover,li 中间有一个逗号,表示给h2:hover和 li同时设置display:inline-block;样式。即鼠标移入h2时,h2添加了一个display:inline-block;样式 。且li默认添加了一个display:inline-block;样式。

另外,即使把逗号去掉也不对,因为h2:hover  li 表示后代选择器。 li不是h2的子元素,所以此选择器无效。

这里是需要鼠标移入父元素时,给子元素li添加display:inline-block;样式。所以要用后代选择器div:hover li 。

祝学习愉快!

好帮手慕夭夭 2020-02-01 15:53:36

同学你好,div:hover li是后代选择器,以上是鼠标移入div时,让子元素li设置样式。而h2并不是li的父元素,所以这个选择器不对。

另外,标题不需要嵌套a标签,如下修改:

http://img1.sycdn.imooc.com//climg/5e352e7b0938e5b402300057.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 如果我用h2的话,h2:hover,li这样为什么实现不了
    2020-02-02 17:37:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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