为什么hover前面用div可以生效,用h2就不可以?

为什么hover前面用div可以生效,用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:block;}

    </style>

</head>


<body>

    <div>

        <h2>家电</h2>

        <ul>

            <li>冰箱</li>

            <li>空调</li>

            <li>洗衣机</li>

        </ul>

    </div>

</body>


</html>


正在回答

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

2回答

同学你好,如果这样写h2:hover li,代表的是li元素是h2元素的子级,但是从同学提供的代码中看,li并不是h2的子级,所以是不生效的。

建议:li元素是div的子级,可以写成div:hover li。在练习效果图中可以看出li元素是在一行排列的。可以把li元素设置为内联元素

代码参考:
http://img1.sycdn.imooc.com//climg/5d706cc3000195e403840143.jpg

效果图:

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

祝学习愉快~

提问者 _麦当 2019-09-04 20:21:20

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>display属性</title>

    <style type="text/css">

    div {

        width: 200px;

    }

    /*补充样式*/

    li{display:none;}

    h2:hover li{display:block;}

    </style>

</head>


<body>

    <div>

        <h2>家电</h2>

        <ul>

            <li>冰箱</li>

            <li>空调</li>

            <li>洗衣机</li>

        </ul>

    </div>

</body>


</html>


  • 提问者 _麦当 #1
    这是hover前用了h2的,为啥就不行了
    2019-09-04 20:21:51
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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