文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CSS伪类选择器的知识有哪些

2024-04-02 19:55

关注

这篇“CSS伪类选择器的知识有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS伪类选择器的知识有哪些”文章吧。

  伪类

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

  HTMLAnchorElement的4大经典伪类

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

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

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

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

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

  设置当前目标元素样式

  &emsp;还记得URL中的井号吗?从井号(#)开始到URL的末尾称为URL的hash或fragment,用于定位页面内某项资源。假设现在页面存在<h4id="title">Target</h4>的元素,那么只要地址栏输入#title浏览器就会不断滚动(滚动不一定存在补间动效)直到元素h4#title位于可视区的特定位置。(注意:请不要和UIRouting混为一谈)

  &emsp;而上述这个被定位的页面资源,被称为目标元素或当前活动元素!可通过:target设置其样式。

  &emsp;兼容性: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获取当前得到焦点的元素

  

  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,用于设置<html>元素的样式,从IE9开始支持。

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

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

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

  :placeholder-shown,用于设置元素placeholder显示时的样式。
CSS伪类选择器的知识有哪些

以上就是关于“CSS伪类选择器的知识有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯