老师,看我有什么地方需要改进的吗?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>display属性</title>
<style type="text/css">
/*样式补充*/
*{padding:0px;margin:0px;}
li{list-style:none;}
.big{margin:0px auto;background-color:#ececec;width:120px;text-align:center;font-family:"微软雅黑";}
.div1,.div2,.div3{border:1px #d9dde1 solid;}
h3{margin:2px;}
ul{display:none;background-color:white;font-size:14px;line-height:2em;}
.div1:hover .elec{display:block;}
.div2:hover .wash{display:block;}
.div3:hover .clothes{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>
</html>
正在回答
同学你好,因为隔一个空格的话,是后代关系。
.big div:hover ul{display: block;}就是.big下的div在hover的时候,该div下面的ul(一个div下面就一个ul哦)显示,所以可以一个个的显示。
而.big:hover ul这个是.big在hover的时候,后代元素ul显示,所有的ul都是.big的后代元素哦,所以都显示了。
.big :hover ul这个是因为.big后面有个空格,导致识别为.big的后代元素hover时,这个后代元素的后代ul显示,不过一般不建议在:hover前设置一个空格哦,因为这个没有明确的设置给那个元素哦。
希望能帮助到你,祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星