WebKit源码解析 -- WebCore:: CSSParserValue

     转载,请注明出处!

    CSSParser对象解析CSS样式表时,解析出表示属性值的语法元素后,就会创建CSSParserValue对象。CSSParserValue对象记录了属性值。

     属性值粗略的可以分为如下几种类型:1)关键字,例如:”visibility: hidden”等;2)字符串,例如“border:12px”等;3)整型数值,例如”z-index:5”;4)浮点数,例如”opacity:0.5”;5)函数类型,例如” background-image : url (/image/bg.gif)”。因此,CSSParserValue类必须包含可以存储上述5种类型值的成员变量。
     具体定义如下。
  •  存储关键字的整型变量id。将解析出的字符串作为实参执行方法cssValueKeywordID。如果字符串是关键字,那么这个方法返回表示关键字的整型非零值。如果字符串不是关键字,那么这个方法返回零。将id作为实参执行方法valueOrPropertyName,可以获得关键字的字符串形式。
  •  存储整型数值、字符串、浮点数、函数类型的union空间。大小为4个字节。
  •  如果union空间存储的是整型数值,那么变量isInt为true。如果union空间存储的是非整型数值,那么isInt为false。
  • 为了正确区分union空间存储值的实际类型,CSSParserValue定义了成员变量unit。

另外,需要注意这个类是一个struct,而非一个class。因此,CSS语法分析器直接使用这个类型的所有成员变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值