老师,您好,为什么div ul li 的权值没有 div ul li ol的权值高呢?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS运用</title>
<style type="text/css">
div{
background-color: #ececec;
}
.header,.footer{
background-color:#acacac;
}
div p span{
color: blue;
}
div p.title{
color: gray;
}
div ul li{
color:green;
}
div ul li ol{
color: red;
}
div ul li ul{
color: orange;
}
</style>
</head>
<body>
<div class="header">慕课网</div>
<div>
<div>
<p><span>HTML超文本标记语言</span>,“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。</p>
<p class="title">课程内容</p>
<ul>
<li><a href="#">html基础标签</a>
<ol>
<li>段落标签</li>
<li>图像和超链接标签</li>
<li>列表标签</li>
</ol>
</li>
<li>html表格标签</li>
<li>html表单标签</li>
</ul>
</div>
<div>
<p><span>CSS层叠样式表</span>(Cascading Style Sheets),样式定义如何显示HTML元素。</p>
<p class="title">课程内容</p>
<ul>
<li><a href="#">CSS基础语法</a></li>
<li>CSS使用方法
<ol>
<li>行内样式</li>
<li>内部样式</li>
<li>外部样式</li>
</ol>
</li>
<li>CSS选择器
<ul>
<li>ID选择器</li>
<li>class选择器</li>
<li>标签选择器</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="footer">慕课网 只学有用的</div>
</body>
</html>正常的情况下不应该是 div ul li ol的权值为4.div ul li的权值为3,但是显示的效果是div ul li的效果权值更高。
如果我按照下面这种写法就可以,这有点令我感觉到奇怪。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS运用</title>
<style type="text/css">
div{
background-color: #ececec;
}
.header,.footer{
background-color:#acacac;
}
div p span{
color: blue;
}
div p.title{
color: gray;
}
div ul li{
color:green;
}
div ul li a{
color:green;
}
div ul li ol li{
color: red;
}
div ul li ul li{
color: orange;
}
</style>
</head>
<body>
<div class="header">慕课网</div>
<div>
<div>
<p><span>HTML超文本标记语言</span>,“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。</p>
<p class="title">课程内容</p>
<ul>
<li><a href="#">html基础标签</a>
<ol>
<li>段落标签</li>
<li>图像和超链接标签</li>
<li>列表标签</li>
</ol>
</li>
<li>html表格标签</li>
<li>html表单标签</li>
</ul>
</div>
<div>
<p><span>CSS层叠样式表</span>(Cascading Style Sheets),样式定义如何显示HTML元素。</p>
<p class="title">课程内容</p>
<ul>
<li><a href="#">CSS基础语法</a></li>
<li>CSS使用方法
<ol>
<li>行内样式</li>
<li>内部样式</li>
<li>外部样式</li>
</ol>
</li>
<li>CSS选择器
<ul>
<li>ID选择器</li>
<li>class选择器</li>
<li>标签选择器</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="footer">慕课网 只学有用的</div>
</body>
</html>麻烦老师能否帮我解释一下呢,按照权值判断应该是上面那段代码就可以生效的呀,想不明白有点。
10
收起
正在回答
1回答
同学你好,需要考虑就近原则。
文字样式是li显示的,所以给li直接设置样式生效;但是div ul li ol这样是给ol设置的,li如果使用ol的样式是继承,按照继承的权值算,不能是标签的权值,所以不会生效。
另外第二段代码实现效果很棒!
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星