前端编码习惯 —— html篇

高洛峰
发布: 2017-02-14 16:05:44
原创
1224人浏览过

前言

作为一个前端工程师,我们可能每天都要写html、css、javascript,每个人写出来的代码都饱含着自己的个人的style也有自己的编码习惯和准则,下面和大家分享一下我的习惯和准则。

html

首先我们要对文档进行规范,就要添加<!DOCTYPE html>来对文档进行规范。关于<!DOCTYPE html> w3c有相应的说明。

编码统一采用utf-8,<meta charset="utf-8">即可

页中引css样式或js时,不需要加类型声明。如:

<link rel="stylesheet" href="..."> 
<style>...</style> 
<script src="..."></script>     
<script></script>
登录后复制

省略图片、样式、脚本以及其他媒体文件 URL 的协议部分(http:,https:),除非文件在两种协议下都不可用。这种方案称为 protocol-relative URL,相对协议URL。好处是无论你是使用 HTTPS 还是 HTTP 访问页面,浏览器都会以相同的协议请求页面中的资源,同时可以节省一部分字节。浏览器遇到相对 URL,会根据当前的网页协议,自动在 // 前面加上相同的协议。如当前网页是 http 访问,那么所有的相对引用 // 都会变成http://。https 同理。如果你在本地查看,协议就会变成 file://。这种用法几乎所有的浏览器都能支持,只有在 IE7/8 下会有一点小问题,就是通过相对 URL 引用的 CSS 文件(无论 <link> 或 @import )会被下载两遍。所以对性能有一点影响。

立即学习前端免费学习笔记(深入)”;

<!-- Not recommended -->
<script src="https://www.google.com/js/gweb/analytics/autotrack.js"></script>
<!-- Recommended -->
<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
/* Not recommended */
.example {
  background: url("https://www.google.com/images/example");
}
/* Recommended */
.example {
  background: url("//www.google.com/images/example");
}
登录后复制

标签、属性、属性名全部⼩写,属性值⽤"" (双引号) 引起来,每个双标签务必加对应的结束标签(单标签不遵循此标准,仍按原 html 标准,即不需要以"/>"结束)。提醒:IE 下的页⾯变形很多都与标签未闭合或嵌套错误有关系。

标签要按顺序合理嵌套.如:

<p><b></p></b>
需修改为:
<p><b></b></p>
登录后复制

<div>⾥可以包含<p> ,但是<p>⾥不允许包含<div>等块级元素;<ul>和<ol>的⼦级不允许嵌套<li>以外的标签,<dl>的⼦级不允许出现<dt>和<dd>以外的标签;像div之类的标签只能放在li⾥⾯;<table>的⼦级只允许嵌套<caption>, <thead>, <tfoot>, <tbody>以及<tr>标签,<tr>的⼦级只允许嵌套<td>,<th>标签,<td>标签⾥可以有任意标签存在。如以下⼏种情况都是错误的:

<table> 
    <input type="hidden"> 
    <tr>
        <td></td>
        <p></p>
    </tr> 
</table>
<ul> 
    <li></li> 
    <div></div> 
</ul>

需改为:
<table>         
    <tr>
        <td><input type="hidden"> </td>
        <p></p>
    </tr> 
</table>
<ul> 
    <li><div></div></li>          
</ul>
登录后复制

<li>标签必须被 <ul>或 <ol>包裹,<dt>和<dd>必须被<dl>包裹,类似的,<thead>, <tbody>等表格类标签也不允许单独出现。

<input>和<button>必须指明默认的type,<form>必须有默认的 method,这样可避免在不同浏览器下产⽣⾏为上的差异。

为了⽅便,建议<form>需加action属性,<input>需加 name和id属性,并且最好有对应的<label>标签,<option>需加value属性,a标签需加href属性。

为增强语义化,按钮⽤ <button> ⽽不⽤ <input>。

启科网络PHP商城系统
启科网络PHP商城系统

启科网络商城系统由启科网络技术开发团队完全自主开发,使用国内最流行高效的PHP程序语言,并用小巧的MySql作为数据库服务器,并且使用Smarty引擎来分离网站程序与前端设计代码,让建立的网站可以自由制作个性化的页面。 系统使用标签作为数据调用格式,网站前台开发人员只要简单学习系统标签功能和使用方法,将标签设置在制作的HTML模板中进行对网站数据、内容、信息等的调用,即可建设出美观、个性的网站。

启科网络PHP商城系统 0
查看详情 启科网络PHP商城系统

页⾯不⽤ table 做布局,也不要在本该⽤表格的地⽅⽤ <ul> 或其它标签代替,table 的⽬的是⽤来显⽰表格状的数据。 (a) ⼀般内联元素,包括但不限于

<a>, <abbr>, <b>, <cite>, <code>, <del>, <dfn>, <em>, <i>,<img>,<input>,<ins>,<kbd>,<label>,<mark>,<q>,  <samp>,<span>,<strong>, <sub>, <sup> 前后⽆需换⾏; 在块元素或⼀些内联块元素,包括但不限于 <address>, <area>,<article>,<aside>,<audio>,<bdo>,<blockquote>,<body>,<button>,<canvas>, <caption>,<col>,<colgroup>,<command>,<datalist>,<dd>,<details>,<div>,<dl>, <dt>, <embed>, <filedset>, <figcaption>, <figure>, <footer>, <form>, <frame>, <frameset>,<h1>-<h6>,<head>,<header>,<hgroup>,<hr>,<html>,<iframe>,<legend>, <li>,<link>,<meta>,<meter>,<nav>,<object>,<ol>,<optgroup>,<options>,<output>, <p>, <param>, <pre>, <progress>, <ruby>, <script>, <section>, <select>, <source>, <style>, <summary>, <table>, <tbody>, <tfoot>, <thead>, <ul>, <video>, <tr>, <th>, <td>, <textarea>, <time> 前后需换⾏,中间可以不换⾏; 在 <br>, <wbr> 前⾯不换⾏, 后⾯换⾏。
登录后复制

(b) html 代码采⽤4个空格缩进,不要⽤tab缩进,以保持在各个编辑器中显⽰⼀致。 (c) 连续的多空格请使⽤  ,去除代码⾏尾空格。

合理使用换行、缩进、空格,使代码整洁。

html 功能块之间写明注释,以便于此功能块的功能说明或嵌套提⽰,注释亦精不亦多。

<!-- START header --> 
<div id="header"> ... </div> 
<!-- END header -->
登录后复制

视情况为链接添加 title,图⽚要添加 alt 及 title。

把css调⽤写在head头部,不需预先执⾏的JS尽量写在页⾯尾部,不要在 html 代码中间插入script代码块,script代码块应与html之间留⼀个空⾏,script代码块开头⽆需缩进,如:

<div class="mod"> 
    <ul class="list"> 
        <li>
            <a href="">list 1</a> 
            <a href="">list 2</a> 
            <a href="">list 3</a> 
        </li> 
    </ul> 
</div>

<script> 
// all javascript code 
function abc() { // function's code } 
</script>
登录后复制

不在html中混合JS及event事件。

明确指定图⽚的width和 height。不仅对seo有⽤,对因各种原因⽆法显⽰图⽚的情况下,也能保持布局样式基本不变。

通过给元素设置⾃定义属性来存放与JS交互的数据,属性名格式为 data-xx(-xx),中间⽤中 划线连接,例如:data-lazyload-url。

禁⽌单独⽤ <div> 标签做容器,使⽤ <div> 时必须⾄少带有⼀个类名。更不要它代替<p>标签,因为 <div> 标签没有明确的含义,应该根据各标签的语义,做到该⽤什么标签就⽤什么标签。

更多前端编码习惯 —— html篇相关文章请关注PHP中文网!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号