关于inline和block的问题
为什么当.div1:hover ul{display:inline}时,白色背景无效,换成display:block就有效
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>display属性</title>
<style type="text/css">
/*样式补充*/
*{margin:0;padding:0;}
li{list-style-type:none;}
.big{width:150px;
background-color:#eeeeee;
border:1px gray solid;
margin-left:80px;
}
h3{ font-family:"宋体";
text-align:center;
line-height:2em;
border-bottom:0.5px gray solid;
border-top:0.5px gray solid;
}
.div3{border-bottom:none;}
ul{
background-color:white;
display:none;
border-bottom:0.5px gray solid;
text-align:center;
line-height:2em;
font-size:15px;
}
.div1:hover ul{display:block;}
.div2:hover ul{display:block;}
.div3:hover ul{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>
正在回答
同学你好,inline表示行内元素,给ul设置为行内元素,而里面的内容li是块元素。即行内元素嵌套了块元素是不规范的,里面的li无法把ul撑开,所以ul的背景色没有办法显示。当设置为block时,ul为块元素,可以被里面的li撑开,所以会显示白色。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星