扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容主要讲解“CSS伪类选择器的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS伪类选择器的知识点有哪些”吧!
专注于为中小企业提供做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业玉山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
伪类
伪类选择器实质上是让设计师可以根据元素特定的状态,设置不同的视觉效果。具体有:link、:visited、:hover、:active、:focus、:focus-within、:target、:root和:checked。
HTMLAnchorElement的4大经典伪类
:link,用于设置链接初始状态时的样式;
:visited,用于设置链接被点击过后的样式;
:hover,用于设置鼠标悬停在链接上方时,链接的样式;
:active,用于设置鼠标按键按下,但未释放时,链接的样式。
想必各位都和我一样,最初接触到的就是上述4个伪类了吧?!而且还死机硬背它们的设置顺序(LVAH)吧,哈哈。
设置当前目标元素样式
还记得URL中的井号吗?从井号(#)开始到URL的末尾称为URL的hash或fragment,用于定位页面内某项资源。假设现在页面存在
而上述这个被定位的页面资源,被称为目标元素或当前活动元素!可通过:target设置其样式。
兼容性:IE9开始支持。
示例:
//当前URL为http://foo.com#1
:target{
color:red;
}
.title{
color:blue;
&:target{
border:solid1pxred;
}
}
.title{I'mnottargetelement.}
.title#1{Yes,I'm.}
设置元素获得焦点时的样式
:focus用于设置元素处于focus状态下的样式。
兼容性:IE8开始支持。
那么哪些元素支持focus状态呢?那要先弄清楚通过哪些操作可能实现focus。
它们分别是:
鼠标点击;
Tab键;
通过JavaScript的HTMLElement.prototype.focus()方法。
那么传统上支持focus状态的元素必定是a、button、input、select和textareas.
而HTML5中增加当元素设置了contenteditable或tabindex属性时,该元素支持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:solid1pxskyblue;
}
&:not(:focus){
border:solid1pxorange;
}
}
}
.form-control>input.pwd[type=password]+input.confirm-pwd[type=password]
其他
:root,用于设置元素的样式,从IE9开始支持。
:checked,用于设置单选和复选控件被选中的样式,从IE9开始支持。结合伪元素::before和content属性可以实现灵活高效的自定义单选和复选控件。
:empty,用于设置没有子节点的元素的样式。p{}为存在TEXT_NODE子节点的元素,而p{}则为没有子节点的元素。
:not,作为谓语表达取反的语义。
:placeholder-shown,用于设置元素placeholder显示时的样式。
到此,相信大家对“CSS伪类选择器的知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流