文章目录
css选择器
注释内容
一、css规则
1. 行内样式
<div style="color:red; background:yellow;">hello</div>
2.内部样式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
color: bisque;
}
</style>
</head>
<body>
<div>hello</div>
<div>hello</div>
<div>hello</div>
<div>hello</div>
<div>hello</div>
<p>aa</p>
<p>aa</p>
<p>aa</p>
<p>aa</p>
</body>
</html>
3. 外部样式
link链接
行内样式优先级最高
内部样式和外部样式优先级一样
4.css规则
选择器{
属性:值;
属性1:值1;
}
二、基本选择器
1.元素选择器:用元素名称做选择器
div{
color: bisque;
}
给所有元素加样式:*
*{
color: bisque;
}
2.属性选择器:标签上面加属性
div [id] {
color: bisque;
}
/* 有id属性的 */
div[id=aa] {
color: rgb(159, 76, 12);
}
/* 有id属性,且id属性是aa的 */
/* div[id=aa]注意两个是紧挨着的 */
div[id*=aa] {
color: rgb(159, 76, 12);
}
/* 表示只要id带aa的,就能被选中 */
div[id^=aa] {
color: rgb(159, 76, 12);
}
/* 有id属性,且以aa开头的 */
div[id$=aa] {
color: rgb(159, 76, 12);
}
/* 有id属性,且以aa结尾的 */
这个属性,是id,class,包括自己写的属性,都可以
3.id选择器:#开头
#aa{
color: aqua;
}
4.class选择器
.zz{
color: aqua;
}
5.结合选择器
p.zz{
//满足p标签
//满足class
//中间无空格
color: aqua;
}
p#zz{
//满足p标签
//满足id
//中间无空格
color: aqua;
}
6.子选择器
selector1 selector1 两个选择器中间用空格隔开
强调包含关系
div p {
color: purple;
background: greenyellow;
}
/* div下面的p标签 */
7.包含选择器
selector1>selector2 强调父子
div>p {
color: purple;
background: greenyellow;
7.兄弟选择器 selector1~selector2
/* 只找弟弟 class叫cc下面所有class叫aa的*/
.cc ~. aa {
color: purple;
background: greenyellow;
/* class叫cc的下面所有弟弟 * */
.cc ~* {
color: purple;
background: greenyellow;
8.选择器组合 selector1,selector2,selector3 …
p,
div a,
span {
color: purple;
background: greenyellow;
}
二、伪元素选择器
1、首字母
:: first-letter 只能用于块级元素
div :: first-letter {
color: purple;
font-size: 30px;
background: greenyellow;
}
2、首行
首行 :: first-line 只能用于块级元素
div {
//单词裂开
//不然所有字母就会横向展开了
word-break: break-all;
div :: first-line {
color: purple;
font-size: 30px;
background: greenyellow;
}
3、在前边插入 :: before
div::before {
content: "aaa";
color: purple;
font-size: 30px;
background: greenyellow;
}入代码片
4、在后边插入 :: after
div::after {
content: "aaa";
color: purple;
font-size: 30px;
background: greenyellow;
}
三、伪类选择器
1、结构性伪类选择器
:nth-child()
括号里可以是数字n n从1开始
可以是英文单词 odd奇数 even偶数
括号里可以是表达式 5n+2 n从1开始
找第一个:nth-child(1)=first-child
找最后一个:last-child = nth-last-child(1)
倒着数:nth-last-child()
只认数字,如果类型刚好符合,则被选中
就是从第一个孩子往后走,不看类型
:nth-of-type()
括号里可以是数字n n从1开始
可以是英文单词 odd奇数 even偶数
括号里可以是表达式 5n+2 n从1开始
找第一个 first-of-type= nth-of-type(1)
找最后一个 last-of-type= nth-last-of-type(1)
倒着数:nth-last-of-type()
既认数字也认类型,找同类型下的第n个元素
就是从类型里面找第几个孩子
ul li:nth-last-of-type(3n+2) {
color: purple;
background: greenyellow;
2、ui状态伪类选择器
:hover鼠标悬停状态
:focus焦点状态
:checked选中状态
input:hover {
color: purple;
background: greenyellow;
}
input:focus {
color: red;
background: greenyellow;
}
input:checked {
color: red;
background: greenyellow;
/* 加阴影 */
box-shadow: 3px 3px 3px red;
/* 左右偏移量 垂直偏移量 模糊度 */
}
3、其他伪类选择器
/* not() */
ul li:not(.java):not(.php) {
color: purple;
background: greenyellow;
}
4、选择器的优先级规则
1、选择器写的越长(越准确),优先级越高
2、优先级高低 id选择器>class选择器>元素选择器
3、同级别长度下,css代码按照顺序执行,后边的效果会把前边的覆盖
掉。
4、终极规则:以上规则适用大部分场景,特殊场景不适用自行测试
总结
css总结