查看文章 |
css书写规范
2009年03月18日 星期三 下午 06:13
一、 基本书写规范 1、所有的CSS的尽量采用外部调用 <LINK href="style/style.css" rel="stylesheet" type="text/css"> 书写时重定义的最先,伪类其次,自定义最后(其中a:link a:visited a:hover a:actived 要按照顺序写)便于自己和他人阅读。 为了保证不同浏览器上字号保持一致,字号建议用点数pt和像素px来定义,pt一般使用中文宋体的9pt和11pt,px一般使用中文宋体12pt 和14.7px 这是经过优化的字号,黑体字或者宋体字加粗时,一般选用11pt和14.7px 的字号比较合适。 2、CSS推荐模板: <style type="text/css"> <!— body { font-size:9pt; font-family:Arial, Helvetica, sans-serif; color:#333333; text-align:center; margin:0px;} ul { margin:auto; } img { border:0px; } a { font-size:9pt; text-decoration:none;color:#FFFFFF; } a:hover { font-size:9pt; text-decoration:underline; color:#990000; } a.1 { font-size: 9pt; color: #3366cc; text-decoration: none} a.1:hover { font-size: 9pt; color: #FF9900; text-decoration: none} .colorblue,colorblue:hover { color:#003366 ;} .blue { font-family: "宋体"; font-size: 9pt; line-height: 20px; color: #0099FF; letter-spacing: 5em} .colorRed,a.colorRed:hover{ color: #FF0000; } .colorLime,a.colorLime:hover{ color: #00FF00; } .colorGreen,a.colorGreen:hover{ color: #008000; } .colorBlue,a.colorBlue:hover{ color: #0000FF; } .colorOrange,a.colorOrange:hover{ color: #FFA500; } --> </style> 为了保证浏览器的兼容性,必须设置页面背景<body bgcolor="#FFFFFF"> 3、其中注释写法,例:/*header begin!*/ 二、CSS命名参考 1、常用的CSS命名规则: 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 2、直观命名 当在设计Web页面以及需要对一个div进行标识的时候,最自然的想法就是使用可以描述元素所在页面位置的词汇来对其命名。这种方法使得类以及id的名称如下面所示: 自上而下小组:top-panel 横向:horizontal-nav 左面:left-side 中心-栏目:center-column 右面:right-col 这些是CSS以及XHTML类和id的有效命名方式。这些词汇简单并且能够使人顾名思义,因此满足了标识页面元素以及相应的CSS样式的需要。 但问题是这样的名称同页面内容的特定表达方式相关联。这些命名参考了某种特定页面布局中的页面元素位置,因此在这样的布局之外使用就会显得不合适甚至造成理解混乱。同时,这些命名没有涉及文档内容的结构。因此,下面给出了对CSS类以及ID命名更好的方法。 3、结构化命名 结构化的标记意味着表达方式/位置信息同内容的完全分离——这其中包括出现在标记(markup)中的类和id名称。 有标记的相关信息都是用来描述文档的结构而不是外观。这样的特点使得我们可以通过简单的改变CSS的方式来对不同外观格式下的内容(content)以及标记(markup)进行重用。当你理解这种方式时,很容易就可以发现采用页面位置来为类以及id命名的方式在处理如音频(audio)等外观格式上显得非常不合适。因此,应当根据在文档中的使用目的而非出现位置来对类以及id进行结构化命名。 可以按照如下所示的结构化方式来对类以及id名称命名: 顶部抢眼部分:branding 导航部分:main-nav 主要内容部分:main-content 这些名字同直观命名方式一样非常易懂,但他们描述了页面元素的作用而非位置。这使得代码更加符合使用纯粹的结构化标记(structural markup)的初衷,即开发人员可以在不改变标记的情况下对各种各样媒体下的显示格式进行处理。 即使你不打算在其他的媒体上对Web页面进行格式修改,使用结构化命名方式还可以帮助你在日后的站点升级或重新设计中更为轻松。例如,结构化命名避免了当一个div同id right-column移动到页面左边后所带来的混乱。对div sidebar的采用这样的命名方式就显得更加适当,因为无论它出现在页面的哪一边,这个名字仍然对开发人员来说直观易懂。 4、惯例 Andy Clarke分析了40份由推崇标准化Web设计理念的开发人员所设计的Web站点的源代码。尽管类以及id名称很不统一,但是还是发现了一些频繁出现的常用名称。这里给出了最常用类/id名称的示例列表: header content nav sidebar footer 如果要查看完整的列表,可以看看最常见命名惯例表 这些常见的类以及id名称是否标志着一种标准的诞生或是普遍接受惯例的形成呢?尽管这是我所希望的,但我并不这么认为。我的确希望能够看见一整套对于我们每天都可以看到的常用页面元素的命名标准。同时,使用标准化的命名方式可以使得寻找页面元素以及对Web站点升级带来方便,尤其当需要在由不同开发人员在不同时间所开发站点中换来换去工作的时候。 review: 大的布局div可以以外观的方式命名(如header,footer),其他的我觉得还是应该以描述所含内容的标准来命名(如menu,news) 5、自定义命名: 根据w3c网站上给出的,最好是用意义命名 比如:是重要的新闻高亮显示(像红色) 有两种 .red{color:red} .important-news{color:red} 很显然第二种传达的意义更加明确,所以尽量不要用意义不明确的作为自己自定义的名字 三、CSS样式书写顺序 1、显示属性 * display * list-style * position * float * clear 2、自身属性 * width * height * margin * padding * border * background 3、文本属性 * color * font * text-decoration * text-align * vertical-align * white-space * other text * content |
最近读者: