美文网首页
CSS伪类和伪元素

CSS伪类和伪元素

作者: 尤樊容 | 来源:发表于2017-03-22 14:45 被阅读42次

CSS伪类:

Paste_Image.png

link:未被访问的链接

div:link{
//添加相关样式,例如:背景\字体颜色、长宽、字体大小等。
 }

visited:被访问过后的样式

div:visited{
//添加相关样式,例如:背景\字体颜色、长宽、字体大小等。
 }

hover:鼠标放上去的样式

div:hover{
//添加相关样式,例如:背景\字体颜色、长宽、字体大小等。
 }

active:点击时的样式

div:active{
//添加相关样式,例如:背景\字体颜色、长宽、字体大小等。
 }

focus:向拥有键盘输入焦点的元素添加样式,当点击获取焦点的时候,显示相关样式

input:focus
{
  background-color:yellow;
}

first-child : 给第一个子元素添加样式

div:first-child{
  font-weight:bold
}

lang : 向带有指定 lang 属性的元素添加样式

q:lang(no)
{
quotes: "~" "~"
}
<q lang="no">段落中的引用</q>

CSS伪元素

Paste_Image.png

很能说明问题的图片:
first-letter:

Paste_Image.png

first-line:

Paste_Image.png

before

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p:hover:before{
            content:"add before";
            color:yellow;
        }
    </style>
</head>
<body>
<p>正文</p>
</body>
</html>

after
除了可以在元素后面添加内容以外,还可以用来清浮动。

 .clearfix{zoom:1;} 
 .clearfix:after {clear:both;content:'.';display:block;width: 0;height: 0;visibility:hidden;}

before和after还可以画很多小图标,可以参考这个:http://www.cnblogs.com/ys-ys/p/5092760.html

有了以上伪类、伪元素,原本需要取个class名和事件的地方可以省略,原本需要加个标签元素的地方也省了,这就是特它们存在的意义。

伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。

css3为了明确伪类和伪元素的区别,已经明确了单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素

伪元素和伪类之所以这么容易混淆,是因为他们的效果类似而且写法相仿,但实际上 css3 为了区分两者,已经明确规定了伪类用一个冒号来表示,而伪元素则用两个冒号来表示。

:Pseudo-classes
::Pseudo-elements

但因为兼容性的问题,所以现在大部分还是统一的单冒号,但是抛开兼容性的问题,我们在书写时应该尽可能养成好习惯,区分两者。

相关文章

  • 伪元素&伪类

    css引入伪类和伪元素概念是为了格式化文档树以外的信息。 伪元素&伪类: css引入伪类和伪元素概念是为了格式化文...

  • 伪元素&伪类

    css引入伪类和伪元素概念是为了格式化文档树以外的信息。 伪元素&伪类:css引入伪类和伪元素概念是为了格式化文档...

  • part2: CSS基础-练习

    CSS全称: cascading style sheets 谈谈css伪类与伪元素 这是我见过最全的伪类和伪元素总...

  • 伪元素和伪类

    伪元素和伪类 什么是伪元素? CSS 在渲染文档的时候,伪元素可以通过 css 给 HTML 添加一个元素(叫标签...

  • 伪类和伪元素初探

    Css3为了区分伪类和伪元素,伪类使用单冒号:,伪元素使用双冒号:: 常见伪类有 :hover,:link,:ac...

  • css伪元素

    css 伪元素 详述: 这篇文章是继 css的伪类 与 css 伪类选择器 后的 CSS伪元素总结, 意在总结连贯...

  • ::before 和 :after中双冒号和单冒号 有什么区别?

    单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。(伪元素由双冒号和伪元素名称组成);:before...

  • Css3Two

    文本溢出样式设置 文本超出容器以后: 换行显示 超出容器部分也显示 伪类和伪元素 伪类和伪元素 都是css中的伪类...

  • ::before和::after伪元素的用法

    css3为了区分伪类和伪元素,伪元素采用双冒号写法。常见伪类——:hover,:link,:active,:tar...

  • 伪元素和伪类问题

    1.单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。2.css2伪类和伪元素都是用单引号,所有的浏...

网友评论

      本文标题:CSS伪类和伪元素

      本文链接:https://www.haomeiwen.com/subject/mtnnnttx.html