问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

css3伪类选择器的几种写法介绍

发布网友 发布时间:2022-04-06 10:24

我来回答

2个回答

懂视网 时间:2022-04-06 14:45

本篇文章给大家带来的内容是关于深入理解CSS伪类选择器的知识(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前言

过去零零星星地了解和使用:link::aftercontent等伪类、伪元素选择器,最近看书时发现这方面有所欠缺,于是决定稍微深入学习一下,以下为伪类部分的整理。

伪类

?伪类选择器实质上是让设计师可以根据元素特定的状态,设置不同的视觉效果。具体有:link:visited:hover:active:focus:focus-within:target:root:checked

HTMLAnchorElement的4大经典伪类

  1. :link,用于设置链接初始状态时的样式;

  2. :visited,用于设置链接被点击过后的样式;

  3. :hover,用于设置鼠标悬停在链接上方时,链接的样式;

  4. :active,用于设置鼠标按键按下,但未释放时,链接的样式。

?想必各位都和我一样,最初接触到的就是上述4个伪类了吧?!而且还死机硬背它们的设置顺序(LVAH)吧,哈哈。

设置当前目标元素样式

?还记得URL中的井号吗?从井号(#)开始到URL的末尾称为URL的hash或fragment,用于定位页面内某项资源。假设现在页面存在<h3 id="title">Target</h3>的元素,那么只要地址栏输入#title浏览器就会不断滚动(滚动不一定存在补间动效)直到元素h3#title位于可视区的特定位置。(注意:请不要和UI Routing混为一谈)
?而上述这个被定位的页面资源,被称为目标元素或当前活动元素!可通过:target设置其样式。
?兼容性:IE9开始支持。

示例:

// 当前URL为http://foo.com#1
:target {
 color: red;
}
.title{
 color: blue;
 
 &:target{
 border: solid 1px red;
 }
}

.title{I'm not target element.}
.title#1{Yes, I'm.}

设置元素获得焦点时的样式

:focus用于设置元素处于focus状态下的样式。
兼容性:IE8开始支持。
那么哪些元素支持focus状态呢?那要先弄清楚通过哪些操作可能实现focus。
它们分别是:

  1. 鼠标点击;

  2. Tab键;

  3. 通过JavaScript的HTMLElement.prototype.focus()方法。

那么传统上支持focus状态的元素必定是abuttoninputselecttextareas.
而HTML5中增加当元素设置了contenteditabletabindex属性时,该元素支持focus状态。
也就是符合以下选择器的元素均支持focus状态。

a,button,input,select,textarea,[contenteditable],[tabindex]

注意:若tabindex属性值小于0,则无法通过Tab键获得焦点。但可以通过鼠标点击 或 脚本时元素获得焦点。

JS获取当前得到焦点的元素

/* 
 * 加载完成时默认返回body
 * 若某元素获得焦点时,则返回该元素
 */
document.activeElement :: HTMLElement

另外还有一个让人误会的属性

// 用于检测文档是否得到焦点,即用户是否正在与页面交互
// 页面仅仅位于屏幕可视区域,而用户没有与之交互时返回false。
document.hasFocus :: Void -> Boolean

设置子元素获得焦点时,该元素的样式

:focus-within,用于设置当子元素处于focus状态时,该元素的样式。
兼容性:Chrome63开始支持。

示例:二次确认密码时,密码框高亮

.form-control{
 &:focus-within > input{
 &:focus {
 border: solid 1px skyblue;
 }
 
 &:not(:focus){
 border: solid 1px orange;
 }
 }
}

.form-control>input.pwd[type=password]+input.confirm-pwd[type=password]

其他

  1. :root,用于设置<html>元素的样式,从IE9开始支持。

  2. :checked,用于设置单选和复选控件被选中的样式,从IE9开始支持。结合伪元素::beforecontent属性可以实现灵活高效的自定义单选和复选控件。

  3. :empty,用于设置没有子节点的元素的样式。p{ }为存在TEXT_NODE子节点的元素,而p{}则为没有子节点的元素。

  4. :not,作为谓语表达取反的语义。

  5. :placeholder-shown,用于设置元素placeholder显示时的样式。

热心网友 时间:2022-04-06 11:53

一、X:nth-child(n) li:nth-child(3) {color: red;}接下来的几个伪类选择器使用上非常类似,功能也比较接近。:nth-child(n),用于匹配索引值为n的子元素。索引值从1开始。X:nth-child()用法实际上有三种变化,demo的用法是最简单的,X:nth-child()更强大的用处在于奇偶匹配,明河不展开讲,有兴趣的请看《Understanding :nth-child Pseudo-class Expressions》,《CSS3 :nth-child()伪类选择器》 二、X:nth-last-child(n) li:nth-last-child(2) {color: red;}:nth-child(n),是从第一个开始算索引,而X:nth-last-child(n)是从最后一个开始算索引。
css伪类选择器有哪些

1、动态伪类选择器 不同的状态,使用不同的样式。E: link E: visited E: active E: hover E: focus 2、目标伪类选择器 用来匹配页面的URI中某个标识符的目标元素。E: target 选择匹配E的所有元素,且匹配元素被相关URL指向。3、语言伪类选择器 用来匹配使用指定语言的元素。E: lang(language)4...

CSS3 怎么分清伪元素和伪类。举例子

伪元素用于将特殊的效果添加到某些选择器。伪类有::first-child ,:link:,vistited,:hover,:active,:focus,:lang 伪元素有::first-line,:first-letter,:before,:after 使用伪类:p&gt;i:first-child {color: red} first second如果我们不使用伪类,而希望达到上述效果,可以这样做:不使...

css3样式怎么实现按钮鼠标经过或鼠标点击效果?

CSS3通过伪类选择器实现按钮的鼠标经过或点击效果。主要有三种方法:1. 使用:hover伪类选择器来改变按钮样式,调整颜色、边框或阴影。例如:button:hover {background-color: red;} 2. 使用:active伪类选择器来调整按钮在点击时的样式,如缩放、透明度等。例如:button:active {transform: scale(0.9);}...

html 5 的CSS3新增的伪类选择器还包括哪些?

:first-of-type p:first-of-type 选择属于其父元素的首个 元素的每个 元素。:last-of-type p:last-of-type 选择属于其父元素的最后 元素的每个 元素。:only-of-type p:only-of-type 选择属于其父元素唯一的 元素的每个 元素。:only-child p:only-child 选...

伪类前的冒号和两个冒号的区别

比如:first-line、:first-letter、:before、:after等。对于CSS2之前已有的伪元素,比如:before,单冒号和双冒号的写法::before作用是一样的。提醒,如果你的网站只需要兼容webkit、firefox、opera等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容IE浏览器,还是用CSS2的单冒号写法比较安全。

如何使用 CSS3 伪类

你说的是css3伪类选择器吗?E:link CSS1 设置超链接a在未被访问前的样式。E:visited CSS1 设置超链接a在其链接地址已被访问过时的样式。E:hover CSS1/2 设置元素在其鼠标悬停时的样式。E:active CSS1/2 设置元素在被用户激活(在鼠标点击与释放之间发生的事件)时的样式。

css3 新增选择器有哪些?

伪类选择器(:link,visited,hover,active,focus,first-child)伪元素选择器(::first-line,first-letter,before,after)通配选择器(.)属性选择器(foo[name='martin'])子包含选择器(E&gt;F)相邻兄弟选择器(E+F)二、css3新增选择器 新增属性选择器:E[foo^='bar'] 匹配E元素,该元素包含foo属性,且...

css3的基本选择器有哪几种?

1、标签选择器,也称为元素选择器。标签选择器的基本形式如下:tagName{property:value},其中tagName是标签名称,property是css的属性。2、类选择器。类选择器用来为一系列标签定义相同的呈现方式,常用的语法是 .classValue{property:value}。其中classValue是类选择器的名称,这是由css编写者自己命名。(...

css伪类选择器after?

vuecss伪元素after的使用开篇一句话:CSS的伪类,伪元素就当成vue的过滤器使用就好了,我也是想到这个突然就茅塞顿开了。用法::after选择器表示向选定的元素之后插入内容。要有content属性 需求举例:div按钮后面有个朝下的ico,点击div后ico方向朝上 实现办法:1.可以使用JS实现,div的class名绑定到一个...

css伪元素和伪类的区别

伪类和伪元素的区别在于它们的功能和使用场景。伪类是CSS3引入的概念,用于选择DOM树外的信息或常规CSS选择器无法获取的信息。伪类主要有两种功能:一是用于格式化DOM树以外的信息,如超链接的:link和:visited状态;二是用于获取DOM树中无法直接访问的信息,例如:first-child选择器。而伪元素则可以创建一些...

css3伪类选择器 css伪类选择器怎么用 css3新增的选择器 html的伪类选择器 css3选择器的标记 css3新增选择器有哪些 伪类就是选择器吧 css3新增样式选择器 伪类选择器怎么在html中应用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
tplink无线扩展器怎样重置密码 扩展器原始的密码是什么 如何重新设置TPLink扩展器的密码简单步骤教你修改TPLink扩展器的... 为什么要加入tcpip协议 父母如何给孩子做一个好榜样 父母应该如何做孩子的榜样? 冬季草原防火安全知识 冬季景区该如何预防火灾 厨房暗管漏水 多少钱 手脚出汗,睡眠不好,早泄是阳虚还是阴虚 高新技术企业融资模式现状 如何解决科技企业融资难 北京瑞策科技有限公司融资了么?融了几轮了?了解的来讲下? 四川繁盛农业科技有限公司这样的公司融资合法吗? 海信电视怎么下载电脑版的腾讯视频 海信电视LED50K360J问一下怎么样下载腾讯视频或者pps 苹果手机出现sos紧急联络上面有警务110火灾119救护车120然后按什么键都... 空调加制冷液停机再也起动不了 空调冷冻液加满了制冷效果还是不好 汽车空调加冷冻油加多了会出现什么问题 如何正确给羊药浴? 药浴为什么不宜立即冲洗? 给羊药浴,会有哪些好处呢?需要注意哪些问题? 什么是药浴,有什么注意事项 小朋友中药泡浴有什么禁忌吗? 泡药浴前应该注意什么? 如何判断买瓷器餐具是否有毒? 真的有抗菌不锈钢吗 陶瓷餐具正品是轻的还是有些重?越轻越真?还是越重越真? 陶瓷碗安全吗 怎样跟六创全报精华版老总回信? 今年四四期六创精华版的红字是什 六创全报精华版 (红字:一阔三大) 2016年063期六创全报精华版的红字是什么 六创全报精华版中红字十口心思是什么意思和生肖 106期六合皇信箱红字 贴信(红字:八路大军) 六创全报62期红字是什么 怎样写信给六创全报精华版老总 2015年六创报刊第44期红字以及老总的回信 今年四四期六创精华版的红字是什么 qq邮箱定时发送怎么修改发送时间? 报刊大全中的六创全报精华版怎么没红字了? 朋友请问一下QQ邮箱里的收件箱的时间可以更改么,,还有就是你是怎么改变邮件发送时间的。可以电话请教... qq邮箱更改发送时间 比熊犬适不适合新手小白来饲养 这是比熊吗 比熊是什么类型的狗 比熊是哪个国家的啊? 比熊耳朵小是不是不纯 qq音乐想恢复历史下载不小心删完了怎么办