200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 深入理解CSS伪类【HTML】

深入理解CSS伪类【HTML】

时间:2020-02-18 01:43:45

相关推荐

深入理解CSS伪类【HTML】

web前端|html教程

深入理解CSS伪类

web前端-html教程

× 目录[1]锚点[2]UI元素[3]结构伪类[4]其他

多人对战答题源码,让ubuntu运行jar,tomcat老是要身份验证,爬虫思想的书,php集成环境安装包下载,静态分页 seolzw

前面的话

asp如何生成网站源码,查看ubuntu里文件,长条状的爬虫,php unset &,鹿鞭seolzw

伪类经常与伪元素混淆,伪元素的效果类似于通过添加一个实际的元素才能达到,而伪类的效果类似于通过添加一个实际的类来达到。实际上css3为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。本文将详细介绍伪类的详细知识

8090美女俱乐部 源码,vscode制作图形化界面,ubuntu优秀软件,tomcat服务器异常,自制电子爬虫,php大型项目架构,关于seo百度竞价分析lzw

锚点

关于锚点,有常见的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;}

[注意]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 > i:first-child 匹配所有

元素中的第一个

元素中的所有

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;}

第一个DIV

第二个DIV

第三个DIV

第四个DIV

第五个DIV

第六个DIV

【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

第一个p

第二个div

第二个p

第三个div

第三个p

第四个div

【3】:root、:not、:empty、:target

:root 选择文档的根元素,即元素: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;}

测试

第一个div

第一个p

第二个div

第二个p

其他

【1】:lang() 匹配某个语言,IE7-浏览器不支持

p:lang(en) 匹配语言为"en"的

【2】不仅可以使用单一伪类,也可以伪类结合使用

[注意]顺序无关

div:hover:first-child{background-color: lightgreen;}div:last-of-type:active{background-color: lightblue;}

第一个div

第二个div

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。