2007年04月09日

CSS 命名规范

XHTML-CSS写作建议

  1. 所有的xhtml代码小写
  2. 属性的值一定要用双引号("")括起来,且一定要有值
  3. 每个标签都要有开始和结束,且要有正确的层次
  4. 空元素要有结束的tag或于开始的tag后加上"/"
  5. 表现与结构完全分离,代码中不涉及任何的表现元素,如style、font、bgColor、border等
  6. <h1>到<h5>的定义,应遵循从大到小的原则,体现文档的结构,并有利于搜索引擎的查询。
  7. 给每一个表格和表单加上一个唯一的、结构标记id
  8. 给重要的区块加上注释,如:
  9. 给图片加上alt标签
  10. 所有的标签必须进行合理的嵌套
  11. 根元素前必须有元素,宣告使用那一种DTD
  12. 根元素必须有xmlns属性来指定使用http://www.w3.org/1999/xhtml的namespace

CSS样式表规范:

  1. id和class命名采用该版块的英文单词或组合命名,并第一个单词小写,第二个单词首个字母大写,如:newRelease(最新产品/new+Release)
  2. CSS样式表各区块用注释说明
  3. 尽量使用英文命名原则
  4. 不用加中杠和下划线
  5. 尽量不缩写,除非一看就明白的单词

CSS命名规范

这段时间由于工作的需要对CSS的命名做了一些研究,主要是想让作出的文档等规范,更能让人看懂和读懂。

CSS 命名规范

XHTML-CSS写作建议

  1. 所有的xhtml代码小写
  2. 属性的值一定要用双引号("")括起来,且一定要有值
  3. 每个标签都要有开始和结束,且要有正确的层次
  4. 空元素要有结束的tag或于开始的tag后加上"/"
  5. 表现与结构完全分离,代码中不涉及任何的表现元素,如style、font、bgColor、border等
  6. <h1>到<h5>的定义,应遵循从大到小的原则,体现文档的结构,并有利于搜索引擎的查询。
  7. 给每一个表格和表单加上一个唯一的、结构标记id
  8. 给重要的区块加上注释,如:
  9. 给图片加上alt标签
  10. 所有的标签必须进行合理的嵌套
  11. 根元素前必须有元素,宣告使用那一种DTD
  12. 根元素必须有xmlns属性来指定使用http://www.w3.org/1999/xhtml的namespace

CSS样式表规范:

  1. id和class命名采用该版块的英文单词或组合命名,并第一个单词小写,第二个单词首个字母大写,如:newRelease(最新产品/new+Release)
  2. CSS样式表各区块用注释说明
  3. 尽量使用英文命名原则
  4. 不用加中杠和下划线
  5. 尽量不缩写,除非一看就明白的单词

CSS命名规范

这段时间由于工作的需要对CSS的命名做了一些研究,主要是想让作出的文档等规范,更能让人看懂和读懂。

由于Embed标签是Netscape的私有财产,故一直未被W3C认可,对于各种媒体文件使用Embed标签是非标准的,如何改变?Elizabeth Castro的Bye Bye Embed 一文对于各种媒体播放器给出了很好的符合web标准的代码。

在线媒体播放–Google Video and YouTube
<object type="application/x-shockwave-flash"
  data="
http://video.google.com/googleplayer.swf? »
8755581808731033658"
  width="400" height="326" id="VideoPlayback">
  <param name="movie"
    value="
http://video.google.com/googleplayer.swf? »
docId=8755581808731033658" />
  <param name="allowScriptAcess" value="sameDomain" />
  <param name="quality" value="best" />
  <param name="bgcolor" value="#FFFFFF" />
  <param name="scale" value="noScale" />
  <param name="salign" value="TL" />
  <param name="FlashVars" value="playerMode=embedded" />
</object>

其实就是FLASH文件的调用

Windows Media Player 文件
<object type="video/x-ms-wmv"
  data="
http://www.sarahsnotecards.com/catalunyalive/ »
fishstore.wmv"
  width="320" height="260">
  <param name="src"
    value="
http://www.sarahsnotecards.com/catalunyalive/ »
fishstore.wmv" />
  <param name="autostart" value="true" />
  <param name="controller" value="true" />
</object>

上面的代码没有Windows Media Player特有的classid,作者在IE5.5, IE6, IE7, Opera Win/Mac, Firefox Win/Mac, Safari下测试通过。

QuickTime movies 没有 embed 标签
<object classid="clsid:02BF25D5-8C17-4B23-BC80- »
D3488ABDDC6B"
  codebase="
http://www.apple.com/qtactivex/qtplugin.cab"
  width="320" height="260">
  <param name="src"
    value="
http://www.sarahsnotecards.com/catalunyalive/ »
diables.mov" />
  <param name="controller" value="true" />
  <param name="autoplay" value="false" />
  <!–[if !IE]>–>
  <object type="video/quicktime"
    data="
http://www.sarahsnotecards.com/catalunyalive/ »
diables.mov"
    width="320" height="260">
    <param name="autoplay" value="false" />
    <param name="controller" value="true" />
  </object>
  <!–<![endif]–>
</object>

特点:不需要另外加个清除DIV.

:after(伪对象)–设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏览器支持,所以并不影响到IE/WIN浏览器。

CSS

#wrap:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
 

设display:block;应用到:after 元素,因为display的默认值是"inline", 不能收到clear的特性,同时将清除容器的高度设为零,height: 0;,可见度为隐藏

原理
将二个相同而色彩不同的文字重合在一起,通过分别给其加 clip 属性,使上面和下面的文字被剪切位置不同,从而产生二种不同的色彩。

clip : 摘自苏沈小雨CSS手册
clip : auto | rect ( number number number number ) 参数: auto :  对象无剪切rect ( number number number number ) : 依据上-右-下-左的顺序提供自对象左上角为(0,0)坐标计算的四个偏移数值,其中任一数值都可用auto替换,即此边不剪切 说明: 检索或设置对象的可视区域。区域外的部分是透明的。必须将position的值设为absolute,此属性方可使用。
测试环境

Firefox1.5、IE6.0、Opera8.5、IE5.01绿色版通过。

CSS
.textBottom {
 color: #333333;
 position: absolute;
 left: 3em;
 top: 1em;
 font: 26px Century Gothic,Arial, Helvetica, sans-serif;
 clip: rect(18px auto auto auto);
}

.textTop {
 color: #CC0000;
 position: absolute;
 left: 3em;
 top: 1em;
 font: 26px Century Gothic,Arial, Helvetica, sans-serif;
 clip: rect(0 auto 18px 0);
}

.container {
 width: 28em;
 height: 5em;
 margin: 1em auto;
 position: relative;
 background: #F6F6F6;
}


xhtml
<div class="container">
 <a href="#" class="textTop">Cascading Style Sheet </a>
 <a href="#" class="textBottom">Cascading Style Sheet </a>
</div>