css复杂选择器,权重计算问题,css基础属性
复习
css权重 | - |
---|
!importtant | infinity |
行间样式 | 1000 |
id | 100 |
class/属性/伪类 | 10 |
标签/伪元素 | 1 |
通配符 | 0 |
知识点总结
- 父子选择器,也叫派生选择器
- 父子选择器不一定要用标签选择器写,只要父子关系成立就行
- 父子选择器不一定是直接的父子关系,间接的也可以
- 直接子元素选择器
- 浏览器从右向左遍历父子关系
- 并列选择器:用多个限制条件选中一个元素。注意:不加空格
- 只要写在同一行的选择器,将权重值相加
- 当权重相同时,后面的将会覆盖前面的
- 在css代码中,!important的权重是infinity,是一个常数。infinity+1>infinity
- 分组选择器
- css基础属性
知识点详解
- 父子选择器不一定要用标签选择器写,只要父子关系成立就行
<div>
<span>hotpink</span>
</div>
<span>blackpink</span>
<div>
<strong>
<em>ImageDragon</em>
</strong>
</div>
<em>Coldplay</em>
<div class="wrapper">
<strong class="box">
<em>Sold out</em>
</strong>
</div>
div span {
background-color: hotpink;
}
div strong em {
background-color: indigo;
}
.wrapper .box em{
background-color: lightcoral;
}
- 父子选择器不一定是直接的父子关系,间接的也可以
<div>
<em>1</em>
<strong>
<em>2</em>
</strong>
</div>
div em{
background-color: lightgreen;
}
- 直接子元素选择器
<div>
<em>1</em>
<strong>
<em>2</em>
</strong>
</div>
div > em {
background-color: limegreen;
}
- 浏览器从右向左遍历父子关系
<section>
<div>
<p>
<a>
<span></span>
</a>
</p>
<ul>
<li>
<a>
<span>
<em>1</em>
</span>
</a>
</li>
</ul>
</div>
<a>
<p>
<em>2</em>
</p>
<div></div>
</a>
</section>
section div ul li a em {
background-color: maroon;
}
- 并列选择器:用多个限制条件选中一个元素。注意: 不加空格
<div>1</div>
<div class="demo">2</div>
<p class="demo">3</p>
div.demo {
background-color: mediumspringgreen;
}
<div class="wrapper">
<div class="content">
<em class="box" id="only">1</em>
</div>
</div>
#only {
background-color: orange;
} */
.content em {
background-color: orangered;
}
.wrapper > .content > .box {
background-color: orchid;
}
em.box {
background-color: grey;
}
- 只要写在同一行的选择器,将权重值相加
<div class="classDiv" id="idDiv">
<p class="classP" id="idP">1</p>
</div>
#idDiv p{
background-color: hotpink;
}
.classDiv .classP {
background-color: lawngreen;
}
div .classP#idP {
background-color: lightseagreen;
}
- 当权重相同时,后面的将会覆盖前面的
div .classP#idP {
background-color: lightseagreen;
}
#idDiv p.classP{
background-color: hotpink;
}
- 在css代码中,!important的权重是infinity,是一个常数。infinity+1>infinity
div#idDiv p.classP{
background-color: hotpink!important;
}
div .classP#idP {
background-color: lightseagreen!important;
}
- 分组选择器
<em>1</em>
<strong>2</strong>
<span>3</span>
em,
strong,
span{
background-color:yellowgreen;
}
<div class="demo1">1</div>
<div class="demo2">2</div>
.demo1,
.demo2 {
width: 100px;
height: 100px;
}
.demo1 {
background-color: tomato;
}
.demo2 {
background-color: aqua;
}
- css基础属性
<div>花都监狱</div>
<strong><em>花都监狱</em></strong>
div {
font-size: 50px;
font-weight: bold;
font-style: italic;
font-family: arial;
}
strong {
font-size: 50px;
}
<div></div>
div {
font-size: 50px;
font-weight: bold;
font-style: italic;
font-family: arial;
color: rgb(255, 255, 255);
border:200px solid black;
width: 0px;
height: 0px;
border-left-color:black;
border-top-color: transparent;
border-right-color: transparent;
}
strong {
font-size: 50px;
}