4-7编程题为何不生效

4-7编程题为何不生效

<style type="text/css">
       /*样式补充*/
       /*取消默认样式*/
       body,div,h3,ul,li{
           padding: 0;
           margin: 0;
       }
       li{
           list-style: none;
       }
       div.big{
       width: 100px;
       margin: 10px auto;
       border: 1px solid #E1E1E1;
       text-align: center;

       }
       h3{
           border-bottom: 1px solid #E1E1E1;
           background-color: #EEEEEE;
       }
       .div2 h3, .div3 h3 {
           border-top: 1px solid #E1E1E1;
       }
       li{
           display: none;
       }
       .div1:hover .elec{
           display: block;
       }

   </style>
</head>
<body>
<div class="big">
   <div class="div1">
       <h3>家电</h3>
       <ul class="elec">
           <li>冰箱</li>
           <li>洗衣机</li>
           <li>空调</li>
       </ul>
   </div>
   <div class="div2">
       <h3>洗护</h3>
       <ul class="wash">
           <li>洗衣液</li>
           <li>消毒液</li>
           <li>柔顺剂</li>
       </ul>
   </div>
   <div  class="div3">
       <h3>衣物</h3>
       <ul class="clothes">
           <li>衬衫</li>
           <li>裤子</li>
           <li>卫衣</li>
       </ul>
   </div>
</div>
</body>

正在回答

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

3回答

同学你好,因为.big h3:hover li这种写法是后代选择器,表示鼠标移入h3时,让它的后代元素li显示出来,但html结构中li不是h3后代元素,而是h3的相邻兄弟元素ul的后代元素,所以无法实现效果。如下:

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

可以给div里面的h3设置hover样式,但是需要使用到后面学习的css3选择器,即:相邻兄弟选择器。

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

老师这里给同学写个示例,同学先了解下,后面讲解了,同学自然就懂了。

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

祝学习愉快~

好帮手慕慕子 2020-04-18 11:00:09

同学你好, 因为一开始是给li设置display属性为none让其隐藏,在鼠标移入时,设置ul的display属性为block, 无法让li显示,所以没有效果。

建议:可以调整为初始设置ul隐藏,鼠标移入也让ul显示即可

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

另,可以统一给big下的div添加伪类hover,找到对应的ul, 让其显示出来,简化代码书写。

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

同学可以测试理解下,祝学习愉快~

  • 提问者 vivi_li #1
    可是我同样试过 h3设置鼠标进入之后 li显示 也显示不出来啊 是不是不能给div里面的h标签设置hover样式啊
    2020-04-18 11:08:13
  • 提问者 vivi_li #2
    li{ display: none; } .big h3:hover li{ display: block; } 这个样式同样也是不生效的
    2020-04-18 11:10:12
提问者 vivi_li 2020-04-18 09:58:54

如果在ul外面再包裹一个div标签 则设置div的display  显示与隐藏 可以生效  所以请解答下

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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