伪类与伪元素的区别、详细用法

伪元素: 用来创造文档中不存在的元素。(css3规范推荐用两个冒号表示,但大多数浏览器也支持用一个冒号表示为元素) 常用伪元素如下:

  • ::after ( :after) — 在选中元素的后面创造子元素 (默认行内元素)。
  • ::before ( :before) — 在选中元素中的前面创造子元素(默认行内元素)。
  • ::selection ( :selection) — 应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分),只有部分属性允许使用该伪元素。
  • ::first-letter ( :first-letter) — ::first-letter会选中某块级元素第一行的第一个字母,并且文字所处的行之前没有其他内容(如图片和内联的表格)
  • ::first-line (:first-line) — 在某块级元素的第一行应用样式。
  • ::slotted() — 用于选定那些被放在 HTML模板 中的元素
  • ::cue ( :cue) — 匹配所选元素中的WebVTT提示。这可以用于在VTT轨道的媒体中使用字幕和其他线索。

伪 类: 用来表示元素的某种特殊状态(用一个冒号表示)
常用伪类如下:

  • :nth-child( n ) — 表示当前元素中所有兄弟元素的第 n 个子元素。例如 :nth-child(2n)的意思是匹配位置为 2、4、6、8…的元素。
  • :first-child — 表示在一组兄弟元素中的第一个元素。
  • :focus — 表示获得焦点的元素(如表单输入)。
  • :hover — 一般用于表示当鼠标移过标签上的状态。
  • :last-child — 表示在父元素中的最后一个子元素。
  • :checked — 表示任何处于选中状态的radio、 checkbox 、selection。
  • :active — 匹配被用户激活的元素。
  • :default — 表示一组相关元素中的默认表单元素。
  • :defined — 表示任何已定义的元素
  • :disabled — 表示任何被禁用的元素。
  • :enabled — 表示任何被启用的元素。
  • :link — 用来选中元素当中的链接。
  • :nth-last-child() — 从兄弟节点中从后往前匹配处于某些位置的元素
  • :visited — 表示用户已访问过的链接。

猜你喜欢

转载自blog.csdn.net/qq_41612593/article/details/115180274