伪类与伪元素的异同

  在说明它们的区别之前先讲讲这两个是什么东西.

 伪类:

  什么是伪类:  

    伪类用于定义元素的特殊状态.

   伪类的作用:  

    • 当用户将鼠标悬停在元素上时为其设置样式
    • 样式访问和未访问的链接不同
    • 在获得焦点时设置元素的样式

   伪类的语法:  

selector:pseudo-class {
    property:value;
}

  

  伪类的种类(以a作为selector):

    a:link : 鼠标点击后selector的效果

    a:visited: 鼠标移过去后selector的效果

    a:hover: 鼠标停留在该selector上的效果

    a:active: 鼠标点击该selector的效果

    (还有更多的种类在此就不一一列举了.)

   Notice: 在CSS定义中 a:hover必须在 a:linka:visited 之后能生效.  a:active 必须在 a:hover 之后才能有效!伪类名称不区分大小写。

  如果还不懂的话下面上代码:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <style>
 5 /* unvisited link */
 6 a:link {
 7     color: red;
 8 }
 9 
10 /* visited link */
11 a:visited {
12     color: green;
13 }
14 
15 /* mouse over link */
16 a:hover {
17     color: hotpink;
18 }
19 
20 /* selected link */
21 a:active {
22     color: blue;
23 }
24 </style>
25 </head>
26 <body>
27 
28 <p><a href="default.asp" target="_blank">Link</a></p>
29 
30 </body>
31 </html>

 

 

 伪元素:

   什么是伪元素:

      CSS伪元素用于设置元素的指定部分的样式。

   伪元素作用:

  • 设置元素的第一个字母或行的样式
  • 在元素内容之前或之后插入内容

   伪元素的语法:

selector::pseudo-element {
    property:value;
}

    

伪元素的种类(以p为selector)

      p::after : 在每个<p>元素的内容后面插入一些内容

      p::before: 在每个<p>元素的内容前面插入一些内容

      p::first-letter: 选择每个<p>元素的第一个字母

      p::frist-line: 选择每个<p>元素的第一行

      p::selection: 选择由用户选择的元素的部分

     如果需要增加内容的话property:value需要添加一个 content: " text "; (text为你需要添加的内容)至于效果大家可以自己去试一试,这里也不在过多的详说了.

  

 伪类与伪元素的异同点:

    相信大家都已经发现这两者有着很多相似之处,但是同时也具有着些许的差异感吧.下面来正式讲解一下两者的区别:

   相同点:

      1.语法都是  "选择器 + 单/双冒号 + 内容(属性值)".

      2.都是对指定选择器的样式的设定起作用.

   不相同点:

      1.伪类使用的是单冒号" : ",而伪元素使用的是双冒号" :: " .

      2.伪类的作用范围为整个选择器的所有内容,如 a:hover{ color:red }; 当你把鼠标移动到这个a这个标签的时候,整个a标签的颜色会变成红色.

         伪元素的作用范围为这个选择器的一部分,如p::after{ content: "text";} 只是更改了p标签前面的内容.

  

  PS:以上为我总结出来的经验,希望能帮到读者.另外,本人知识水平有限,如有遗漏或者错误之处敬请补充.

posted @ 2018-10-22 17:38  Steak_ver  阅读(200)  评论(0编辑  收藏  举报