美文网首页我爱编程
css伪类、伪元素

css伪类、伪元素

作者: 罂粟1995 | 来源:发表于2018-06-10 19:07 被阅读0次

伪元素

创造关于文档语言能够指定的文档树之外的抽象。例如:
:before 在某元素之前插入某些内容
:after 在某元素之后插入某些内容
:first-letter 将样式添加到文本的首字母
:first-line 将样式添加到文本的首行

使用事例:

          p:after{
            content:'sss';
            background-color: red;
           }

效果是在每个p标签后面都会加上一段“sss”的内容,背景色为红色。
after还有一个作用,就是清除浮动。我们都知道可以在浮动的元素后面加个空的div,给这个空的div附上样式:clear:both,用这种方式清除元素;也可以用after来代替这个空的div,写成:

div:after{
    clear:both;
}

伪类

基于特征来给元素分类而不是基于名字、属性等,原则上特征不能从文档树上推断得到。例如:
:active 将样式添加到被激活的元素
:focus 将样式添加到被选中的元素
:hover 当鼠标悬浮在元素上方时,向元素添加样式
:link 将样式添加到未被访问过的链接上
:visited 将样式添加到被访问过的链接上

active和focus有什么区别?

active是鼠标按下一瞬间的状态,鼠标抬起后瞬间消失;focus是鼠标按下后元素被激活的状态,鼠标抬起后不会瞬间消失。

当点击事件发生时active、focus、hover的顺序是怎么样的呢?

顺序是hover -> active -> focus

link、visited、hover使用时的顺序有哪些注意的地方?

link是将样式添加到未被访问过的链接上,visited是将样式添加到访问过的链接上,如果把这两个属性定义到hover的后面,则会把前面定义的hover状态的属性覆盖掉
例如:

           a:hover{
            color:blue;
           }
           a:link{
            color:yellow;
           }
           a:visited{
            color:red;
           }

a标签未被访问过时是黄色,被访问过时是红色,但是鼠标移过时没有显示蓝色。这是因为鼠标移过时a标签同时拥有link/visited和hover的样式,定义在后面的会把定义在前面的覆盖。
正确的做法是把hover放在后面定义:

           a:link{
            color:yellow;
           }
           a:visited{
            color:red;
           }
           a:hover{
            color:blue;
           }

相关文章

  • part2: CSS基础-练习

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

  • css伪元素

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

  • 伪元素&伪类

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

  • 伪元素&伪类

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

  • CSS进阶知识点--CSS3伪类选择器和伪元素

    伪类选择器 动态伪类(锚点伪类、用户行为伪类) UI元素状态伪类 CSS3结构伪类 否定选择器 伪元素 动态伪类 ...

  • 伪类和伪元素

    伪类:CSS 伪类用于向某些选择器添加特殊的效果。 伪元素:CSS 伪元素用于向某些选择器设置特殊效果。 1、伪类...

  • CSS

    伪类的语法: CSS 类也可与伪类搭配使用。 伪元素

  • 伪元素和伪类

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

  • 伪类和伪元素初探

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

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

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

网友评论

    本文标题:css伪类、伪元素

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