当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > XHTML与CSS的面向对象编程

HTML/XHTML教程
一些不太常用的XHTML标签用法以及实例
网页中图片的设置涉及的三个问题
商业HTML邮件的制作建议
HTML Marquee 字符片段滚动
DOCTYPE 文档类型声明(网页爱好者必看)
纯HTML标签你熟悉多少?
HTML元素的ID和Name属性的区别
HTML meta的大作用
HTML标签tbody的用法与说明
HTML 特殊字符转换表
HTML基础 HTML的组成结构
HTML基础之HTML内容细则
Shtml 精简教程
浅谈html table 标签
html Frame、Iframe、Frameset 的区别
HTML 网页页面切换的各种变换效果
HTML的10个表格相关标记
让IE8启动IE7兼容模式的代码
HTML 结构化实现方法
xhtml的块级标记小结

HTML/XHTML教程 中的 XHTML与CSS的面向对象编程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 64 ::
收藏到网摘: n/a


要是XHTML与CSS能面向对象。。太阳应该从北边升起了。但是,凡事都应该带着OO的思想来看问题,也勉强可以凑数拉。其实,早在零几年就有人提出了OO-style,不过已找不到。
那要怎样OO呢?现在大家都知道CSS是可以介样写滴:
.G_G { /* xxxxxx */ }
我们可以把它大约看一个原型,或者说成,-__-b 好像本来就是类的样子,然后要在HTML里“实例化”一个对象,例如:
<div class="G_G">笨蛋嗷嗷</div>
该元素会使用上CSS相应的定义,但仅仅对应的class还是不够的,因为我们页面可能会多处应用到这个class,为了处理好“私有”的关系,把刚才的代码改成:
<div id="aoao" class="G_G">笨蛋嗷嗷</div>
这样的话,这个ID为aoao的元素就会应用.G_G这个类的定义,而且可以用#aoao{}这样的选择符来进去私有效果的定义,这样也不会影响到公共用的.G_G这个类,同时,#aoao定义的优先权会比.G_G高,符合私有定义比公共定义优先高的常理^^。
由于我使用了ID这个具有唯一性的东东,对这种私有定义后的东西复用就成了问题(一个ID只能在一个页面上出现一次,不知道谁说的,反正是真理)。如果我们要实现多相同私有化的东东怎办呢?那我们就必须来实现“多态”。挖哈哈。再改一下代码:
<div class="G_G o_O">笨蛋嗷嗷</div>
一个是“G_G”,另一个是“o_O”,但是我们如果使用上.o_O{}也是可以定义到元素,假如CSS是这样的话:
.G_G {width:100%} .o_O {color:#123456}
元素将都被定义到,而且由于定义不层叠,都会给应用。再假如代码是这样的话,不知道会不会更好理解。
<div class="layout color">不是笨蛋嗷嗷鸟</div>
.layout{width:100%} .color{color:#123456}
接着,要来实现“封装”。子级选择符大家应该常常用吧,换代码:
<div class="G_G"><span class="bendan">笨蛋</span>嗷嗷</div>
虽然.bendan{}.G_G .bendan{}都可以定义,但是后者只能应用在class为“G_G”的元素,我们可以简单把.bendan{}理解成全局定义,把.G_G .bendan{}理解成局部定义,这样的话就有利于我们XHTML与CSS的模块化。^^传说中的“封装”出现了,再接着。
<div id="aoao" class="G_G o_O"><span class="bendan">笨蛋</span>嗷嗷</div>
这样的代码就可以产生无数的变化了,还不明白的从头看起。^^
其实,这些跟真正的面向对象还有很大一段距离,我只是在学标题党,不过可以用它来理解ID与class的应用。