第四天 选择器 表格
选择器
通配符选择器
- 通配符选择器:代表选中所有的元素
- 符号:*
- 权重:0
*{
margin: 0;
padding: 0;
}
标签选择器
- 代表的意思:选中这一类的标签
- 符号:标签
- 权重:1
//所有的p标签颜色都是红色
p {color: red;}
类选择器
- 符号:.
- 权重:10
- 特点:类名可以重复使用,名字可以起多个,中间用空格隔开
.abc{ color: yellow;}
属性选择器
- 符号:自己起的类名
- 权重:10
- 1.选中具有某个属性的所有元素
[index] {color: tomato;}
- 2.选中属性名等于特定属性值的一类元素
[index="a"] {color: teal;}`
id选择器
- 符号:#
- 权重:100 注意:在一个文档中,id名字不能重复(相当于身份证,不能重复)但id和class名可以重复
<style>
#box1{background:tomato;}
</style>
<div id="box1" >div</div>
子选择器
- 符号:>(权重0)
- 权重:组合的选择器权重之和
- 作用:选中子元素第一层级的儿子元素
.main>span {
color: thistle;
}
/* 以上例子权重为11 */
<div class="main">
<div>
<div>
<span>111</span>
</div>
</div>
<span>span1</span>
</div>
后代选择器
- 符号:空格
- 权重:组合的选择器权重之和
- 作用:把特定的后代(不管是儿子还是孙子,曾孙子...都是后代) 元素选中
.main div {
color: red;
}
<div class="main">
<div>
<div>
<span>111</span>
</div>
</div>
<div>span1</div>
</div>
分组选择器
- 符号:,
- 权重:组合的选择器权重之和
- 作用:可以把共同的代码提取出来
.box1,
.box2 {
background-color: violet;
}
<div class="box1">div1</div>
<p class="box2">p</p>
例如:.box1 span, .box2 { background-color: violet; }
此时.box1 span的权重就是11
交集选择器
- 符号:没有
- 权重:组合的选择器之和
- 特点:由多个选择器组成
<style>
.box1.current{
background:green;
}
</style>
<div class="box1 current" >box1</div>
<div class="box1">box1</div>
<p class="current">p1</p>
相邻兄弟选择器
- 符号:+
- 权重:组合的选择器权重之和
- 作用:选中与某个元素相邻的元素 注意:向下寻找,下面代码中第一个p标签并不能被选中
<style>
h1+p{
background:green;
}
</style>
<p>p1</p>
<h1>h1</h1>
<p>p1</p>
<p>p2</p>
<h1>h1</h1>
<div>div1</div>
<h1>h1</h1>
<p>p1</p>
<p>p2</p
通用兄弟选择器
- 连接符号:~
- 权重:组合的选择器权重之和
- 作用:选中某个元素的兄弟元素(不用相邻,只要是兄弟就可以) 注意:向下寻找,下面代码中第一个p标签并不能被选中
<style>
h1~p{
background:green;
}
</style>
<p>p1</p>
<h1>h1</h1>
<p>p1</p>
<div>box1</div>
<p>p2</p>
<h1>h1</h1>
<div>div1</div>
<h1>h1</h1>
<p>p1</p>
<p>p2</p>
伪类选择器
- a标签的四种状态,有一定的顺序,l v h a在网络上被称为“爱恨原则”
<style>
a{
font-weight: bold;
font-size:100px;
}
/* 默认链接的文字颜色 */
a:link{
color:green;
}
/* 访问过后的文字颜色 */
a:visited{
color:gold;
}
/* 鼠标滑上 */
a:hover{
color:hotpink;
}
/* 点击链接时候的 */
a:active{
color:darkcyan;
}
</style>
table 表格
- 表格的标题:caption
- 行:tr
- th:表示的是表头(跟td一样,只是更加有语义化,文字加粗)
- 单元格:td
table 的属性
- 边框线 : border
- 0:无边框线
- 1:1像素的边框线(如果更该的数值更大,只更改四周的)
- 边框到边框之间的距离:cellspacing
- 内容到边框的距离:cellpadding
td 的属性
- 合并行:rowspan
- 合并列:colspan
table 样式
- 合并边框线:border-collapse:collapse
- 宽度平均分布:table-layout:fixed (前提:table 要写宽度)
完整形式的table
- caption 代表的表格的标题
- tr表示每一行
- td表示每一个单元格
- th表示的是表头(跟td一样,只是更加有语义化,文字加粗)
<table border="1">
<caption>成绩表</caption>
<thead>
<tr>
<th>语文</th>
<th>数学</th>
<th>外语</th>
</tr>
</thead>
<tbody>
<tr>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>总分:</td>
<td>总分:</td>
<td>总分:</td>
</tr>
</tfoot>
</table>
简单表格
<table border="1">
<tr>
<th>语文</th>
<th>数学</th>
<th>外语</th>
</tr>
<tr>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
完整和简单表格的区别?
完整版的表格更加有语义化,除此之外,我们在结构中可以随意的更改thead tbody tfoot 的顺序,但是在浏览器中,显示的顺序还是正常的(thead—tbody–tfoot)