<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h1 class="class1" class="class2">h1标题内容</h1><!--一个元素可以有多个类名称-->
<p class="class1">p段落内容</p>
<div id="div1" class="class1">div的内容</div>
</body>
</html>
p{color:green;}/*元素选择器样式优先级高于通用选择样式*/
*{color: red}/*星号*为通用样式*/
#div1{color: blue}/*id选择器样式高于通用选择器和元素选择器样式*/
div{color: yellow}
.class1{color: pink}/*类选择器样式低于id选择器样式,高于元素选择器样式和通用选择器样式*/
h1.class1{padding: 20px}/*指定类名称为某个特定元素的*/
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<form>
<input type="text" name="text1" style="padding: 10px 20px 30px">
<input type="text" name="text2" style="padding: 15px 25px 35px">
<input lang="en-us" type="tel">
<input type="email" name="email" value="qq@qq.com">
<input type="submit" name="submit" value="确认">
</form>
</body>
</html>
/*input[name]{background: red}*/
/*input[name][value]{background: green}*//*含指定属性的元素*/
/*input[name="email"]{background: blue}*//*指定属性等于指定值的元素*/
/*input[style~='25px']{background:green}*/
/*input[lang|='en']{background: pink}*//*属性值以en开头,并后跟-的元素*/
/*input[name^="e"]{background:red }*//*属性name值以e开头的元素*/
/*input[name$="t"]{background: red}*//*指定属性值以特定字符串结尾的元素*/
input[name*="a"]{background: red}/*指定属性值包含特定字符串的元素*/
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<ul>
<li>第一个li元素
<ol>
<li>后代选择器</li>
<li>后代选择器</li>
</ol>
</li>
</ul>
<div>
<h1>h1h1</h1>
<p>p标签</p>
<h2>h2标签</h2>
<h1>h1标签</h1>
</div>
<h1>第3个h1标签</h1>
</body>
</html>
/*ul li{background: red}*/
/*ul>li{color: red;border:1px solid;}*//*颜色会被继承下去。边框不会被继承,只对子级有效,对孙级无效。*/
/*div h1{color: red}*/
/*p+h1{color: red}*//*紧贴在p之后的h1元素,如果p和h1之间有其他元素则无效*/
p~h1{color: red}/*p之后的所有h1,p之前的h1无效,p之后的h1和p之间有其他元素不会干扰。超出同个父级标签范围之后的h1无效*/
伪元素选择器:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p>
万里长城永不倒<br>
千里黄河水涛涛
</p>
</body>
</html>
/*伪元素选择器*/
p::first-letter{color: red;font-size: 60px}
p::first-line{background: red}
p::before{content: "前插入内容"}
p::after{content: "后插入内容"}/*不止插入文字,还可插入图片等*/
p::selection{background: pink}
结构伪类选择器:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<ul>
<li>第一个子元素</li>
<ol>
<li>第1个子元素</li>
<li>第2个子元素</li>
<li>第3个子元素</li>
</ol>
<li>第二个子元素</li>
<li>第三个子元素</li>
</ul>
<ul><li>仅有的一个无序列表</li></ul>
<ol><li>仅有的一个有序列表</li></ol>
<div>
<h1>父元素下同类型h1元素只有一个</h1>
<p>父元素下同类型p元素只有一个</p>
</div>
<div>
<p>父元素下同类型p元素只有一个</p>
</div>
<div>
<p>父元素下同类型p元素有两个。有子元素。
<h2>h2元素</h2>
</p>
<p>父元素下同类型p元素有两个</p>
</div>
<div></div>
</body>
</html>
/*伪类选择器*/
/*结构伪类选择器*/
/*:root{background: blue};*//*root指html标签*/
/*li:first-child{color: red}*//*要满足两个条件:1.是li元素;2.是其父元素的第一个子元素*/
/*ol>li:first-child{background: green}
ul>li:last-child{color:blue;}*/
/*p:only-child{background: red}*//*要满足两个条件:1.是p元素;2.p元素的父元素内只有一个元素*/
/*p:only-of-type{color: green}*//*要满足两个条件:1.是p元素;2.p元素的父元素内只有一个p元素*/
/*li:first-of-type{color: red}*//*要满足两个条件:1.是li元素;2.li元素的父元素内是第一个li元素。即匹配同级同类型第一个元素*/
/*li:last-of-type{color: red}*//*要满足两个条件:1.是li元素;2.li元素在父元素内是最后一个li元素。即匹配同级同类型最后一个元素*/
/*li:nth-of-type(2){color: red}*//*要满足两个条件:1.是li元素;2.li元素的父元素内是同类型第2个li元素。即匹配同级同类型第2个元素*/
/*li:nth-last-of-type(1){color: green}*//*要满足两个条件:1.是li元素;2.li元素的父元素内是同类型倒数第一个li元素。即匹配同级同类型倒数第1个元素*/
/*li:nth-child(2){color: red}*//*要满足两个条件:1.是li元素;2.li元素是父元素内第2个元素*/
/*li:nth-last-child(1){color: green}*//*要满足两个条件:1.是li元素;2.li元素是父元素内倒数第1个元素*/
/*li:nth-child(odd){color: red}*//*要满足两个条件:1.是li元素;2.li元素是父元素内第奇数个元素*/
/*li:nth-child(even){color: red}*//*要满足两个条件:1.是li元素;2.li元素是父元素内第偶数个元素*/
/*li:nth-child(3n){color: red}*//*要满足两个条件:1.是li元素;2.li元素是父元素内第3n个元素。还可用3n+1等各种表达式*/
div:empty{width: 300px;height: 200px;background: red}/*要绝对的空,连内容都不能有,空格都不能有*/
UI伪类选择器、其他伪类选择器:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<a href="">链接</a>
<a href="">链接2</a>
<a href="#p1">链接到target</a>
<form>
<input type="text" name="">
<input type="email" name="">
<input type="tel" name="" lang="zh-CN">
<input type="checkBox" name="" disabled="">复选框
<input type="radio" name="">单选按钮
</form>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<p lang="" id="p1">target链接过来的文本内容</p>
</body>
</html>
/*伪类选择器*/
/*UI伪类选择器*/
/*a:active{background: blue}*/
/*a:hover{background: blue}*/
/*a:link{color: pink;background: green}*//*未访问过的链接颜色设置要放在访问过的设置之前才有效*/
/*a:visited{color: red}*/
/*input:focus{background: pink}*/
/*input:lang(zh-CN){background: pink}*/
/*input:checked{width: 20px;height: 20px}*/
/*input:disabled{width: 30px;height: 30px}*/
/*input:enabled{width: 30px;height: 30px}*/
/*p:target{color: red}*//*p元素的内容在被链接过来时会使用的样式*/
:not(a){color: red}
选择器优先级:
一般情况:行内样式>ID>类>元素;
范围更小,描述更精准的优先级高;
后设置的优先级高。