2005年9月10日星期六

可编程样式表

Coo曾经跟我说过,如果CSS里面能够自定义颜色常量(例如Red=#FF0000就是一个颜色常量),那就好了(那意味着你可以定义一个ContentBo­rderColor和一个HeadBorderColor,可能当初它们的值一样,当你需要修改其中一个的时候你就不需要小心的查找和替换以免替换多了或者替换­少了)。Coo的这个想法暂时只有通过xslt实现,MSN Messenger的聊天记录就是通过xml+xslt成仙的,而其中就有很多样式是通过自定义常数一次声明的(通过声明自定义参­数)。

我最近在弄一个东西,也发现如果样式表支持可编程那会好很多。例如我在一个地方使用了font-family列表,但是如果浏览器在采用font-family­上的后备字体显示时,我就希望padding等属性有一定的修正,但这个暂时做不到。再举一个例子,例如我设计一个ASP.NET控件,而它内部包含一个子元素­,我希望这个子元素的padding是整个控件的padding加上1px(也就是"继承"且"运算"),但这也是无法通过样式表编程做到的,暂时只能够在AS­P.NET里面主动去运算出这个元素的padding然后显示输出这个padding,而我想做到的效果是例如:
<div id="parent" class="parentLayer">
<div id="child" style="padding: +1px">
</div>
</div>
这时候,无论parentLayer这个样式怎么样,child的padding总是比它多一个pixel。

不知道W3C什么时候才开始重视样式有关的东西,可以让样式更加结构化和可编程。继续这样下去,Web将完全被Web Service取代,变成所有Web都是给机器读取和分析,然后再提供给人看。

没有评论:

发表评论