什么是css
css是一个样式表,是对html的一种装饰,它决定了浏览器如何显示html元素,例如:
h1 {
		color:blue; //文字颜色是蓝色
		font-size:12px; //字体大小为12像素
}
 
上段css代码就是对HTML 中 <h1>标签的修饰;所以css主要由两部分组成 :选择器,以及一条或多条声明:
 
 选择器就是需要进行装饰的HTML元素
 声明就是有一个属性 和一个值组成的,用来设置HTML元素的样式,多条申明分号隔开。
 CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来:
 一个HTML中总是有很多个h1标签的,那总不能所有相同的标签都用一个样式吧,所以css选择器的种类有很多,我们可以选择合适的css选择器来找到需要装饰的HTMl元素。
css选择器
1.标签选择器
结构:标签名{css属性名:属性值}
 作用:通过HTML标签名,找到页面中所有这类标签,设置样式。跟上面讲到h1标签一样
h1 {
		color:blue; //文字颜色是蓝色
		font-size:12px; //字体大小为12像素
}
 
2.id选择器
结构 :#id属性值{css属性名:属性值}
 作用:通过HTML标签元素的id属性值,找到页面中带有这个di属性值的标签,设置样式。
特别提醒:
- 所有的HTML标签都有id属性
 - id是唯一的,不可重复的
 - 一个标签上只能有一个id属性值
 - 一个id选择器只能选中一个标签
 
<style>
 #mydiv{
 	color:red;
}
</style>
<body>
    <div id="mydiv">
        id选择器
    </div>
</body>
 
3.类选择器
结构: .类名{css属性名:属性值;}
 作用:通过类名,找到页面中所有的带有这个类名的标签,设置样式
特别提醒:
1.所有的标签上都有class属性,class属性的属性值成为类名(类似于起了一个名)
 2.类名可以由数字,字母,下划线,中划线组成,但是不能以数字开头或者中划线开头
 3.一个标签中可以同时有多个类名,类名之间用空格隔开
 4.类名可以重复,一个类选择器可以同时选中多个标签
<style>
    .mydiv{
        color: red;
    }
</style>
<body>
    <div class="mydiv"> div1</div>
    <div class="mydiv"> div2</div>
</body>
 
4.通配符选择器
结构: *{css属性名:属性值}
 作用:找到页面中所有的标签,然后设置样式
 注意:在小页面中可能会用于去除页面中默认的margin和padding
<style>
    *{
        margin: 0;
        padding:0;
    }
</style>
 
5.复合选择器
5.1 交集选择器
语法: 选择器1选择器2{css样式}
 作用:选中页面中同时满足过个选择器的标签 紧挨着的
 结果:找到标签中既能被选择器1又能被选择器2选中的标签,设置样式
 注意:之间没有任何东西隔开,紧挨着的
 交集选择器中如果有标签选择器,标签选择器必须放在前面
<style>
    p .one{
        color: red;
    }
</style>
<body>
    <p class="one">
        这个元素会被应用样式
    </p>
    <div>
        这个元素不会被应用样式
    </div>
</body>
 
5.2 并集选择器
语法: 选择器1,选择器2{css样式}
 并集选择器:同时选择多组标签,设置相同的样式
 结果:找到选择器1和选择器2选中的标签,设置样式
 注意: 选择器与选择器之间用,隔开
 可以是基础选择器或者复合选择器
 每组选择器通常一行写一个,提高代码的可读性
<style>
    p,div{
        color: red;
    }
</style>
<body>
    <p>
        这个元素会被应用样式
    </p>
    <div>
        这个元素也会被应用样式
    </div>
</body>
 
6.属性选择器
| 语法 | 用法 | 
|---|---|
| [属性] | 选中含有指定属性的元素 | 
| [属性=属性值] | 选中含有指定属性和指定属性值的元素 | 
| [属性^=属性值] | 选中含有指定属性和指定属性值开头的元素 | 
| [属性$=属性值] | 选中含有指定属性和指定属性值结尾的元素 | 
| [属性*=属性值] | 选中指定属性名和含有指定属性值的元素 | 
7.关系选择器
| 语法 | 用法 | 
|---|---|
| 父亲 > 儿子 | 儿子单个选择 | 
| 祖先 后代 | 后代全部选择 | 
| 兄 + 弟 | 相邻兄弟选择(必须是兄弟且严格相邻) | 
| 兄~弟 | 全部兄弟选择 | 
8.伪类选择器
8.1 元素选择伪类选择器
: 前有空格代表从子类开始数,无空格代表从所在级数开始。
:first-child 第一个子元素
:last-child 最后一个子元素 :nth-child(n) 选中第n个元素
关于:nth-child( )的特殊值
n 第n个 n的范围0到正无穷(全选)
even或2n 选中偶数位的元素
odd或2n+1 选中奇数位得到元素
上面的都是在所有元素中选择
下面都是在相同元素中选择
:first-of-type 第一个子元素
:last-of-type 最后一个子元素
:nth-of-type(n) 选中第n个元素
8.2 否定伪类选择器
:not( ) 将符号条件的元素去除
 不支持组合使用 :not(div .one) 不支持
8.3 特殊伪类选择器
:link 表示未访问过的a标签
 :visited 表示访问过的a标签
 以上两个伪类是超链接所独有的
 由于隐私的问题,所以visited这个伪类只能修改链接的颜色
 以下两个伪类是所有标签都可以使用
 :hover 鼠标移入后元素的状态
 :active 鼠标点击后,元素的状态
9 . 伪元素选择器
常见的几个伪元素:
 ::first-letter 表示第一个字母
 ::first-line 表示第一行
 ::selection 表示选中的元素
 ::before 元素开始的位置前
 ::after 元素结束的位置后
 befor和after必须配合contend一起使用(before,after所写的内容无法选中且永远在最前和最后)
认识了以上的css选择器,我们就可以快速找到要进行装饰的HTML元素了,接下来就是css有哪些常用属性可以对HTML元素装饰的漂漂亮亮吧!



















