CSS伪类

目录

一、概念及语法

二、伪类的使用

[① 锚伪类:链接能够以不同的方式显示](#① 锚伪类:链接能够以不同的方式显示)

[② 伪类和 CSS 类](#② 伪类和 CSS 类)

[③ 悬停在 div上](#③ 悬停在 div上)

[④ 简单的工具提示悬停](#④ 简单的工具提示悬停)

[⑤ CSS - :first-child 伪类](#⑤ CSS - :first-child 伪类)

[⑥ 匹配所有 元素中的首个 元素](#⑥ 匹配所有 元素中的首个 元素)

[⑦ 匹配所有首个](#⑦ 匹配所有首个) [元素中的所有 元素](#元素中的所有 元素)

[⑧ CSS - :lang 伪类](#⑧ CSS - :lang 伪类)


一、概念及语法

1.概念:CSS伪类是用于选择HTML元素的特殊关键字,它们可以根据元素的状态或位置来选择元素。

2.语法

css 复制代码
selector:pseudo-class {
  property: value;
}

二、伪类的使用

① 锚伪类:链接能够以不同的方式显示

css 复制代码
/* 未访问的链接 */
a:link {
  color: #FF0000;
}

/* 已访问的链接 */
a:visited {
  color: #00FF00;
}

/* 鼠标悬停链接 */
a:hover {
  color: #FF00FF;
}

/* 已选择的链接 */
a:active {
  color: #0000FF;
}

注意:a:hover 必须在 CSS 定义中的 a:link 和 a:visited 之后,才能生效!a:active 必须在 CSS 定义中的 **a:hover**之后才能生效!伪类名称对大小写不敏感。

例如:

html 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
/* unvisited link */
a:link {
  color: red;
}

/* visited link */
a:visited {
  color: green;
}

/* mouse over link */
a:hover {
  color: hotpink;
}

/* selected link */
a:active {
  color: blue;
}
</style>
</head>
<body>

<h1>CSS 链接</h1>
<p><b><a href="/index.html" target="_blank">这是一个链接</a></b></p>
<p><b>注释:</b>在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后才能生效。</p>
<p><b>注释:</b>在 CSS 定义中,a:active 必须位于 a:hover 之后才能生效。</p>

</body>
</html>

② 伪类和 CSS 类

伪类可以与 CSS 类结合使用:

当您将鼠标悬停在例子中的链接上时,它会改变颜色

例如:

html 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
/* unvisited link */
a:link {
  color: red;
}

/* visited link */
a:visited {
  color: green;
}

/* mouse over link */
a:hover {
  color: hotpink;
}

/* selected link */
a:active {
  color: blue;
}
</style>
</head>
<body>

<h1>CSS 链接</h1>
<p><b><a href="/index.html" target="_blank">这是一个链接</a></b></p>
<p><b>注释:</b>在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后才能生效。</p>
<p><b>注释:</b>在 CSS 定义中,a:active 必须位于 a:hover 之后才能生效。</p>

</body>
</html>

③ 悬停在 div上

在 <div> 元素上使用 :hover 伪类的实例

css 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
div {
  background-color: green;
  color: white;
  padding: 25px;
  text-align: center;
}

div:hover {
  background-color: blue;
}
</style>
</head>
<body>

<p>请把鼠标移到下面的 div 元素上来改变其背景色:</p>

<div>把鼠标移到我上面</div>

</body>
</html>

④ 简单的工具提示悬停

把鼠标悬停到 <div> 元素以显示 <p> 元素(类似工具提示的效果)

html 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
p {
  display: none;
  background-color: yellow;
  padding: 20px;
}

div:hover p {
  display: block;
}
</style>
</head>
<body>

<div>鼠标移到我上面来显示 p 元素
  <p>哈哈!我在这里!</p>
</div>

</body>
</html>

⑤ CSS - :first-child 伪类

**:first-child**伪类与指定的元素匹配:该元素是 另一个元素的第一个子元素。

匹配首个 <p> 元素

在下面的例子中,选择器匹配作为任何元素的第一个子元素的任何 <p> 元素

html 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
p:first-child {
  color: blue;
} 
</style>
</head>
<body>

<p>这是一段文本。</p>

<p>这是一段文本。</p>

</body>
</html>

⑥ 匹配所有 <p> 元素中的首个 <i> 元素

在下面的例子中,选择器匹配所有 <p> 元素中的第一个 <i> 元素

html 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
p i:first-child {
  color: blue;
} 
</style>
</head>
<body>

<p>我是一个<i>强壮</i>的男人。我是一个<i>强壮</i>的男人。</p>

<p>我是一个<i>强壮</i>的男人。我是一个<i>强壮</i>的男人。</p>

</body>
</html>

⑦ 匹配所有首个 <p> 元素中的所有 <i> 元素

在下面的例子中,选择器匹配作为另一个元素的第一个子元素的 <p> 元素中的所有 <i> 元素

html 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
p:first-child i {
  color: blue;
} 
</style>
</head>
<body>

<p>我是一个<i>强壮</i>的男人。我是一个<i>强壮</i>的男人。</p>

<p>我是一个<i>强壮</i>的男人。我是一个<i>强壮</i>的男人。</p>

</body>
</html>

⑧ CSS - :lang 伪类

**:lang**伪类允许您为不同的语言定义特殊的规则。

在下面的例子中,**:lang**为属性为 lang="en" 的 <q> 元素定义引号

html 复制代码
<!DOCTYPE html>
<html>
<head>
<style>
q:lang(en) {
  quotes: "~" "~";
}
</style>
</head>
<body>

<p>Some text <q lang="en">A quote in a paragraph</q> Some text.</p>

<p>在本例中,:lang 为 lang="en" 的 q 元素定义引号:</p>

</body>
</html>

以上所举的例子,只有当你在实际中去运行后才能感受到其中的乐趣,当然可以根据自己的需要,做出不一样的效果。

相关推荐
陪我去看海9 分钟前
被要求猛出小程序,做了这个多平台多环境的部署替我承受压力
前端·微信小程序·抖音小程序
Frag0ut22 分钟前
告别插件时代:HTML5 视频播放对比 Flash/Silverlight/ActiveX 的性能与技术优势解析
前端·html5·视频播放·flash·activex·流媒体技术·silverlight
用户8186180280023 分钟前
MongoDB文档模型设计——从建模到索引
前端
無名路人1 小时前
小程序点餐页吸顶滚动之分类按需加载,上划切换
前端·vue.js·微信小程序
竹林8182 小时前
把神经网络塞进一个浏览器标签页:端侧视觉 AI 的工程真相
前端·浏览器
乘风gg2 小时前
别跟风 AI 副业,工程师最该学的是 AI Coding
前端·ai编程·claude
Frag0ut2 小时前
深度解析:Chrome 自启动与后台常驻服务的作用、关闭方法及利弊权衡
前端·chrome
Amos_Web2 小时前
Rspack 源码解析(十五):Loader Runner 与 JS Loader 桥接
前端·rust·前端框架
YIAN2 小时前
从 SSE 流式到结构化输出:LangChain 三大 OutputParser 与 ToolCall 方案全实战
前端·langchain·node.js
DsirNg3 小时前
响应式的真正输入:为组件重新定义可用空间
css·flexbox·grid·前端架构·响应式布局·设计系统·container queries