当前位置: 首页 > 编程日记 > 正文

简明 HTML CSS 开发规范

作者:wjack 文章来源: 蓝色理想

//总论

本规范既是一个开发规范,也是一个脚本语言参考,本规范并不是一个一成不变的必须严格遵守的条文,特殊情况下要灵活运用,做一定的变通。但是,请大家千万不要随意更改规范。如果有任何问题,请及时与我联系,我会及时更改本规范的相关代码样例和文档。

/基 本 要 求

1. 在网站根目录中开设images common temp 三个子目录,根据需要再开设media 子目录,images目录中放不同栏目的页面都要用到的公共图片,例如公司的标志、banner 条、菜单、按钮等等;common 子目录中放css、js,、php、include 等公共文件;temp 子目录放客户提供的各种文字图片等等原始资料;media 子目录中放flash, avi, quick time 等多媒体文件 。
2. 在根目录中原则上应该按照首页的栏目结构,给每一个栏目开设一个目录,根据需要在每一个栏目的目录中开设一个images 和media 的子目录用以放置此栏目专有的图片和多媒体文件,如果这个栏目的内容特别多,又分出很多下级栏目,可以相应的再开设其他目录。
3. temp 目录中的文件往往会比较多,建议以时间为名称开设目录,将客户陆续提供的资料归类整理。

4. 除非有特殊情况,目录、文件的名称全部用小写英文字母、数字、下划线的组合,其中不得包含汉字、空格和特殊字符;目录的命名请尽量以英文为指导,不到万不得已不要以拼音作为目录名称,经验证明,用拼音命名的目录往往连一个月后的自己都看不懂,

/脚 本 编 写

我们应该有一个脚本整体风格一致的概念,意思是一个月后和一个月前的你写的脚本风格保持一致,以及同一个工作组中不同的开发人员编写的脚本风格保持一致,因为我们不可能永远孤立的开发,你随时都有可能和三个月前的自己合作(你的客户要求改版),也经常要和工作室中不同的同事共同开发一个项目,还有可能被要求修改已经离职人员开发的脚本,当然你自己也有可能会扔下一个项目给后来的同事。

1. Html 文件的通用模板:

<html>
<!--
Generator: Sub Design Studio ( www.eastline.net.cn)
Creation Data: 2000-8-1
Original Author: eastline
-->
<head>
<title> 文档标题 </title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<meta name="author" content="eastline">

其他meta 标 记

<link rel="stylesheet" type="text/css" href="style/style.css">

样式表定义
客户端javascript 函数定义及初始化操作

</head>
<body bgcolor="#ffffff">
… …
</body>

补充:
为了保证网站能够与下一代的web 语言xml 标准兼容,所有的HTML 标签的属性都要用单引号或者双引号括起,即我们应该写 <a href=”url”> 而不 是 <a href=url>.

2. 允许全文检索的页面,为了使Internet上的搜索引擎能够有效检索,在频道的首页的html的<head></head>之间应该加入Keywords 和Description 元标记,例如 :

<meta name=”keywords” content=”东方新干线,汽车,买车”>
<meta name=”description” content=”东方新干劲线,全球中文汽车信息第一站”>

3. CSS 文件的格式样例代码 :

<style type="text/css">
<!—
p { text-indent: 2em; }
body { font-family: "宋体"; font-size: 9pt; color: #000000; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px}
table { font-family: "宋体"; font-size: 9pt; line-height: 20px; color: #000000}
a:link { font-size: 9pt; color: #FFFFFF; text-decoration: none}
a:visited { font-size: 9pt; color: #99FFFF; text-decoration: none}
a:hover { font-size: 9pt; color: #FF9900; text-decoration: none}
a:active { font-size: 9pt; color: #FF9900; text-decoration: none}
a.1:link { font-size: 9pt; color: #3366cc; text-decoration: none}
a.1:visited { font-size: 9pt; color: #3366cc; text-decoration: none}
a.1:hover { font-size: 9pt; color: #FF9900; text-decoration: none}
a.1:active { font-size: 9pt; color: #FF9922; text-decoration: none}
.blue { font-family: "宋体"; font-size: 10.5pt; line-height: 20px; color: #0099FF; letter-spacing: 5em}
-->
</style>

这里尤其要注意的是a:link a:visited a:hover a:actived 的排列顺序一定要严格照上面的样例代码,否则或多或少会出问题。另外我们规定重定义的最先,伪类其次,自定义最后,便于自己和他人阅读!

为了保证不同浏览器上字号保持一致,字号建议用点数pt和像素px来定义,pt一般使用中文宋体的9pt和11pt,px一般使用中文宋体12px 和14.7px 这是经过优化的字号,黑体字或者宋体字加粗时,一般选用11pt和14.7px 的字号比较合适。

在写 <table> 互相嵌套时,严格按照的规范,对于单独的一个<table>来说,<table><tr>对齐,<td> 缩进两个半角空格,<td> 中如果还有嵌套的表格,<table>也缩进两个半角空格,如果<td>中没有任何嵌套的表格,</td> 结束标记应该与 <td> 处于同一行,不要换行,

如我们注意在源代码中不应有这样的代码:

<td><img src=”../images/sample.gif”>
</td>

而应该是这样的:

<td><img src=”../images/sample.gif”></td>

这是因为浏览器认为换行相当于一个半角空格,以上不规范的写法相当于无意中增加一个半角空格,如果确实有必要增加一个半角空格,也应该这样写:

<td><img src=”../images/sample.gif”> </td>

属于同一个级别 的 <table> 一定是左首对齐的,另外不允许没有任何内容的空的单元格存在,高度大于等于12px 的单元格应该 在 <td> 和 </td> 之间写一个如果高度小于12px, 则应该 在 <td> 和 </td> 之间插入一个1*1 大小的透明的gif 图片,这是因为某些浏览器认为空单元格非法而不会予以解释。如果代码顺序较乱,在DW3中可以通过command->apply souce formatting进行重新整理!

5. Width 和height 的写法也有统一的规范,一般情况下只有一列的表格,width 写在<table> 的标签内,只有一行的表格,height 写在 <table> 的标签内,多行多列的表格,width 和height 写在第一行或者第一列的 <td> 标签内。总之遵循一条原则:不出现多于一个的控制同一个单元格大小的height 和width, 保证任何一个width 和height 都是有效的,也就是你改动代码中任何一个width 和height 的数值,都应该在浏览器中看到变化。做到这一条不容易,需要较长时间的练习和思考。

/一 般 原 则

1. 在排布表格之前,请大家一定要好好思考一个最佳的方案,表格的嵌套尽量控制在三层以内,并且应该尽量避免 <colspan> <rowspan> 两个标记,经验表明,这两个标记会带来许多麻烦。

2. 一个网页要尽量避免用整个一张大表格,所有的内容都嵌套在这个大表格之内,因为浏览器在解释页面的元素时,是以表格为单位逐一显示,如果一张网页是嵌套在一个大表格之内,那么很可能造成的后果就是,当浏览者敲入网址,他要先面对一片空白很长时间,然后所有的网页内容同时出现。如果必须这样做,请使用 <tbody>标记,以便能够使这个大表格分块显示。

3. 排版中我们经常会遇到需要进行首行缩进的处理,不要使用 或者全角空格来达到效果,规范的做法是在样式表中定义 p { text-indent: 2em; } 然后给每一段加上 <p> 标记,注意,一般情况下,请不要省略 </p> 结束标记 。

4. 原则上,我们禁止用 <img width=? height=?> 来人为干预图片显示的尺寸,而且建议 <img> 标签中不要带上width 和height 两个属性,这是因为制作过程中,图片往往需要反复的修改,这样可以避免人为干预图片显示的尺寸,尽可能的发挥浏览器自身的功能;但是这样的一个副作用是当网页还未加载图片时,不会留出图片的站位大小,可能会造成网页在加载过程中抖动(如果图片是插在一个固定大小的表格里的,不会有这个现象),尤其是当图片的尺寸较大时,这种现象会很明显,所以当预料到这种会明显导致网页抖动的情况会发生时,请大家务必在最后给 <img>附上 width 和 height 属性。

5. 为了最大程度的发挥浏览器自动排版的功能,在一段完整的文字中请尽量不要使用<br> 来人工干预分段。

6. 不同语种的文字之间应该有一个半角空格,但避头的符号之前和避尾的符号之后除外汉字之间的标点要用全角标点,英文字母和数字周围的括号应该使用半角括号。

7. 所有的字号都应该用样式表来实现,禁止在页面中出现 <font size=?> 标记。

8. 请不要在网页中连续出现多于一个的也尽量少使用全角空格(英文字符集下,全角空格会变成乱码),空白应该尽量使用 text-indent, padding, margin, hspace, vspace 以及透明的gif 图片来实现。

9. 中英文混排时,我们尽可能的将英文和数字定义为verdana 和arial 两种字体。

10. 行距建议用百分比来定义,常用的两个行距的值是line-height:120%/150%.

11. 网站中的路径全部采用相对路径,一般链接到某一目录下的缺省文件的链接路径不必写全名,如我们不必这样:<a href=”aboutus/index.htm”> 而应该这样:<a href=”aboutus/”>

12. 嵌入图形文本的使用较大的字体,建议不要在图形中包括文本。

13.“网页大小”定义为网页的所有文件大小的总和,包括HTML文件和所有的嵌入的对象。用户喜欢快的而不是新奇的站点。对于解调器用户,网页大小保持在34K以下为合适。

/文 件 命 名 原 则

1. 每一个目录中应该包含一个缺省的html 文件,文件名统一用index.htm

2.件名称统一用小写的英文字母、数字和下划线的组合。

3. 命名原则的指导思想一是使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义,二是当我们在文件夹中使用“按名称排例”的命令时,同一种大类的文件能够排列在一起,以便我们查找、修改、替换、计算负载量等等操作。

4. 下面以“新闻”(包含“国内新闻”和“国际新闻”)这个栏目来说明html 文件的命名原则 :

☆ 在根目录下开设news目 录

☆ 第一条缺省新闻取名index.htm

☆ 所有属于“国内新闻”的新闻依次取名为:china_1.htm, china_2.htm, …

☆ 所有属于“国际新闻”的新闻依次取名为:internation_1.htm, internation _2.htm, …

☆ 如果文件的数量是两位数,请将前九个文件命名为:china_01.htm, china_02.htm 以保证所有的文件能够在文件夹中正确排序。

5. 图片的命名原则遵循以下几条规范 :

☆ 名称分为头尾两两部分,用下划线隔开。

☆ 头部分表示此图片的大类性质,例如广告、标志、菜单、按钮等等。

☆ 一般来说:

放置在页面顶部的广告、装饰图案等长方形的图片我们取名:banner
标志性的图片我们取名为:logo
在页面上位置不固定并且带有链接的小图片我们取名为button
在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名:menu
装饰用的照片我们取名:pic
不带链接表示标题的图片我们取名:title
依照此原则类推。

☆ 尾部分用来表示图片的具体含义。

☆ 下面是几个样例,大家应该能够一眼看明白图片的意义:
banner_sohu.gifbanner_sina.gifmenu_aboutus.gifmenu_job.gif
title_news.giflogo_police.giflogo_national.gifpic_people.jpg
pic_hill.jpg.

相关文章:

B 站神曲damedane:精髓在于换脸,五分钟就能学会

导读&#xff1a;AI 换脸技术层出不穷&#xff0c;但一代更比一代强。最近&#xff0c;一个发表在 NeurIPs 2019 的 AI 换脸模型 first order motion model 火了起来&#xff0c;其表情迁移效果胜过同领域其它方法。最近&#xff0c;这项技术在 B 站引起一波新潮流……来源 | H…

html select以数组的方式提交

2019独角兽企业重金招聘Python工程师标准>>> 1).select 以数组的方式提交 <form> <input type"hidden" name"app" value"wap_test"> <select name"attribute[颜色]"> &…

META的一些功用

作者&#xff1a;军军 文章来源&#xff1a;闪吧 META的一些功用 META标记用于描述不包含在标准HTML里的一些文档信息。基于这一基 础上又开发出一些其它的有用功能&#xff0c;下面我挑选几种功能和大家说一下&#xff1a; &#xff11;、如何让搜索引擎搜索到你的页面 …

Python爬虫并自制新闻网站,太好玩了

来源 | 凹凸数据&#xff08;ID&#xff1a;alltodata&#xff09;我们总是在爬啊爬&#xff0c;爬到了数据难道只是为了做一个词云吗&#xff1f;当然不&#xff01;这次我就利用flask为大家呈现一道小菜。Flask是python中一个轻量级web框架&#xff0c;相对于其他web框架来说…

CPU值满resmgr:cpu quantum造成的Oracle等待事件解决办法

cpu quantum造成的Oracle等待事件解决办法 不少接触数据库的朋友有一个困扰已久的问题——resmgr:cpu quantum。已经遇过不少次这种CPU突然全绿的情况&#xff0c;通过隐含参数屏蔽了一下&#xff0c;方便研究。 刚好有人问我这个问题&#xff0c;就干脆翻文档写一篇文章给这位…

讲解用户角色切换

方法一&#xff1a;有root密码&#xff0c;可以使用su - root切换到root下&#xff0c;为了安全起见&#xff0c;不建议使用&#xff0c;因为如果切换到root下&#xff0c;被人修改了root密码&#xff0c;就真的完蛋了.......方法二&#xff1a;通过sudo给普通用户授权&#xf…

HTML教程-各窗口间相互操作(Frame Target)

文章来源&#xff1a; 山西之窗由Frames分出来的几个窗口的内容并不是静止不变的&#xff0c;往往一个窗口的内容随着另一个窗口的要求而不断变化&#xff0c;这就提高了Frames的利用价值。为了完成各窗口之间的相互操作&#xff0c;我们必须为每一个窗口起一个名字&#xff0c…

[转载] 晓说——第3期:梦回青楼 爱与自由的温柔乡(上)

转载于:https://www.cnblogs.com/6DAN_HUST/archive/2012/08/20/2647811.html

10个 Python 工程师,9个不合格!

毋庸置疑&#xff0c;Python越来越被认可为程序员新时代的风口语言。 无论是刚入门的程序员&#xff0c;还是年薪百万的 BATJ 的大牛都无可否认&#xff1a;Python的应用能力是成为一名码农大神的必要项。 所以&#xff0c;很多程序员把Python当做第一语言来学习。 但对于Pytho…

驱动07.USB驱动程序

1 了解USB识别的过程 eg&#xff1a;在Windows系统下的一个现象&#xff1a;把手机的USB设备接到PC  1. 右下角弹出"发现android phone"  2. 跳出一个对话框&#xff0c;提示你安装驱动程序 问1. 既然还没有"驱动程序"&#xff0c;为何能知道是"a…

豪气!华为放话:3年培养100万AI人才!网友神回应了

大家经常把BAT挂在嘴边&#xff0c;但是可能有些人还不知道&#xff0c;华为的体量早已超越了这三巨头&#xff0c;只是迟迟不肯上市。华为的创始人任正非曾说表&#xff1a;上不上市不重要&#xff0c;最重要的是要让中国华为的技术能够称霸全球&#xff01;华为对技术的重视&…

InnoDB的启动,关闭,恢复

InnoDB存储引擎是MySQL的存储引擎之一&#xff0c;因此InnoDB存储引擎的启动和关闭更准确地是指在MySQL实例的启动过程中对InnoDB表存储引擎的处理过程。 参数innodb_fast_shutdown 在关闭时&#xff0c;参数innodb_fast_shutdown影响着表的存储引擎为InnoDB的行为。该参数可取…

微软推出提点神器动态ReLU,可能是最好的ReLU改进

作者 | Vincent 来源 | 晓飞的算法工程笔记 简介ReLU是深度学习中很重要的里程碑&#xff0c;简单但强大&#xff0c;能够极大地提升神经网络的性能。目前也有很多ReLU的改进版&#xff0c;比如Leaky ReLU和 PReLU&#xff0c;而这些改进版和原版的最终参数都是固定的。所以论…

监控 monit

官方说明文档 http://mmonit.com/monit/documentation/monit.html 实例 http://mmonit.com/wiki/Monit/ConfigurationExamples 下载最新软件包 wget http://mmonit.com/monit/dist/monit-5.4.tar.gz monit 介绍 monit是一个实用程序&#xff0c;用于在 Unix 系统上管理和监视…

框架窗口的尺寸设置

将窗口分割为几块&#xff0c;横向分用ROWS属性&#xff0c;纵向分用COLS属性&#xff0c;每一块的大小可以由这两个属性的值来实现。 <frameset cols#>  例&#xff1a;<frameset cols"100,200,300">   <frameset rows#>  例&#xff1a;<…

C语言双链表遍历,插入,删除

#include<stdio.h> #include<stdlib.h> #include <string.h> #define bzero(a, b) memset(a, 0, b)//windows平台下无bzero函数。 增加宏拓展移植性struct node{int data; //有效数据 struct node *pLast;//指向上一个节点的指针…

详解.NET的RAD功能

作者&#xff1a;中国计算机报Visual Studio.NET 拥有开发者建立一个成功而强大的中间层应用服务所需要的所有开发工具&#xff0c;利用这些工具&#xff0c;开发者可以&#xff1a; 1.保障消息传播和利用微软消息队列&#xff08;MSMQ&#xff09;跨平台的通讯&#xff1b; 2…

Java初学者如何自学和自己定位解决问题

注&#xff1a; OneCoder 即本人苦逼Coder 今天群里(Java Coder群&#xff1a;91513074)的朋友&#xff0c;问我该如何看帮助文档&#xff0c;或者说在遇到问题的时候如何解决。希望我能介绍一下我的方法。 这个OneCoder其实没有资格高谈阔论&#xff0c;只能说说个人的习惯和…

仅用 4 小时,吃透“百度太行”背后硬科技!

我们正处于一个 AI 生万物&#xff0c;万物生 AI 的时代&#xff0c;云与 AI 也如共同体&#xff0c;水乳相容不可分割。无论是企业还是政府机构、社会团体&#xff0c;上云已然成为一个不可抗的趋势&#xff0c;尤其是 AI 的发展&#xff0c;更是离不开强大、灵活、便捷的云计…

(转)java 中的try catch finally 语句中含有return语句的执行情况(总结版)

原处&#xff1a;http://blog.csdn.net/ns_code/article/details/17485221在这里看到了try catch finally块中含有return语句时程序执行的几种情况&#xff0c;但其实总结的并不全&#xff0c;而且分析的比较含糊。但有一点是可以肯定的&#xff0c;finally块中的内容会先于try…

希捷携全线企业级解决方案出席ODCC,Exos X18与Exos 2X14硬盘斩获两项大奖

2020年9月15日&#xff0c;数据存储与管理解决方案提供商希捷科技公司亮相2020开放数据中心&#xff08;ODCC&#xff09;峰会&#xff0c;并发表了以“数据新视界”为主题的演讲。希捷银河&#xff08;Exos&#xff09;18TB硬盘与希捷银河&#xff08;Exos&#xff09;2X14 MA…

动态装载和使用类型

作者&#xff1a;微软Reflection提供诸如Microsoft Visual Basic.NET和JScript语言编译器使用的底层结构来实施隐性后绑定。绑定是定位与某一特定类型相对应的声明的过程。当这个过程发生在运行的时候&#xff0c;而不是编译的时候&#xff0c;它被称为后绑定。Visual Basic.NE…

求1 + 2 + 3...+ n的和

题目&#xff1a;求1 2 3 ... n 的和 要求&#xff1a;不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C) 答&#xff1a; #include "stdafx.h" #include <iostream>using namespace std;//1、函数查找表法 typedef in…

Debussy的安装

下载完成后对软件安装包进行解压缩&#xff0c;得到安装文件和破解文件。 双击Debussy-54v9-NT.exe进行安装&#xff0c;出现以下界面&#xff0c;选择安装的路径。 选择安装类型&#xff0c;最好选择typical类型。 选择相关配置。 进行安装。 选择Yes继续&#xff0c;dont dis…

如何调试你的C#程序

作者&#xff1a;龙山文化 文章来源&#xff1a;ASPCool.com欢迎来到C#的奇妙天空&#xff0c;在这里&#xff0c;希望你能获得你想获得的东西&#xff0c;.我们真诚希望能给你带来巨大的帮助&#xff0c;带你进入另外一个广阔的空间。 Come on. Follow me and then U can W…

SSAS使用时间智能解决本年累计、同比、环比【转载】

通常&#xff0c;我们需要使用MDX来定义本年累计、同比、环比等一系列基于时间维度的计算指标。但是这样有一个麻烦的地方就是比如我有50个基础指标&#xff0c;每个指标都需要本年累计&#xff0c;那我就需要写50遍下面的语句&#xff1a;create member CURRENTCUBE.[MEASURES…

良心贴!没想到 Google 排名第一的编程语言,可以这么简单!

作为最近几年最火的编程语言&#xff0c;Python&#xff08;没有之一&#xff09;已经走过了20多个年头。也难怪&#xff0c;作为大数据时代和人工智能时代的必备语言&#xff0c;Python 的优点太多了&#xff0c;语言简洁、易学、开发效率高、可移植性强......不过它火起来的主…

报错 org.springframework.beans.factory.BeanCreationException

2019独角兽企业重金招聘Python工程师标准>>> 一.问题背景&#xff1a; spring mvc eclipse启动报错&#xff1a;org.springframework.beans.factory.BeanCreationException 二.分析 1.写了一个名为“User”的 实体bean&#xff0c;然后写了有参构造函数&#xff0c;…

醉没醉,带上智能手机走两步就知道

来源 | HyperAI超神经场景描述&#xff1a;斯坦福大学和匹兹堡大学的研究小组&#xff0c;最近发表了一项用智能手机检测醉酒状态的研究&#xff0c;可利用步态特征检测相应的血液和呼吸酒精浓度。以后喝没喝多&#xff0c;用你的手机测一测就知道。关键词&#xff1a;智能手机…

Linux编程常见问题

错误提示&#xff1a;Makefile:2: *** 遗漏分隔符 。 停止。原因makefile中 gcc语句前 缺少一个 tab分割符错误提示&#xff1a; bash: ./makefile: 权限不够原因 makefile 是文本文件不可执行&#xff0c;即使是root&#xff0c;也会权限不够我们应该在命令行下使用make&#…