伪类
动态伪类
:link 超链接未被访问过的状态
:visited 超链接访问过的状态
:hover 鼠标悬停在元素上的状态
:active 被激活的时候,鼠标点击并且没有放开发状态
:focus 获取焦点的时候
- 注意
- 设置动态伪类的时候,需用 link,visited,hover,active的顺序来操作
- 只有表单元素才能用
focus
伪类,(焦点)
结构伪类
:first-child 所有兄弟元素中的第一个
:last-child 所有兄弟元素中的最后一个
:nth-child(n) 所有兄弟元素中的第n个
:first-of-type 所有同类型兄弟中的第一个
:last-of-type 所有同类型兄弟元素中的最后一个
:nth-of-type(n) 所有同类型兄弟中的第n个
- n的值
- n:第几个
- 2n:偶数
- 2n+1/ 2n-1:奇数
- -n+3:前三个
否定伪类(排除的元素)
:not(选择器)
UI伪类
:checked 被选中的复选框或单选按钮
:enable 可用的表单元素(没有disabled属性)
:disabled 不可用的表单元素(有disabled属性)
语言伪类
:lang() 根据指定的语言选择元素
选择器练习作业
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
/* 一 */
section h1,
article h2{
font-size: 50px;
}
aside h3{
font-style: italic;
}
/* 二 */
input:required:focus{
border: 2px solid blue;
}
input::placeholder{
color: gray;
}
/* 三 */
.active:hover{
background-color: gray;
}
a:hover{
color:white ;
}
/* 四 */
.special-title::first-letter{
float: left;
line-height: 2.5;
color: gold;
}
/* 五 */
.list li ul li:first-child{
background-color: gray;
}
.list li ul li:hover{
color: blue;
}
/* 六 */
.container form input:focus{
border:3px solid green;
outline: none;
}
.container form label:hover{
background-color: skyblue;
}
</style>
<body>
<!-- 一 -->
<div class="main">
<section id="intro">
<h1>Welcome</h1>
<p>This is the introduction section.</p>
</section>
<article class="post">
<h2>Post Title</h2>
<p>Post content...</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</article>
<aside class="sidebar">
<h3>Sidebar Title</h3>
<p>Sidebar content...</p>
</aside>
</div>
<!-- 二 -->
<form>
<input type="text" name="username" required placeholder="Username">
<input type="email" name="email" required placeholder="Email">
<input type="submit" value="Submit">
</form>
<!-- 三 -->
<nav>
<ul>
<li><a href="#home" class="active">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
<!-- 四 -->
<h2 class="special-title">Special Title</h2>
<!-- 五 -->
<ul class="list">
<li>Item 1
<ul>
<li>Subitem 1</li>
<li>Subitem 2</li>
</ul>
</li>
<li>Item 2
<ul>
<li>Subitem 3</li>
<li>Subitem 4</li>
</ul>
</li>
</ul>
<!-- 六 -->
<div class="container">
<form>
<label for="name">Name:</label>
<input type="text" id="name" name="name">
<label for="password">Password:</label>
<input type="password" id="password" name="password">
<button type="submit">Submit</button>
</form>
</div>
</body>
</html>