css中的类和伪类

作者:YanKaven 来源:蓝色理想 时间:2008-06-12 13:12:00 

在CSS中,模式(pattern)匹配规则决定那种样式规则应用于文档树(document tree)的哪个元素。这些模式叫着选择符(selector)。 一条CSS规则(rule)是选择器{属性:值;属性:值;}(selector {property:value;property1:value2;}),即选择符决定了{}中的声明(declaration)匹配哪个元素。

用伪类:hover实现提示效果

在CSS2.1中的选择符语法见下图,由语法形成了各种选择符。

:在HTML中当表现class属性的时候,人们可以用点(.)号来作为~=号的一个替代选择,所以div.value等同于div[class~=value]。此时.value只能严格的应用于HTML中的class属性,所以此类选择符叫类选择符。

在CSS2.1中样式通常依附与一个元素在文档树中的位置,这个简单的模型对于许多情况来说是足够的,但是一些常见的版式状态不能应用于文档树的结构。例如,在HTML中,没有元素能够引用一个段落的第一行,所以也没有简单的CSS选择符应用它。

所以,CSS引进了伪类(pseudo-class)和伪元素(pseudo-element)来允许基于文档树意外信息的格式化。

伪类:伪类对元素进行分类是基于特征(characteristics)而不是它们的名字、属性或者内容;原则上特征是不可以从文档树上推断得到的。在感觉上伪类可以是动态的,当用户和文档进行交互的时候一个元素可以获取或者失去一个伪类。例外的是":first-child"能通过文档树推断出来,":lang"在一些情况下也在从文档树中推断出来。

伪类有::first-child ,:link:,vistited,:hover:,active:focus,:lang

伪元素:伪元素是创造关于文档语言能够指定的文档树之外的抽象。例如文档语言不能提供访问元素内容第一字或者第一行的机制。伪元素允许设计师引用它们,否则这是难以办到的。伪元素还提供样式设计师给在源文档中不存在的内容分配样式(例如::before和:after能够访问产生的内容)。

伪元素有::first-line,:first-letter,:before,:after  (在苏沈小雨编的CSS2.0中文手册中把:first-line,:first-letter列为伪类应该是理解上的错误)

伪类和伪元素都不出现在源文件和文档树中。

总结上面可以知道:

  • 类选择器可以看着属性选择器在HTML应用中的一种快捷方式,从逻辑和功能上理解有传统类的含义,其被HTML元素预定义的属性class引用,所以叫着类选择器。

  • 伪类可以独立于文档的元素来分配样式,且可以分配给任何元素,逻辑上和功能上类类似,但是其是预定义的、不存在于文档树中且表达方式也不同,所以叫伪类。

  • 伪元素所控制的内容和一个元素控制的内容一样,但是伪元素不存在于文档树中,不是真正的元素,所以叫伪元素。

Refer:http://www.w3.org/TR/CSS21/selector.html

标签:类,伪类,css
0
投稿

猜你喜欢

  • 如何增强网站数据库Access文件的安全性

    2008-11-13 16:58:00
  • 使用eval()解析JSON格式字符串应注意的问题

    2008-04-16 15:46:00
  • ASP开发中有用的函数(function)集合(3)

    2008-10-14 17:20:00
  • 可以实现在同一页面里的用多按钮进行提交吗?

    2009-11-01 18:04:00
  • js键盘事件全面控制

    2008-02-21 12:51:00
  • INPUT的对齐问题

    2008-05-24 08:32:00
  • MySQL的root帐户密码重置方法

    2007-08-24 15:53:00
  • Asp 防止网页频繁刷新一法

    2008-04-07 13:03:00
  • 再谈“字符串拼接”的效率

    2009-04-30 12:48:00
  • CSS Sprites + 圆角[译]

    2009-05-08 16:10:00
  • sqlserver 三种分页方式性能比较[图文]

    2011-09-30 11:16:20
  • 为你的ASP程序作一个负载测试

    2008-10-23 13:48:00
  • 教你制作IBM LOGO的方法

    2007-10-23 13:34:00
  • asp如何获知Connection对象更多的信息?

    2009-11-23 20:53:00
  • SqlServer参数化查询之where in和like实现详解

    2012-05-22 18:10:50
  • 超长文章的智能分页-支持HTML

    2008-03-20 13:21:00
  • 记一次成功的sql注入入侵检测附带sql性能优化

    2011-09-30 11:29:39
  • 解析SQL server与asp 互操作的时间处理

    2009-02-05 16:13:00
  • 在线HTML编辑器原理(eweb原理)

    2009-01-08 12:25:00
  • MSSQL2005数据附加失败报错3456解决办法

    2012-11-30 19:56:59
  • asp之家 网络编程 m.aspxhome.com