欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS3选择器的研究

程序员文章站 2022-04-13 08:16:25
...
属性选择器


  [title]:选择带有title属性的元素


  [title='hello']:选择属性是title并且值是hello的元素


  [title~='hello']:选择属性是title并且部分值是hello的元素,hello需要是单独的值,以空格分开


  [title*='hello']:选择属性是title并且其中包含了hello的元素


  [title|='hello']:选择属性是title并且值是以hello开头并且允许hello后面以-的任意字符


  [title^='hello']:属性以hello开头的任意字符


  [title$='hello']:属性以hello结束的任意字符


  [title^='hello'][title$='.py']:选择属性以hello开头并且以.py结束的元素

连结符


  h1~p:选择h1元素后面的所有同级p元素


  p~p:选择p元素后面的所有同级p元素,除了第一个p元素


  h1+p:选择h1元素后面的第一个同级p元素

伪类选择器


  nth系列,数字

  nth-child():按照位置来算数


  nth-of-type():按照类型来算数


  nth-last-child():从末尾按照位置开始算


  nth-last-of-type():从末尾按照类型来算数


  通过(-n+number)来指定选择前几个元素


  -n会向负数方向增加先从0开始,-1,-2,-3...

  使用:nth-child(odd)或:nth-child(even)实现隔行变色。

单个选择


  first-child:选择第一个元素,按位置
  first-of-type:选择第一个元素,按类型

  last-child:选择最后一个元素,按位置
  last-of-type:选择最后一个元素,按类型

  only-child:没有其他兄弟元素的时候会被选中
  only-of-type:可以有兄弟元素但要类型不同


  使用only-of-type可以让你从其他类型元素中挑选出一个元素来,反之only-child需要元素单独存在才行。这个肯定有大作用,待发现。

伪类

:target

  1.   通过:target来模拟点击事件
  2.   
  3.   利用target实现tab栏切换
  4.   使用target伪类,可以轻松地突出显示用户要阅读的评论

利用target制作的tab切换,当然它还是有很多缺陷的,不过大家可以通过它扩展扩展。

CSS3选择器的研究

:empty
  选择没有子元素并且没有文本节点的元素

:root
  选择根元素,在HTML中root永远是html元素

:not
  参数支持传递一个元素甚至其他伪类选择器,但不支持传递连结符以及伪元素
  选择除了指定参数以外的任意元素


元素状态伪类

:checked
  当checkbox被选中时

:disabled
  当元素被禁用时

:enabled
  当元素没有被禁用时

伪元素

::first-line
  选择第一行文字

::first-letter
  选择第一个字

::after
  在元素末尾添加一个伪元素

::before
  在元素开头添加一个伪元素

::selection
  应用到选中的文本上

合理利用这些选择器,可以帮你解决很多问题,目前还在研究中,本篇内容长期更新。

相关标签: CSS3选择器的研究