• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > CSS伪类与CSS伪元素的区别及由来具体说明

CSS伪类与CSS伪元素的区别及由来具体说明

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS伪类,CSS伪元素等相关知识,佚名 希望在学习及工作中可以帮助到您
关于两者的区别,其实是很古老的问题。但是时至今日,由于各种网络误传以及一些不负责任的书籍误笔,仍然有相当多的人将伪类与伪元素混为一谈,甚至不乏很多CSS老手。早些年刚入行的时候,我自己也被深深误导,因为论坛里的帖子大多不关心这种概念的细微差别,即使有人出来说一句:“这两个是不同的”,也只是被更多的帖子淹没掉而已。所以觉得有必要写下这些我所知的部分,这里着重写的是为什么这两者不同,以及一些平时容易错过的细节。

无论是伪类还是伪元素,都属于CSS选择器的范畴。所以它们的定义可以在CSS标准的选择器章节找到。分别是 CSS2.1 Selectors 和 CSS Selector Level 3,两者都已经是推荐标准。
标准的定义

在CSS2.1里,5.10 Pseudo-elements and pseudo-classes 描述了这两个概念的由来,它们是被一同提及的。但到了 Selector Level 3 里,它们就被分开到两个小节里加以区分。但无论如何,伪类和伪元素的引入都是因为在文档树里有些信息无法被充分描述,比如CSS没有“段落的第一行”之类的选择器,而这在一些出版场景里又是必须的。用标准里的话说:
CSS introduces the concepts of pseudo-elements and pseudo-classes to permit formatting based on information that lies outside the document tree.
简单翻译一下,就是:
CSS 引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化
这么说很抽象,其实就是为了描述一些现有CSS无法描述的东西。缺少什么,则引入什么,不管是标准,还是人,都是如此成长而来。

伪类与伪元素的区别
这里我大可以列一个表格,把所有的伪类和伪元素分开罗列,但这未免太形式化,与其记住“哪些是哪些不是”,不如真正地加以区分。伪类和伪元素本身就有一个根本的不同之处,这点直接体现在了标准的描述语句上。
先看一个伪元素 first-line 例子。现在有一段HTML,内容是一个段落:

本来只是想稍稍写点,不想话又多了…到了最后,我一度觉得自己还漏了很多,不断在脑海里搜索,但可能只能下次在补充了。写这篇的目的是为下篇《CSS伪类与CSS伪元素的典型应用》做个铺垫,不想理论的东西一写自己就开始废话连篇了,惭愧…回看本篇,自己的思路跳的有些乱了,洋洋洒洒这么多字,可能概括起来没几句话,但如果希望尽可能表达清楚,则又免不了冗余过头。理论总是显得枯燥了些,下篇闲谈应用应该不至于这么沉闷:)

您可能想查找下面的文章:

  • CSS控制链接显示状态的CSS伪类
  • CSS伪类/伪元素选择器整理
  • CSS伪类对象before和after的用法实例详解
  • CSS伪类:before在元素之前 :after 在元素之后实例讲解
  • CSS伪类与CSS伪元素的区别及由来具体说明
  • 书写css伪类时冒号后多个空格导致该规则失效

相关文章

  • 2017-08-06中文字体在CSS中的写法整理
  • 2017-08-06css的边偏移距离针对left和right可能性值探讨
  • 2017-08-06使用CSS的position属性控制页面布局的入门教程
  • 2017-08-06css画太极图(阴阳八卦)
  • 2017-08-06使用CSS去掉超链接的虚线边框的方法
  • 2017-08-06CSS3中设置3D变形的transform-style属性详解
  • 2017-08-06IE中伪类hover的使用及BUG
  • 2017-08-06表单元素与提示文字无法对齐的解决方法(input,checkbox文字对齐)
  • 2017-08-06CSS Hack 浏览器兼容整理
  • 2017-08-06如何让图片相对于上层DIV始终保持水平、垂直都居中

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css3实现超立体3D图片侧翻倾斜效果
    • CSS3中颜色线性渐变实战
    • 利用CSS3的定位页面元素
    • 详解CSS中iconfont的使用
    • CSS背景色镂空技术实际应用及进阶分享
    • css简单实现热点链接当鼠标悬停时出现白色的框
    • 基于html和CSS3制作酷炫的导航栏
    • html+css实现数据图表的展示效果
    • FLASH遮挡DIV浮动层解决方案兼容IE FF Chrome
    • css 条件注释区分非IE浏览器

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有