• 前端编码规范


    HTML

    语法:

    1.用两个空格代替制表符(tab)--这是唯一能保证在所有环境下获得一致展现。

    2.嵌套元素应当缩进一次(即两个空格)。

    3.对于属性的定义,确定全部使用双引号,绝不要使用单引号。

    4.不要在自闭合元素尾部加斜线(<img>而不是<img />),HTML5规范。

    5.不要省略可选的结束标签(</li>)。

    HTML5 doctype

    1.每个页面第一行添加标准模式的声明<!DOCTYPE html>

    语言属性

    根据HTML5规范:强烈建议为html根元素指定lang属性,从而为文档设置正确的语言。这将有助于语音合成工具确定其所应该采用的发音,有助于翻译工具确定其翻译时所应遵守的规则等等。

    <html lang="zh-CN"></html>

    字符编码

    通过明确声明字符编码,能够确保浏览器快速并容易的判断页面内容的渲染方式。这样做的好处是,可以避免在 HTML 中使用字符实体标记(character entity),从而全部与文档编码一致(一般采用 UTF-8 编码)。<meta charset="UTF-8" >

    引入 CSS 和 JavaScript 文件

    根据 HTML5 规范,在引入 CSS 和 JavaScript 文件时一般不需要指定 type 属性,因为 text/css 和 text/javascript 分别是它们的默认值。<script src="js.js"></script>  <link href="stylesheet href="style.css">

    实用为主

    尽量遵循 HTML 标准和语义,但是不要以牺牲实用性为代价。任何时候都要尽量使用最少的标签并保持最小的复杂度。

    属性顺序

    HTML 属性应当按照以下给出的顺序依次排列,确保代码的易读性。

    1.class  2.id,name  3.data-*  4.src,for,type,href  5.title,alt  6.aria-*,role

    class 用于标识高度可复用组件,因此应该排在首位。id 用于标识具体组件,应当谨慎使用(例如,页面内的书签),因此排在第二位。

    减少标签的数量

    编写 HTML 代码时,尽量避免多余的父元素。很多时候,这需要迭代和重构来实现。请看下面的案例:

    <!-- Not so great -->

    <span class="avatar">

      <img src="...">

    </span>

     

    <!-- Better -->

    <img class="avatar" src="...">

    Javascript生成标签

    通过js生成的标签不易查找、编辑并且性能降低,尽量避免使用。

    CSS

    语法

    1.每条声明语句的 : 后应该插入一个空格。

    2.最后一条声明语句‘;’不加上容易出错。

    3.对于属性值或颜色值 省略小数前面的0 例如:0.5px,写成 .5px

    4.十六进制值应该全部小写,例如,#fff

    5.为选择器中的属性添加双引号,例如,input[type="text"]

    6.避免为 0 值指定单位,例如,用 margin: 0; 代替margin: 0px;

    css书写顺序

    1.位置属性(position, top, right, z-index, display, float等)
    2.大小(width, height, padding, margin)
    3.文字系列(font, line-height, letter-spacing, color- text-align等)
    4.背景(background, border等)
    5.其他(animation, transition等)

    css选择器命名规范

    1.长名称或词组可以使用中横线来为选择器命名。

    2.不能用“_”下划线来命名CSS选择器,为什么呢?

    一些浏览器已经不允许使用下划线来命名CSS选择器(就是不兼容);

    能良好区分JavaScript变量命名.

    常用的CSS命名规则

    头:header
    内容:content/container
    尾:footer
    导航:nav
    侧栏:sidebar
    栏目:column
    页面外围控制整体佈局宽度:wrapper
    左右中:left right center
    登录条:loginbar
    标志:logo
    广告:banner
    页面主体:main
    热点:hot
    新闻:news
    下载:download
    子导航:subnav
    菜单:menu
    子菜单:submenu
    搜索:search
    友情链接:friendlink
    页脚:footer
    版权:copyright
    滚动:scroll
    内容:content
    标签:tags
    文章列表:list
    提示信息:msg
    小技巧:tips
    栏目标题:title
    加入:joinus
    指南:guild
    服务:service
    注册:regsiter
    状态:status
    投票:vote
    合作伙伴:partner

    id的命名:

    1)页面结构

    容器: container
    页头:header
    内容:content/container
    页面主体:main
    页尾:footer
    导航:nav
    侧栏:sidebar
    栏目:column
    页面外围控制整体佈局宽度:wrapper
    左右中: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

    CSS样式表文件命名

    主要的 master.css
    模块 module.css
    基本共用 base.css
    布局、版面 layout.css
    主题 themes.css
    专栏 columns.css
    文字 font.css
    表单 forms.css
    补丁 mend.css
    打印 print.css

  • 相关阅读:
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1100:金币
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1100:金币
    信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1100:金币
    windows下配置nginx
    python中对cookie进行添加、更新和删除
    xpathhelper使用
    xpathhelper 插件下载
    UvaLive7362 Fare(欧拉函数)
    UVaLive6834 Shopping
    UVa11384
  • 原文地址:https://www.cnblogs.com/lw9413/p/4059272.html
Copyright © 2020-2023  润新知