web标准化页面制作规范
WEB标准化页面制作规范
一、命名规范
1、站点目录的命名规范
清晰的站点目录结构方便文件的维护和管理,同时对增加搜索引擎的友好度和移植也有着重要的影响。
以下为站点目录内容:
●css文件目录:存放CSS 样式文件
●flash文件目录:存放.swf文件
●html文件目录:存放分栏目内容页面
●images文件目录:存放图片文件
●js文件目录:存放JS文件
常用目录名:
data(数据库) images(图片) install (安装) templets (模版) include (包含)
admin (后台) rss (定阅) media (媒体) config (配置) js (脚本) Language (语言) css (样式)等……
2、文件的命名规范
文件命名的指导思想是:使得你自己和工作组的每一个成员能够方便的理解和记忆每一个文件的意义,从而可以更方便的查找、修改、移植文件等管理操作,提高工作效率。
文件名称统一用小写的英文单词或拼音,如果文件名太长,可以用文件名拼音的首字母,长度不超过20个字符。(如:1、产品页面,可以命名为:product.html或者chanpin.html
2、最新动态_查看详情页面,可以命名为:zxdt_ckxq.html)
文件名称的命名要与所定义的内容语义接近,字母要小写,需要两个以上单词表达时,用下划线“_”分开两个单词,最多不要超过三个以上单词,如果单词过长,取其前三个字母
3、页面结构(html)的命名规范
网站的前端结构与表现分离,达到95%以上。正式上线后的网页代码结构要清晰、明朗,容易阅读。
(1)页面结构
容器: bigbox 页头:header 内容:content/container
页面主体:main 页尾:footer 导航:nav
侧栏:sidebar 栏目:column 左右中:left right center
(2)导航
导航:nav 主导航:mainbav 子导航:subnav 顶导航:topnav
边导航:sidebar 左导航:leftsidebar 右导航:rightsidebar 菜单:menu
子菜单:submenu 标题: title 摘要: summary
(3)功能
标志:logo 广告:banner 登陆:login 登录条:loginbar 注册:regsiter
搜索:search 功能区:shop 标题:title 加入:joinus 状态:status
按钮:btn 滚动:scroll 标签页:tab 文章列表:list 提示信息:msg
当前的: current 小技巧:tips 图标: icon 注释:note 指南:guild
服务:service 热点:hot 新闻:news 下载:download 投票:vote
合作伙伴:partner 友情链接:link 版权:copyright
4、(class)css样式的命名规范
一些常规性的样式名称命名规范化,能够加强样式的重用性,使页面样式代码的重复性出现的机率降低。Css样式命名的规范化,能够使页面结构和样式文件起到一一对映的关系,修改以及优化起来更加清晰明了。
(1)颜色:使用颜色的名称或者16进制代码,如
.red { color: red; }
.f60 { color: #f60; }
.ff8600 { color: #ff8600; }
(2)字体大小,直接使用"font+字体大小"作为名称,如
.font12px { font-size: 12px; }
.font9pt {font-size: 9pt; }
(3)对齐样式,使用对齐目标的英文名称,使用功能(简写)+对齐位置,如
.fl_left { float:left; }
.fl_right { float:right }
.text-left{text-align:left}
注意事项:
1.不使用大写形式的类名和id名;
2.尽可能使用描述性的英文单词的组合作为类名和id名;
3.id名及类名的多个英文单词之间使用“_”短横线分隔;
4.按区域进行描述编号例:main01_div01_ul01 (可以理解为主体第一区域第一DIV下的第一个UL)
附:一些CSS框架的命名参考
主要的master.css 模块module.css 基本共用base.css
主题themes.css 专栏columns.css 打印print.css
文字font.css 表单forms.css 补丁mend.css
布局,版面layout.css
二、 图片制作规范
1、 图片的命名规则
名称为英文单词或拼音,如果需要加数字表达的,可以在单词或拼音后面添加数字(如:product_1.jpg ),但是禁止用数字开头、禁止用中文字符、禁止用特殊字符做为文件的名称。(如: 1a.jpg , 产品.jpg , #$.jpg ) 图片文件名称的命名要与所定义的内容语义接近,字母要小写,需要两个以上单词表达时,用下划线分开两个单词,最多不要超过三个以上单词,如果单词过长,取其前三个字母。
例如:企业标识 -- logo.gif
2、 图片的格式的适当应用
GIF 格式
● GIF (Graphics Interchange Format )图像互换格式
● 优点:256色值以内的图片,字节数可以压缩到最小、图像像素低、支持动画格
式、支持透明图像,同时已经得到所有主流浏览器的支持。
● 应用场景:图像色彩不丰富,其色值不超过256以内的图片,例:单色LOGO 、
单色的广告条等图片。
● 注意:压缩算法是有损压缩,会造成图像画面失真;不适合超过256色的色彩图像。
JPG 格式
● JPG(Joint Photographic Experts Group File Interchange Format)联合图像专家组文
件交换格式
● 优点:超过256色值的图片,压缩比高、图片字节数小、图像质量高,同时得到
所有主流浏览器的支持。
● 应用场景:图像色彩丰富,其色值超过256的图片,例:绚丽多彩的照片、丰富
的页面插图、渐变色的图片等。
● 注意:把握好图片质量和图片字节大小之间的平衡,通常图片质量为80%比较合适。
3、 图片的切割
图片切割原则:切割数量最少化、字节压缩最小化、表现内容完整化、图像质量清晰化。
解释说明:
网页加载速度的关键,是减少图片的数量。因为客户端每显示一张图片都会向服务器发送请求,所以,
图片越多请求次数也就越多,造成图片显示延迟的可能性也就越大,所以尽量不要把图片切割成太多的图。
不超过256色的保存为GIF
超过256色的保存为JPG
专题类的图片切割
专题类的图片色彩最丰富,较难切割,所以尽量在不破坏其图片的情况下进行处理。
如下图所示:
切割方法:
●将图片分三段,以红线分割为界,分为上中下三部分;
●因为色彩值比较丰富,切割为JPG格式图片;
标题类的图片切割
标题类的图片切割时,将展示区域和操作区域分开切割。
如下图所示:
切割方法:
●展示区域为:因为文字为微软雅黑字体,可以切成很小块的图片
●操作区域为:因为是宋体,可以做成简单的文字链接
●如果背景是有规律的可以循环平铺
背景类的图片切割
●平铺使用的图片
有规律的图片:根据其图片纹理切割成较小的GIF格式的图片,进行平铺
使用。
整体一张图片:按照需要进行切割,确实需要全图作背景时要将图片的字
节数压缩至最小来使用。
●不平铺使用的图片
对于图片没有纹理,切割后会破坏图片表现的时候,将图片字节压缩至
少,面积裁截至最少,但同时要保持图片的意境。
图标类的图片切割
●有规律较密集的图标:
标题图标类的图片,可以将小图全部切割成一张GIF格式的图,以减少图片下载次数,然后利用css背景定位的方法来使用这张图片。
如:产品详情页的特色服务区
将图片整理到一张gif图片中,然后用background-position来定位
●无规律较松散的图标:
根据图标的大小单独切割图片,单独使用。
圆角矩形类的图片切割
对于颜色不超过256色的比较规则的矩形图,当长和高都需要扩展的时候可以采用九宫格的方法进行切割。
示例图片样式:
切割方法:
●采用九宫格形式来切割图片;
●将圆角单独切割使用,不可以平铺;
●X轴规则图,取宽1px的图作为背景图平铺使用;
●Y轴规则图,取高1px的图作为背景图平铺使用。
1.1.1.1. 渐变效果类的图片切割
对于渐变效果的图片,需要扩展的时时候,可以采用1像素高或宽的图做为背景图平铺使用。
示例图片样式:
切割方法:
●X轴重复时,取宽1px的图作为背景图平铺使用;
●Y轴重复时,取高1px的图作为背景图平铺使用。
css规范
近期在做样式的时候发现之前自己写的样式一点也不规范,东拼西凑,名字也不统一,遂在网上搜了点资料,跟大家分享一下:
一.文件命名规范
全局样式:global.css;
框架布局:layout.css;
字体样式:font.css;
链接样式:link.css;
打印样式:print.css;
二.常用类/ID命名规范
页眉:header
内容:content
容器:container
页脚:footer
版权:copyright
导航:menu
主导航:mainMenu
子导航:subMenu
标志:logo
标语:banner
标题:title
侧边栏:sidebar
图标:Icon
注释:note
搜索:search
按钮:btn
登录:login
链接:link
……
常用类的命名应尽量以常见英文单词为准,做到通俗易懂,并在适当的地方加以注释。对于二级类/ID
命名,则采用组合书写的模式,后一个单词的首字母应大写:诸如“搜索框”则应命名为“searchInput”、“搜索图标”命名这“searchIcon”、“搜索按钮”命名为“searchBtn”……
CSS书写规范及方法
一. 常规书写规范及方法
1. 选择DOCTYPE:
XHTML 1.0 提供了三种DTD声明可供选择:
过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:
“https://www.360docs.net/doc/7815717207.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如
。完整代码如下:
“https://www.360docs.net/doc/7815717207.html,/TR/xhtml1/DTD/xhtml1-strict.dtd“>
框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种
DTD。完整代码如下:
“https://www.360docs.net/doc/7815717207.html,/TR/xhtml1/DTD/xhtml1-frameset.dtd“>
理想情况当然是严格的DTD,但对于我们大多数刚接触web标准的设计师来说,过渡的DTD(XHTML
1.0 Transitional)是目前理想选择(包括本站,使用的也是过渡型DTD)。因为这种DTD还允许我们使用表现
层的标识、元素和属性,也比较容易通过W3C的代码校验。
2. 指定语言及字符集:
为文档指定语言:
为了被浏览器正确解释和通过W3C代码校验,所有的XHTML文档都必须声明它们所使用的编码语言;
如:
常用的语言定义:
标准的XML文档语言定义:
针对老版本的浏览器的语言定义:
为提高字符集,建议采用“utf-8”。
3. 调用样式表
页面内嵌法:就是将样式表直接写在页面代码的head区。如:
外部调用法:将样式表写在一个独立的.css文件中,然后在页面head区用类似以下代码调用。
在符合web标准的设计中,推荐使用外部调用法,可以不修改页面只修改.css文件而改变页面的样式。
如果所有页面都调用同一个样式表文件,那么改一个样式表文件,可以改变所有文件的样式。
4、选用恰当的元素:
根据文档的结构来选择HTML元素,而不是根据HTML元素的样式来选择。例如,使用P元素来包含文字
段落,而不是为了换行。如果在创建文档时找不到适当的元素,则可以考虑使用通用的div 或者是span;
避免过渡使用div和span。少量、适当的使用div和span元素可以使文档的结构更加清晰合理并且易于使
用样式;
尽可能少地使用标签和结构嵌套,这样不但可以使文档结构清晰,同时也可以保持文件的小巧,在提
高用户下载速度的同时,也易于浏览器对文档的解释及呈视;
5、派生选择器:
可以使用派生选择器给一个元素里的子元素定义样式,在简化命名的同时也使结构更加的清晰化,如
:
.mainMenu ul li {background:url(images/bg.gif;)}
6、辅助图片用背影图处理:
这里的”辅助图片”是指那些不是作为页面要表达的内容的一部分,而仅仅用于修饰、间隔、提醒的图片
。将其做背影图处理,可以在不改动页面的情况下通过CSS样式来进行改动,如:
#logo {background:url(images/logo.jpg) #FEFEFE no-repeat right bottom;}
7、结构与样式分离:
在页面里只写入文档的结构,而将样式写于css文件中,通过外部调用CSS样式表来实现结构与样式的
分离。
8、文档的结构化书写:
页面CSS文档都应采用结构化的书写方式,逻辑清晰易于阅读。如:
/*=====主导航=====*/
#mainMenu {
width:100%;
height:30px;
background:url(images/mainMenu_bg.jpg) repeat-x;
}
#mainMenu ul li {
float:left;
line-height:30px;
margin-right:1px;
cursor:pointer;
}
/*=====主导航结束=====*/
9、鼠标手势:
在XHTML标准中,hand只被IE识别,当需要将鼠标手势转换为“手形”时,则将“hand”换为“pointer”,即“cursor:pointer;”
二.注释书写规范
1、行间注释:
直接写于属性值后面,如:
.search{
border:1px solid #fff;/*定义搜索输入框边框*/
background:url(../images/icon.gif) no-report #333;/*定义搜索框的背景*/
}
2、整段注释:
分别在开始及结束地方加入注释,如:
/*=====搜索条=====*/
.search {
border:1px solid #fff;
background:url(../images/icon.gif) no-repeat #333;
}
/*=====搜索条结束=====*/
三.样式属性代码缩写
1、不同类有相同属性及属性值的缩写:
对于两个不同的类,但是其中有部分相同甚至是全部相同的属性及属性值时,应对其加以合并缩写,
特别是当有多个不同的类而有相同的属性及属性值时,合并缩写可以减少代码量并易于控制。如:
#mainMenu {
background:url(../images/bg.gif);
border:1px solid #333;
width:100%;
height:30px;
overflow:hidden;
}
#subMenu {
background:url(../images/bg.gif);
border:1px solid #333;
width:100%;
height:20px;
overflow:hidden;
}
两个不同类的属性值有重复之处,刚可以缩写为:
#mainMenu,#subMenu {
background:url(../images/bg.gif);
border:1px solid #333;
width:100%;
overflow:hidden;
}
#mainMenu {height:30px;}
#subMenu {height:20px;}
2、同一属性的缩写:
同一属性根据它的属性值也可以进行简写,如:
.search {
background-color:#333;
background-image:url(../images/icon.gif);
background-repeat: no-repeat;
background-position:50% 50%;
}
.search {
background:#333 url(../images/icon.gif) no-repeat 50% 50%;
}
3、内外侧边框的缩写:
在CSS中关于内外侧边框的距离是按照上、右、下、左的顺序来排列的,当这四个属性值不同时也可直接缩写,如:
.btn {
margin-top:10px;
margin-right:8px;
margin-bottom:12px;
margin-left:5px;
padding-top:10px;
padding-right:8px;
padding-bottom:12px;
padding-left:8px;
}
则可缩写为:
.btn {
Margin:10px 8px 12px 5px;
Padding:10px 8px 12px 5px;
}
而如果当上边与下边、左边与右边的边框属性值相同时,则属性值可以直接缩写为两个,如:
.btn {
margin-top:10px;
margin-right:5px;
margin-bottom:10px;
margin-left:5px;
}
缩写为:
.btn {margin:10px 5px;}
而当上下左右四个边框的属性值都相同时,则可以直接缩写成一个,如:
.btn {
margin-top:10px;
margin-right:10px;
margin-bottom:10px;
margin-left:10px;
}
缩写为:
.btn{margin:10px;}
4、颜色值的缩写:
当RGB三个颜色值数值相同时,可缩写颜色值代码。如:
.menu { color:#ff3333;}
可缩写为:
.menu {color:#f33;}
四.hack书写规范
因为不同浏览器对W3C标准的支持不一样,各个浏览器对于页面的解释呈视也不尽相同,比如IE在很
多情况下就与FF存在3px的差距,对于这些差异性,就需要利用css 的hack来进行调整,当然在没有必要的情况下,最好不要写hack来进行调整,避免因为hack而导致页面出现问题。
1、 IE6、IE7、Firefox之间的兼容写法:
写法一:
IE都能识别*;标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important,
IE7能识别*,也能识别!important;
FF不能识别*,但能识别!important;
根据上述表达,同一类/ID下的CSS hack可写为:
.searchInput {
background-color:#333;/*三者皆可*/
*background-color:#666 !important; /*仅IE7*/
*background-color:#999; /*仅IE6及IE6以下*/
}
一般三者的书写顺序为:FF、IE7、IE6.
写法二:
IE6可识别“_”,而IE7及FF皆不能识别,所以当只针对IE6与IE7及FF之间的区别时,可这样书写:.searchInput {
background-color:#333;/*通用*/
_background-color:#666;/*仅IE6可识别*/
}
写法三:
*+html 与 *html 是IE特有的标签, Firefox 暂不支持。
.searchInput {background-color:#333;}
*html .searchInput {background-color:#666;}/*仅IE6*/
*+html .searchInput {background-color:#555;}/*仅IE7*/
屏蔽IE浏览器:
select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。
*:lang(zh) select {font:12px !important;} /*FF的专用*/
select:empty {font:12px !important;} /*safari可见*/
IE6可识别:
这里主要是通过CSS注释分开一个属性与值,注释在冒号前。
select { display /*IE6不识别*/:none;}
IE的if条件hack写法:
所有的IE可识别:
Only IE
只有IE5.0可以识别:
Only IE 5.0
IE5.0包换IE5.5都可以识别:
Only IE 5.0+
仅IE6可识别:
Only IE 6-
IE6以及IE6以下的IE5.x都可识别:
Only IE 6/+
仅IE7可识别:
Only IE 7/-
2、清除浮动:
在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。
select:after {
content:”.”;
display:block;
height:0;
clear:both;
visibility:hidden;
}