利用CSS,不通过replace替换标引HTML标记

其实css也是将HTML从数据和表现分离的有力工具。石头的CSS Oriented Design:COD非常合我的口味,摒弃TOD(Table Oriented Design)还真不是意见容易的事情,但是一旦实现,系统本身就实现了分工和协作:就能像Winamp一样换皮肤了,从而发挥用户最大的能动性。最直接的例子就是本网站使用的MT系统,所有的STYLE都来自MovableStyle,。

需求:将XML结果集中的<b>显示成红色,其实完全可以通过客户端的CSS实现:
代码如下:

首先


<blockquote>

利用CSS,不通过replace替换<b>标引</b>HTML标记

</blockquote>

利用CSS,不通过replace替换<b>标引</b>HTML标记

这样:
在CSS中定义了:b {color:red;}

后,所有的<b>除了加粗外,还有红色的属性,为了防止整个页面中的其他<b>都被标红,我将结果都放在一个<
blockquote>

中,然后再在CSS中定义:

<style><!--

blockquote b {color:red;}

//-->

</style>



由于CSS的继承关系,只有所有在blockquote中的<b>才会被标红:

通过设置 font-weight:normal 甚至可以让<b>字体变细。

通过这个问题:得出一下2个结论
1 设计带有标引的对外搜索服务时,可以使用<b>做为标记
2 在客户端,可以通过CSS来实现控制。

关于:CSS, Accesibility and Standards Links


后记:
也曾经一段时间非常追求XML/XSLT/CSS的数据/结构/表现分离的理念。但是XSLT实施成本的确比较高,所以Resin上开发了基于XHTML的轻量级模板技术,我觉得还挺人性的 ASP .net的实现也是类似。

可能没有最好的模式,只有最合适的模式:关键还是要看开发本身的复杂程度
数百行代码过程性编程效率可能最高;
千行代码量可能面向函数开发效率最高;
万行代码量时,可能就不得不OO了;

作者: 车东 发表于:2004-04-12 17:04 最后更新于:2007-04-15 19:04
版权声明:可以转载,转载时请务必以超链接形式标明文章 的原始出处和作者信息及 本版权声明

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值