× 目录 [1]锚点 [2]UI元素 [3]结构伪类 [4]其他
前面的话
伪类经常与伪元素混淆,伪元素的效果类似于通过添加一个实际的元素才能达到,而伪类的效果类似于通过添加一个实际的类来达到。实际上css3为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。本文将详细介绍伪类的详细知识
锚点
关于锚点,有常见的5个伪类,分别是:link,:hover,:active,:focus,:visited
a:link{background-color:pink;}/*品红,未访问*/
a:hover{background-color:lightblue;}/*浅蓝,鼠标悬停*/
a:active{background-color:lightgreen;}/*浅绿,正被点击*/
a:focus{background-color:lightgrey;}/*浅灰,拥有焦点*/
a:visited{color:orange;}/*字体颜色为橙色,已被访问*//*[注意]visited伪类只能设置字体颜色的样式*/
伪类顺序
对于伪类顺序,有一个口诀是love-hate,代表着伪类的顺序是link、visited、focus、hover、active。但是否伪类的顺序只能如此呢?为什么是这个顺序呢?
CSS层叠中有一条法则十分重要,就是后面覆盖前面,所以伪类的顺序是需要精心考虑的。
【1】link和visited必须在最前面,且没有先后顺序,否则link或visited的效果将被覆盖
[注意]link和visited称为静态伪类,只能应用于超链接
【2】hover、active、focus这三个伪类必须是focus、hover、active的顺序,因为在focus状态下,也需要触发hover和active,而要触发active一定要先触发hover,所以active要放在hover后面
[注意]hover、active、focus称为动态伪类,可应用于任何元素,但IE7-浏览器不支持:focus,:hover和:active在IE6-浏览器下只支持给设置
所以最终的顺序只有两种:link、visited、focus、hover、active或visited、link、focus、hover、active
a:link{background-color:pink;}/*品红,未访问*/a:visited{color:orange;}/*字体颜色为橙色,已被访问*/a:focus{background-color:lightgrey;}/*浅灰,拥有焦点*/a:hover{background-color:lightblue;}/*浅蓝,鼠标悬停*/a:active{background-color:lightgreen;}/*浅绿,正被点击*/
UI元素伪类
UI元素伪类包括:enabled、:disabled、:checked三个,主要针对于HTML中的form元素,IE8-浏览器不支持
:enabled 可用状态:disabled 不可用状态:checked 选中状态
input:enabled{ border: 1px solid black; background-color: transparent;}input:disabled{ border: none; background-color: gray;}input:checked{ outline: 2px solid lightblue;}
<button onclick = "btn.disabled = false;">按钮可用</button><br /><button onclick = "btn.disabled = true;">按钮不可用</button><br /><input type="button" id="btn" value="按钮"><br /><br><label>Male<input type="radio" name="sex" /></label><br /><label>Female<input type="radio" name="sex" /></label>
[注意]input和:和enabled之间都不可以有空格
结构伪类
结构伪类可分为以下3种情况,IE8-浏览器不支持
//以下情况都是E为父元素,F为子元素
【1】:nth-child(n)、:nth-last-child(n)、first-child、last-child、:only-child
E F:nth-child(n) 选择父元素的第n个子元素E F:nth-last-child(n) 选择父元素的倒数第n个子元素E F:first-child 父元素的第一个子元素,与E F:nth-child(1)等同E F:last-child 父元素的最后一个子元素,与E F:nth-last-child(1)等同E F:only-child 选择父元素中只包含一个子元素
[注意]:firsr-child和:last-child只有IE6-浏览器不支持
n可以是整数(从1开始),也可以是公式,也可以是关键字(even、odd)
p:first-child 代表的并不是<p>的第一个子元素,而是<p>元素是某元素的第一个子元素p > i:first-child 匹配所有<p>元素中的第一个<i>元素p:first-child i 匹配所有作为第一个子元素的<p>元素中的所有<i>元素
li:nth-child(odd){color: red;} li:nth-last-child(3){color: green;}li:first-child{color: blue;}li:last-child{color: yellow;}div:only-child{background-color:lightgrey;}
<ul> <li><div>第一个DIV</div></li> <li><div>第二个DIV</div></li> <li><div>第三个DIV</div></li> <li><div>第四个DIV</div></li> <li><div>第五个DIV</div></li> <li><div>第六个DIV</div></li> </ul>
【2】:nth-of-type(n)、:nth-last-of-type(n)、:first-of-type、:last-of-type、:only-of-type
E F:nth-of-type(n) 选择父元素的具有指定类型的第n个子元素E F:nth-last-of-type(n) 选择父元素的具有指定类型的倒数第n个子元素E F:first-of-type 选择父元素中具有指定类型的第1个子元素,与E F:nth-of-type(1)相同E F:last-of-type 选择父元素中具有指定类型的最后1个子元素,与E F:nth-last-of-type(1)相同E F:only-of-type 选择父元素中只包含一个同类型的子元素
.box div:nth-of-type(even){color: red;} .box p:nth-last-of-type(3){color: green;}.box div:first-of-type{color: blue;}.box p:last-of-type{color: yellow;}.box div:only-of-type{color: pink;}
<div class="box"> <div>第一个div</div> <p>第一个p</p> <div>第二个div</div> <p>第二个p</p> <div class="in">第三个div</div> <p>第三个p</p></div><div class="box"> <div>第四个div</div></div>
【3】:root、:not、:empty、:target
:root 选择文档的根元素,即<html>元素:not 选择除某个元素之外的所有元素:empty 选择没有子元素的元素,而且该元素也不包含任何文本节点:target 匹配锚点对应的目标元素
[注意]:not选择器只有safari9+及ios9.2+浏览器支持
:root{color:red;}div:not{background-color: lightgrey;}p:empty{height:30px;width:30px;background:pink;}:target{color:blue;}
<body> <a href="#test">测试</a> <div>第一个div</div> <p>第一个p</p> <div id="test">第二个div</div> <p>第二个p</p> <p></p> </body>
其他
【1】:lang() 匹配某个语言,IE7-浏览器不支持
p:lang(en) 匹配语言为"en"的<p>
【2】不仅可以使用单一伪类,也可以伪类结合使用
[注意]顺序无关
div:hover:first-child{background-color: lightgreen;}div:last-of-type:active{background-color: lightblue;}
<div>第一个div</div> <div>第二个div</div>

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境