Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
1.上下文选择器/层级选择器
css语法表达
1.子元素:>
2.后代元素: 空格
3.相邻兄弟:+
4.所有兄弟:~
层级:>,空格
平级:+,~
2.选择器权重
页面元素:标签+属性 样式规则:选择器{声明}
<div class="a">
<h1 id="b" class="c">hello world</h1>
</div>
css文件
div {
background-color: red;
width: 200px;
}
div > h1 {
color: blue;
}
div标签的样式的权重是:0个id,0个class,1 个标签 ——(0,0,1)
h1标签的权重是: 0个id,0个class,2 个标签(div+h1) ——(0,0,2)
这里通过后写样式覆盖先前的样式将字的颜色经行改变
div {
background-color: red;
width: 200px;
}
div > h1 {
color: blue;
}
div > h1 {
color: cyan;
}
现在div > h1.leteracy的权重是:0个id,1个class,2个tagName —— (0,1,2)
div {
background-color: red;
width: 200px;
}
div > h1.leteracy {
color: blue;
}
div > h1 {
color: cyan;
}
此时虽然上一个h1的权重大于后一个的权重,但是后一个样式中加了!important就只显示后一个的样式
div {
background-color: red;
width: 200px;
}
div > h1.leteracy {
color: blue;
}
div > h1 {
color: cyan !important;
}
2.改变全部样式CSS写法
<ul class="list">
<li class="item1">item1</li>
<li class="item2">item2</li>
<li class="item3">item3</li>
<li class="item4">item4</li>
<li class="item5">item5</li>
<li class="item6">item6</li>
<li class="item7">item7</li>
<li class="item8">item8</li>
<li class="item9">item9</li>
<li class="item10">item10</li>
<li class="item11">item11</li>
<li class="item12">item12</li>
<li class="item13">item13</li>
<li class="item14">item14</li>
<li class="item15">item15</li>
</ul>
效果是一样的
ul {
width:100px;
background-color: black;
}
ul>li {
color:aqua;
background-color: violet;
}
// 写法2:使用伪类:匹配分组的任意位置的子元素th-of-type(n)
ul {
width:100px;
background-color: black;
}
ul>:nth-of-type(n) {
color:aqua;
background-color: violet;
}
b为偏置量
:nth-of-type(an+b):
a=[0,1,2….]
n=[0,1,2,….]