xml css htc 的综合运用

作者:hutia 来源:蓝色理想 时间:2008-10-10 11:41:00 

这几个技术都不是很新了,现在还拿出来说也就是为了教教新手了呵呵,各位大虾多多指正.

css之所以出现就是为了实现数据与数据的表现形式的分离, xml则是为了无限扩展数据结构本身的限制, htc(更准确的说是behavior)进一步的把代码与表现形式分离开了

之所以要把这些已经出现了若干年的东西重新翻出来说,是因为看到最近的xHTML验证似乎比较热,其实xHTML的目的也就是更好的向XML过渡,形成一种标准化的数据形式.数据与数据表达方式,数据表达方式中的行为与样式的分离正是为了更有效率的组织数据.

让我们来看一些例子

用层模拟小窗口的代码:

运行代码框


可以看到,这段内容里同时有需要表达的数据,数据样式和样式的行为模式,对于只关心数据本身的修改者来说,如此多的代码会造成阅读上的困扰.让我们用前面提到的技术重整一下

//抱歉这段代码不能直接执行,因为我没有地方放置需要引用的CSS和HTC文件




<html xmlns:x >
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>xWin HTC Demo
</title>
<link rel="stylesheet" type="text/css" href="sp/css/global.css">
</head>
<body>
<x:win width=200 top=300 left=100 title="我就是传说中那个超长的窗口标题" id="win1" oncontentready="alert();">
  我就是传说中那个超长的窗口标题我就是传说
  中那个超长的窗口标题我就是传说中那个超长的窗口
  个超长的窗口标题我就是传说中那个超长的窗口标题
</x:win>
<x:win width=200 top=70 left=140 title="我就是传说中那个超长的窗口标题" id="win2">
我是窗口2<br>我是窗口2<br>我是窗口2<br>
我是窗口2<br>我是窗口2<br>我是窗口2<br>
</x:win>
<a href="javascript:win1.ShowHide();void(0);">win1</a>
<a href="javascript:win2.ShowHide();void(0);">win2</a>
</body>
</html>



这时候大家会很高兴的发现,页面变得如此简单,代码中基本上只有数据本身,几乎完全没有JS了,那么JS在哪里哪?下面是CSS文件:sp/css/global.css


x\:* {
 behavior:url(sp/htc/global.htc);
 font-Size:13px;
 line-Height:13px;
 background-Color:white;
 color:#444;
}


数据的行为也算作数据的表达样式之一呵呵,那么我们再看看htc文件

//这个代码是我自己的一个比较大的htc中摘录出来的,还包括了一个细线select

运行代码框


至此我们彻底的将三者分开,对于并不精通脚本语言的页面设计者,他可以随意的修改htm页面而不用再担心会引起什么意料不到的后果,只需要用<x:win>就可以简单的作出一个窗口,就好像这是一个普通的HTML标记一样.以后如果希望修改使得窗口不能拖动,也只需要修改一个htc就可以改变所有的页面.数据的结构化将使网站的维护变得异常轻松.

标签:css,窗口,xml,htc
0
投稿

猜你喜欢

  • 深度解析Python线程和进程

    2023-04-19 01:08:16
  • 视觉对交互的帮助——提升可用性

    2008-10-16 13:16:00
  • 十分钟轻松掌握dataframe数据选择

    2021-03-03 11:11:40
  • Python range与enumerate函数区别解析

    2022-03-05 21:40:20
  • mysql 索引详细介绍

    2024-01-17 22:35:52
  • node.js使用免费的阿里云ip查询获取ip所在地【推荐】

    2024-05-13 09:30:23
  • Yii入门教程之Yii安装及hello world

    2024-06-05 15:39:45
  • windows mysql 自动备份的几种方法汇总

    2024-01-25 05:44:43
  • Python如何存储和读取ASCII码形式的byte数据

    2021-05-18 04:31:39
  • Python使用eval函数执行动态标表达式过程详解

    2022-05-29 07:03:30
  • Asp Object 之:AddHeader

    2008-05-05 12:58:00
  • Python用input输入列表的实例代码

    2021-09-22 09:33:53
  • PHP PDOStatement::closeCursor讲解

    2023-06-07 18:23:31
  • Go语言切片常考的面试真题解析

    2024-04-30 10:07:16
  • python实现搜索文本文件内容脚本

    2022-01-30 18:51:22
  • SQL Server常见问题及解决方法分享

    2024-01-15 01:45:30
  • 一次神奇的MySQL死锁排查记录

    2024-01-24 04:22:47
  • 瀑布流布局代码一例

    2023-08-25 07:33:19
  • Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法

    2021-04-14 04:55:49
  • Asp.net实现简单的文字水印

    2007-08-24 09:28:00
  • asp之家 网络编程 m.aspxhome.com