CSS模块化设计—从空格谈起(3)

作者:daijianchun 来源:蓝色理想 时间:2007-12-15 09:41:00 

三、CSS+HTML的模块化设计

(1)举个简单例子:

.classNameA .classNameB .classNameC


就是一个类包路径,A包含B,B包含C.
意思就是,在A块内的全部HTML代码(包括B块、C块),先应用样式classNameA;
然后,在B块内的全部HTML代码(包括C块),先应用样式classNameA,之后再先应用样式classNameB;
最后,在C块内的全部HTML代码,先应用样式classNameA,再先应用样式classNameB,最后应用样式classNameB;


(2)在样式表中,关于类包的路径,对于某些复杂的HMTL代码,最后写绝对路径,就是每一个类名都不要拉下。这样可读性更强,错误率更小;当然,宽容度就越低。

例如:


<style type="text/css">
/*控制 li 的样式*/
.a1 ul li {
    color:red;
}

/*控制class="a"的div块内,全部连接 a 的样式*/
.a1 a {
    font-size:20px;
}

/*控制class="a"的div块内,一个一个为 class="mylink"的样式*/
.a1 .myLink {
       font-size:12px;
}

/*控制 li 内连接a的样式*/
.a1 ul li a {
       font-size:40px;
}

/*控制名 li 内,一个为 class="mylink"的连接的样式 */
.a1 ul li .myLink {
       font-size:60px;
       font-family:黑体;
}

/*b1样式*/
.b1 {
      color:blue;
}
/*控制 li 内 b1 的样式*/
.a1 ul li .b1 {
     color:green;
}
</style>

<div class="a1">
      <a href="#">linkText</a>
      <a href="#" class="myLink">titleText</a>
      <div class="b1">b11111111</div>
      <ul>
            <li>
                   <a href="#">titleText</a>
                   <div class="b1">nameCN</div>
            </li>
            <li>
                   <a href="#" class="myLink">titleText</a>
                   <div class="b1">nameCN<span class="c1">nameEN</span></div>
            </li>
            <li>titleText</li>
            <li>titleText</li>
            <li>titleText</li>
      </ul>
</div>



样式,按*.HTML从内层到外层;按*.CSS上下文,从下文到上文;按内联样式表上下文,从下文到上文;按内嵌>内联>外联的优先级;
叠加覆盖计算最终显示效果。

CSS语句,严格说是JS代码的一类,换句话说,CSS语句也是“弱类型”的,空格是一个“运算符”,由于“弱类型”不严谨,所以,没有空格的时候,虽然不报错,也有显示效果,但那是按错误逻辑运算的,有时歪打正着,但确莫名其妙。再加上有很多满足各浏览器的HACK语法,CSS语句就更加零乱不堪。所以,写的时候,尽量在满足宽容度的情况下,严禁一些。

(3)给大家一个案例

模块化设计,要求相对封闭独立性、可重复性、可修改性、统一性等等是比较高的,当然,模块化越高越复杂的,修改起来也要月谨慎,因为牵一发而动全身,这就要求,在开发设计前期要做好详尽的策划,从目录结构、命名规范,到全局和特例的界限划分、后期修改的宽容度估计等等,都要有个把握。

下面就给一个我做的网站的地址:http://www.51youcai.com

  1. 样式表是按类路径来模块化定义的,有中文注释;

  2. 由于加了jsp程序,代码格式有变动,也许会有不少垃圾代码;

  3. 在FireFox下,有几处显示不当、JS未做相应优化,请用IE6+浏览;

  4. 感兴趣者可以当HTML和CSS来,做参考。

标签:空格,css,设计
0
投稿

猜你喜欢

  • ASP名次排列函数

    2008-07-20 13:42:00
  • ASP控制每页打印行数实例

    2008-04-13 06:48:00
  • 根据选择的checkbox列出选择的值

    2008-07-30 12:56:00
  • Oracle密码文件的使用和维护第1/3页

    2010-07-30 12:43:00
  • asp如何验证信用卡是否可用?

    2010-06-10 18:39:00
  • SQL Server 2005返回刚刚插入的数据条目id值

    2008-12-04 17:16:00
  • 10个精致的导航菜单欣赏及点评

    2011-09-22 20:33:44
  • 巧用SQL链接服务器访问远程Access数据库

    2008-11-28 16:32:00
  • Sql Server中存储过程中输入和输出参数(简单实例 一看就懂)

    2012-11-30 20:09:36
  • asp精妙的SQL语句例子

    2008-03-04 17:42:00
  • Christopher Schmitt 谈学习CSS的益处

    2008-07-13 14:15:00
  • asp如何实现页面延迟?

    2010-06-03 10:18:00
  • ActionScript3.0是革命性的

    2008-05-01 12:36:00
  • CSS pointer-events下层元素被点击

    2010-04-11 22:31:00
  • 如何实现文件上传并自动归类功能?

    2010-05-24 18:37:00
  • 十六则Dreamweaver使用快技法

    2009-07-05 18:55:00
  • asp如何用SA-FileUp上传多个HTML文件?

    2010-05-18 18:27:00
  • Sql Server 2012 分页方法分析(offset and fetch)

    2012-10-07 10:51:04
  • 教你如何升级SQL Server数据库系统

    2009-01-19 14:42:00
  • javascript中类的创建和继承

    2008-05-08 12:07:00
  • asp之家 网络编程 m.aspxhome.com