美文网首页
CSS伪类、伪元素 解析

CSS伪类、伪元素 解析

作者: 木子方是个小太阳 | 来源:发表于2018-08-15 11:55 被阅读0次

定义

伪元素:用于将某些特殊的效果添加到某些选择器
伪类:用于向某些选择器添加特特殊的效果

常用伪元素有哪些?

:first-line (用于向文本的首行设置特殊样式,只能用于块级元素)
:first-letter (用于向文本的首字母设置特殊样式,只能用于块级元素)
:before (可以在元素的内容前面插入新内容)
:after(可以在元素的内容之后插入新内容)
:first-child(用于选择元素的第一个子元素。)

常用伪类有哪些?

:link (用于超链接未访问链接)
:visited (用于超链接已未访问链接)
:hover (用于超链接鼠标移动到链接上)
:active(用于超链接选定的链接)
:lang(为不同的语言定义特殊的规则)
:focus(在元素获得焦点时向元素添加特殊的样式,多用于input框,a链接也有)

用法及用途

再看伪类伪元素的最初定义,
伪元素:用于将某些特殊的效果添加到某些选择器
伪类:用于向某些选择器添加特特殊的效果 。
这两句话乍看好像一个意思,我们举例来看:

<style type="text/css">
    .content p:first-letter{color:red;}
    .content-normal span{color:red;}
</style>
<body>
    <div class="content">
        <p>我是第测试伪元素</p>
    </div>
    <div class="content-normal">
        <p><span>我</span>是第测试伪元素</p>
    </div>  
</body>

结果:

2.png

从上面例子我们可以清晰看到:

  • 通过伪元素我们可以改变元素样式、内容。
  • 伪元素实现的功能我们同样可以通过真正的元素来实现。
  • 伪元素抽象的创建了元素。

再看伪类 伪类:用于向某些选择器添加特殊的效果。

a:link {color:#ccc;}
a:visited {color:#ddd;}
a:hover {color:#fff;}
a:link {color:#eee;}
input:focus{border:3px solid red;}

通过常用的伪类我们可以看出,伪类多为改变元素的状态而应用的样式,比如,active、hover、focus这些。通过添加元素不能实现这些特殊的效果。

css标准有这样一句话,翻译为 “css引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化”。
比如伪元素,既然伪元素能做到的功能子元素都能实现,为什么还会存在呢?因为有些时候为了改变样式就改变html结构,这样的做法不够干净,也不符合内容和表现分离的初衷。
所以能用样式解决的UI问题,我们尽量不添加dom元素。

总结

  • 1、伪元素和伪类都用于向选择器添加特殊的效果。
  • 2、伪元素和伪类的区别在于是否抽象的创建了元素。
  • 3、伪元素和伪类都不存在于真实的DOM结构中。
  • 4、伪元素在一个选择器中只能出现一次,且只能出现在末尾。
  • 5、伪元素和标签,伪类和类具有相同的优先级。

相关文章

  • 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伪类、伪元素 解析

    定义 伪元素:用于将某些特殊的效果添加到某些选择器伪类:用于向某些选择器添加特特殊的效果 常用伪元素有哪些? :f...

  • 伪元素和伪类

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

  • 伪类和伪元素初探

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

网友评论

      本文标题:CSS伪类、伪元素 解析

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