`

面向对象的XHTML与CSS编程

阅读更多

要是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的应用。

分享到:
评论

相关推荐

    XHTML与CSS的面向对象编程

    要是XHTML与CSS能面向对象。。太阳应该从北边升起了。但是,凡事都应该带着OO的思想来看问题,也勉强可以凑数拉。其实,早在零几年就有人提出了OO-style,不过已找不到。 那要怎样OO呢?现在大家都知道CSS是可以介样...

    菜鸟吧 Web学习完全手册 网页设计工具大全

    JavaScript面向对象编程 菜鸟的Ajax笔记 菜鸟的jQuery笔记 JavaScript实例 经典论坛JavaScript学习总结 菜鸟的Python笔记 《High Performance Web Sites》读书笔记 单片机笔记 C51笔记 51单片机实验 51...

    优秀代码编辑器工具 PhpDesigner 8.1.2 Portable 绿色中文免费版.zip

    4.php内的面向对象编程PHP内可进行面向对象编程并支持整体代码嵌套和高级代码注解! 5.使用Xdebug来测试和分析程序使用断点,排查,计算来逐步分析你的代码. 找出瓶颈的地方或哪块代码减慢了并能使用分析器来做个加速...

    PHP和MySQL WEB开发(第4版)

    6.1 理解面向对象的概念 6.1.1 类和对象 6.1.2 多态性 6.1.3 继承 6.2 在PHP中创建类、属性和操作 6.2.1 类的结构 6.2.2 构造函数 6.2.3 析构函数 6.3 类的实例化 6.4 使用类的属性 6.5 使用private和public关键字...

    PHP和MySQL Web开发第4版pdf以及源码

    6.1 理解面向对象的概念 6.1.1 类和对象 6.1.2 多态性 6.1.3 继承 6.2 在PHP中创建类、属性和操作 6.2.1 类的结构 6.2.2 构造函数 6.2.3 析构函数 6.3 类的实例化 6.4 使用类的属性 6.5 使用private和...

    PHP和MySQL Web开发第4版

    6.1 理解面向对象的概念 6.1.1 类和对象 6.1.2 多态性 6.1.3 继承 6.2 在PHP中创建类、属性和操作 6.2.1 类的结构 6.2.2 构造函数 6.2.3 析构函数 6.3 类的实例化 6.4 使用类的属性 6.5 使用private和...

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常 Ado.net 与NHibernate的关系? 动态创建数据库...

    EclipsePHP Studio 1.2.2 ( EPP) 简体中文版.rar

    xhtml、xml、css和javascript、java、perl、python等! 官方: www.php100.com PHP100中文网 联系: master@php100.com 大小: 159M 环境: Windows2000/XP/Vista/7 特点:  1、方便PHP面向对象开发,有类集成...

    Atom PhotoBlog-开源

    快速(非常简短的代码),易于安装,功能齐全(Atom1.0,RSS2.0,验证码保护,管理界面,Css ...),XHTML-CLEAN photoblog。 面向对象的编程风格使脚本易于扩展。 (作者:Sascha Tayefeh)

    java-ee电子商城系统课程设计.doc

    Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合, 既可以在Java 的...

    ASP.NET的网页代码模型及生命周期

    从上述代码可以看出,其格式与类库、编写类的格式相同,这也说明了.aspx页面允许使用面向对象的特性,如多态、继承等。但是ASP.NET代码隐藏页模型的运行过程比单文件页模型要复杂,运行示例图如图4-4所示。 图4-4 ...

    WEB设计大全

    颜色、图像及背景 &lt;br&gt;11.1 颜色基础 &lt;br&gt;11.2 Web上的颜色 ...CSS 和颜色 &lt;br&gt;11.2.7 颜色的再生问题 &lt;br&gt;11.3 颜色与可用性 &lt;br&gt;11.3.1 颜色的含义 &lt;br&gt;11.3.2 对比度问题 &lt;br&gt;11.4 ...

    WEB设计大全(part2)

    颜色、图像及背景 &lt;br&gt;11.1 颜色基础 &lt;br&gt;11.2 Web上的颜色 ...CSS 和颜色 &lt;br&gt;11.2.7 颜色的再生问题 &lt;br&gt;11.3 颜色与可用性 &lt;br&gt;11.3.1 颜色的含义 &lt;br&gt;11.3.2 对比度问题 &lt;br&gt;11.4 ...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    1.1.5 要点5:ASP.NET是面向对象的 1.1.6 要点6:ASP.NET支持所有的浏览器 1.1.7 要点7:ASP.NET易于部署和配置 1.2 ASP.NET的演变 1.2.1 ASP.NET1.0和ASP.NET1.1 1.2.2 ASP.NET2.0 1.2.3 ASP.NET3.5 ...

    ASP.NET4高级程序设计(第4版) 3/3

    1.1.5 要点5:ASP.NET是面向对象的 7 1.1.6 要点6:ASP.NET支持所有的浏览器 8 1.1.7 要点7:ASP.NET易于部署和配置 8 1.2 ASP.NET的演变 9 1.2.1 ASP.NET1.0和ASP.NET1.1 9 1.2.2 ASP.NET2.0 9 1.2.3 ...

    动易内容管理系统WAP2.0适配程序

    动易® SiteWeaver™ CMS 是一套面向各类中小型站点建设和管理而设计研发的通用建站管理系统(又称内容管理系统),是目前国内用户数量最多(超过30万网站),最受用户欢迎的CMS系统。其强大的功能和简单易用的完善...

    动易SiteWeaver内容管理系统WAP2.0适配程序 V1.0.rar

    动易® SiteWeaver™ CMS 是一套面向各类中小型站点建设和管理而设计研发的通用建站管理系统(又称内容管理系统),是目前国内用户数量最多(超过30万网站),最受用户欢迎的CMS系统。其强大的功能和简单易用的完善...

Global site tag (gtag.js) - Google Analytics