整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端开发过程中的HTML规范,来学习一下吧

程序开发过程中,我们始终要谨记的一点就是:程序是写给人看的,不是写给机器看的。任何项目开发,都必须要考虑到人员迭代,我们不能让下一个接手你代码的人,在看到你写的代码时会说出这样的话,“这个代码是人写出来的吗?可读性太差了”。因此,我们必须遵循一定的规范,让代码的可读性更强。

今天,我们就一起来看下前端开发过程所能涉及到的跟HTML有关的规范问题。

HTML5

文档类型

在HTML文件中,推荐使用支持HTML5特性的文档声明,<!DOCTYPE html>。

命名规范

首先是在文件的命名上,应当采用驼峰式命名,首字母小写,后面每个单词首字母大写,而且对于具体的文件应当具有语义化,能够给人一种直观的感受这个文件的作用是什么。现在前端开发开发过程中都讲求模块化开发,甚至是组件化开发,在文件命名时更应该以模块名或者组件名来命名。

例如在写一个AngularJS应用时,由于会涉及到Controller,Service,Filter等概念,我们会分别建立一个文件,假如这个模块的名字是库存管理stockManage,我们可以这样来命名文件。

  • stockManageCtrl

  • stockChangeService

  • stockChangeFilter

语义化

我们所说的语义化指的是使用具有语义化的标签,在H5中添加了类似于header, nav, article, section, aside, footer等标签,从单词的意思上我们也很容易看出标签的含义。

我们不推荐使用只有div标签的页面,例如

不推荐使用

而是应该使用以下这种带有语义化的标签。

推荐使用

img标签

img标签是网页用来显示照片的标签,在页面所有标签中占据的比例非常之高,但是在使用img标签时也有下面需要注意的点。

  • 给定width和height属性

因为浏览器在加载图片的过程中,需要先下载图片,然后再解析图片的高度和宽度,如果不给img元素设定高度和宽度,这样在图片加载过程中会不断的计算,重排页面的布局,在网络不好的时候就会经常出现元素出现不规律移动的情况。因此给img元素设定width和height属性是必要的。

  • alt属性

img标签的alt属性表示的是在图片无法显示时,使用文字来代替显示,它可以用在以下几个场景中:

  1. 网路延迟太大

  2. src属性指定路径出错

  3. 浏览器禁用图像

由于其有良好的信息提示效果,并且有助于网页SEO效果,强烈建议在img标签中使用alt属性

而且很重要的一点是img标签的引入是需要呈现出与页面相关的内容,其他情况应该使用CSS样式实现。例如我们不推荐下面这种情况。

不推荐

而推荐使用下面这种情况

推荐使用

文件分离

前端文件主要包括HTML页面文件,CSS样式文件和Javascript脚本文件。我们应该让三者各司其职,在HTML中不应该出现CSS和JS表达式;在JS文件中,不应该出现大量的HTML和CSS代码。在HTML文档中应当尽量少的引入CSS和JS文件。为了保证文件的纯净,我们应当遵循下面的原则。

  1. 一个HTML文件应该只引入一个CSS文件

  2. 合理运用JS合并技术(Gulp, Webpack插件),保证引入JS文件不多于两个

  3. 不使用行内脚本元素(<script>alert('Hello World')</script>)

  4. 不在标签上使用style内联样式

不要使用style属性

脚本加载

脚本加载在网页加载过程中是一个很耗性能的过程,如果把JS文件放在head标签里,它的加载会一直阻塞DOM的解析,造成页面延迟。

因此现在讲求的是脚本的异步加载过程,我们会使用到async关键字,考虑到浏览器的兼容性,我们推荐使用下面的方式加载脚本。

推荐方式

合理使用ID和锚点

合理使用ID和锚点可以非常方便的实现当前页面间的跳转,现在越来越多的教程网页由于是单页面,经常会用到锚点跳转。

对锚点知识还不了解的,可以看看我写的这篇文章《神奇的html锚点,让你的网页在内部自由的跳转》。

总结

今天这篇文章主要总结了前端开发过程中的HTML规范问题,相信大家也或多或少遇到过,希望这篇文章能加深大家的认识。

程序开发过程中,我们始终要谨记的一点就是:程序是写给人看的,不是写给机器看的。任何项目开发,都必须要考虑到人员迭代,我们不能让下一个接手你代码的人,在看到你写的代码时会说出这样的话,“这个代码是人写出来的吗?可读性太差了”。因此,我们必须遵循一定的规范,让代码的可读性更强。

今天,我们就一起来看下前端开发过程所能涉及到的跟HTML有关的规范问题。

HTML5

文档类型

在HTML文件中,推荐使用支持HTML5特性的文档声明,<!DOCTYPE html>。

命名规范

首先是在文件的命名上,应当采用驼峰式命名,首字母小写,后面每个单词首字母大写,而且对于具体的文件应当具有语义化,能够给人一种直观的感受这个文件的作用是什么。现在前端开发开发过程中都讲求模块化开发,甚至是组件化开发,在文件命名时更应该以模块名或者组件名来命名。

例如在写一个AngularJS应用时,由于会涉及到Controller,Service,Filter等概念,我们会分别建立一个文件,假如这个模块的名字是库存管理stockManage,我们可以这样来命名文件。

  • stockManageCtrl

  • stockChangeService

  • stockChangeFilter

语义化

我们所说的语义化指的是使用具有语义化的标签,在H5中添加了类似于header, nav, article, section, aside, footer等标签,从单词的意思上我们也很容易看出标签的含义。

我们不推荐使用只有div标签的页面,例如

不推荐使用

而是应该使用以下这种带有语义化的标签。

推荐使用

img标签

img标签是网页用来显示照片的标签,在页面所有标签中占据的比例非常之高,但是在使用img标签时也有下面需要注意的点。

  • 给定width和height属性

因为浏览器在加载图片的过程中,需要先下载图片,然后再解析图片的高度和宽度,如果不给img元素设定高度和宽度,这样在图片加载过程中会不断的计算,重排页面的布局,在网络不好的时候就会经常出现元素出现不规律移动的情况。因此给img元素设定width和height属性是必要的。

  • alt属性

img标签的alt属性表示的是在图片无法显示时,使用文字来代替显示,它可以用在以下几个场景中:

  1. 网路延迟太大

  2. src属性指定路径出错

  3. 浏览器禁用图像

由于其有良好的信息提示效果,并且有助于网页SEO效果,强烈建议在img标签中使用alt属性

而且很重要的一点是img标签的引入是需要呈现出与页面相关的内容,其他情况应该使用CSS样式实现。例如我们不推荐下面这种情况。

不推荐

而推荐使用下面这种情况

推荐使用

文件分离

前端文件主要包括HTML页面文件,CSS样式文件和Javascript脚本文件。我们应该让三者各司其职,在HTML中不应该出现CSS和JS表达式;在JS文件中,不应该出现大量的HTML和CSS代码。在HTML文档中应当尽量少的引入CSS和JS文件。为了保证文件的纯净,我们应当遵循下面的原则。

  1. 一个HTML文件应该只引入一个CSS文件

  2. 合理运用JS合并技术(Gulp, Webpack插件),保证引入JS文件不多于两个

  3. 不使用行内脚本元素(<script>alert('Hello World')</script>)

  4. 不在标签上使用style内联样式

不要使用style属性

脚本加载

脚本加载在网页加载过程中是一个很耗性能的过程,如果把JS文件放在head标签里,它的加载会一直阻塞DOM的解析,造成页面延迟。

因此现在讲求的是脚本的异步加载过程,我们会使用到async关键字,考虑到浏览器的兼容性,我们推荐使用下面的方式加载脚本。

推荐方式

合理使用ID和锚点

合理使用ID和锚点可以非常方便的实现当前页面间的跳转,现在越来越多的教程网页由于是单页面,经常会用到锚点跳转。

对锚点知识还不了解的,可以看看我写的这篇文章《神奇的html锚点,让你的网页在内部自由的跳转》。

总结

今天这篇文章主要总结了前端开发过程中的HTML规范问题,相信大家也或多或少遇到过,希望这篇文章能加深大家的认识。

先让我们回顾下前端入门——html 超链接的用法 <a href="url"> , 超链接是一个非常伟大的发明,它链接了整个互联网,没有它就没有互联网。

超链接在发明之初就给它设计了一个默认的样式,就是蓝色带下划线的样式,如下图:

默认样式

关于为什么超链接是蓝色带下划线的历史,可以参考这里:https://baijiahao.baidu.com/s?id=1710334071632114373&wfr=spider&for=pc

当网页变得越来越丰富,用户的需求越来越高的时候,这样的样式已经不符合大众的审美,所以通过css来美化超链接非常有用和有趣。

设置链接样式

链接可以使用任何 CSS 属性(例如 colorfont-familybackground 等)来设置样式。

如下图:

除此之外,可以根据链接状态来设置不同样式,链接状态分别有:

  • a:link - 正常的,未访问的链接
  • a:visited - 用户访问过的链接
  • a:hover - 用户将鼠标悬停在链接上时
  • a:active - 链接被点击时

如下示例:

/* 未被访问的链接 */
a:link {
  color: red;
}

/* 已被访问的链接 */
a:visited {
  color: green;
}

/* 将鼠标悬停在链接上 */
a:hover {
  color: hotpink;
}

/* 被选择的链接 */
a:active {
  color: blue;
}

未被访问的链接

已被访问的链接

将鼠标悬停在链接上

被选择的链接

如果为多个链接状态设置样式,请遵循如下顺序规则:

  • a:hover 必须 a:link 和 a:visited 之后
  • a:active 必须在 a:hover 之后

以上是链接的各种伪类,描述了链接的不同状态,你可以试试在不同状态下给设置不同的属性,比如背景色,字体或者文本修饰等等。

链接按钮

链接通常用来当做按钮使用,点击它跳转页面或执行一些事件或js函数。如下示例:

a:link, a:visited {
  background-color: #f44336;
  color: white;
  padding: 14px 25px;
  text-align: center; 
  text-decoration: none;
  display: inline-block;
}

a:hover, a:active {
  background-color: red;
}

定义了一个背景色为红色的按钮,如下图:

注意:如果想在点击这个按钮后禁止跳转页面,可以给href属性设置javascript:void();,在以后会讲到JavaScript在网页中的使用,这里你已经看到,在href属性中通过Javascript:的形式可以执行一段js语句或函数,这里void()就是阻止链接跳转。

上面只是一个简单的例子,当然你也可以制作更漂亮的按钮,比如加上圆角、阴影、或渐变背景等。

改变光标

当鼠标移动到链接上时,你会看到鼠标变成一个手形,通过css cursor 属性可以改变鼠标指针的形状,如下图:

可以尝试按照上面的属性依次练习一遍,链接的样式到此就介绍完了,感谢关注。

上篇:前端入门——css字体和文本