无法实现效果,不知道哪里错了呢

无法实现效果,不知道哪里错了呢

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title>display属性</title>

        <style type="text/css">

            ul {width:200px;}

            /*补充样式*/

            li{display:none;}

            a{text-decoration:none;color:black;}

            a:hover li{display:inline;}

        </style>

    </head>

    <body>

        <ul>

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

            <li>冰箱</li>

            <li>空调</li>

            <li>洗衣机</li>

        </ul>

    </body>

</html>

鼠标放在上面时无法实现效果。。。

正在回答

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

3回答

a标签和li是同级的关系,不能使用后代选择器,要使用选择器~,选取后面的所有兄弟元素才行。

  • 新手_请多关照 提问者 #1
    试了换成li也不行,,但是换成ul就可以了 ul是li和a的子元素我知道,但是我看视频教学里面那个直接使用的a标签就可以使得同级的显示出效果的啊,哎 还是有点没太懂,,不过依然感谢您
    2017-09-19 11:20:21
  • 新手_请多关照 提问者 #2
    万分感谢!这回彻底懂啦!
    2017-09-20 12:36:37
小丸子爱吃菜 2017-09-19 15:34:04
 ul:hover li{display:inline;}

样式表中的a:hover li{display:inline;}改成上面的代码就可以实现了。

a:hover li{display:inline;}的意思是,当鼠标划过a时,a标签里的li标签显示出来,很明显li标签不是a标签的子元素,所以显示不出来。

ul:hover li{display:inline;}它的意思是,当鼠标划过ul标签时,ul里的li标签显示出来,按照html标签的结构来看,li是在ul里面的,a也在ul里面,且a与ul是同一级别,所以无法使用a:hover li,

如果想使用鼠标放在a上显示li,可以参考上面助教老师给的代码a:hover~li,~选择器的意思选择其兄弟元素,所以能定位到a下面的兄弟元素li。

希望你能理解~

  • 提问者 新手_请多关照 #1
    额 评论错了,,也采纳错了,,通过您的耐心讲解,,彻底懂了。。万分感谢哈
    2017-09-20 12:37:31
怎么都被占用了呢 2017-09-18 16:07:55

a标签和li标签是同级元素,不是后代哦http://img1.sycdn.imooc.com/climg//59bf7ed90001126105140097.jpg

  • 提问者 新手_请多关照 #1
    还是没太懂您说的意思,,那要怎么改才能实现效果呢?
    2017-09-18 16:40:50
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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