<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>子选择符</title>
<style type="text/css">
.food>li{border:1px solid red;}/*添加边框样式(粗细为1px, 颜色为红色的实线)*/
</style>
</head>
<body>
<p class="first">三年级时,<span>我还是一个<span>胆小如鼠</span>的小女孩</span>,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>
<h1>食物</h1>
<ul class="food">
<li>水果
<ul>
<li>香蕉</li>
<li>苹果</li>
<li>梨</li>
</ul>
</li>
<li>蔬菜
<ul>
<li>白菜</li>
<li>油菜</li>
<li>卷心菜</li>
</ul>
</li>
</ul>
</body>
</html>
#就是我把ul的那个class删掉,然后选择器那里直接ul>li这样子为什么不可以#
可能出现混乱,有两个ul li 的嵌套
ul>li表示ul下的直接li元素都使用此样式,你的按个是foot样式下的直接子元素li会有此样式,效果肯定不一样
foot那个就是2个li有边框
ul的话是2个ul下的li都有边框,所以所有li都有边框
应该是出现混乱了吧,正常情况是不会这样用的,用bootstrap的分隔符会好看点
ul里面还有ul,子代选择器,匹配选择元素下的所有子元素,设置class,相当于将指定下的子元素全部匹配,取消以后,浏览器不知道匹配谁了。
你可以从最外层开始 body >ul >li
有两个ul li 的嵌套