前端 点击侧边栏更换背景颜色_前端编码规范

一、命名技巧

1、语义化即合适标签+合适命名
(1)语义化标签优先
(2)基于功能命名、内容命名、表现命名
(3)简略、明了、无后患
tips:可自己改名字、翻译成英文单词

2、范例

(1)

<!-- 不好  -->
<div class="article">
  <div class="article_title">编码规范</div>
  <div class="the_content">今天是编码规范
       <div class="darkbold">miya</div>
  @wxq</div>
</div>

<!-- 好 -->
<article>
  <h1>编码规范</h1>
  <p>今天讲的内容是编码规范,讲师
     <b>miya</b> @wxq</p>
</article>

(2)

<!-- 不好  -->
<div class="left"></div>
<div class="red"></div>
<div class="s"></div>
<a class="link" href="#"></a>

<!-- 好 -->
<div class="success"></div>
<div class="theme-color"></div>
<a class="login" href="#"></a>

(3)

<!-- 好 -->
<article class="movies">...</article>
<article class="news">...</article>

<!-- 不好 -->
<article class="blue">...</article>
<article class="redBg mt30 bigText">...</article>

3、命名范例

(1)所有命名都使用英文小写
推荐:`<div class="main"></div> `
不推荐: `<div class="Main"></div> `
(2)命名用引号包裹
推荐:`<div id="header"></div> `
不推荐: `<div id=header></div> `
(3)用中横线连接
推荐:`<div class="mod-modal"></div> `
不推荐: `<div class="modModal"></div> `
(4)命名体现功能,不涉及表现样式(颜色、字体、边框、背景等)
推荐:`<div class="text-lesser"></div>`
不推荐: `<div class="light-grey"></div>`

4、常见命名

第一种:

  1. .wrap.wrapper -- 用于外侧包裹
  2. .container.ct -- 包裹容器
  3. .header -- 用于头部
  4. .body -- 页面 body
  5. .footer -- 页面尾部
  6. asidesidebar -- 用于侧边栏
  7. .content -- 和header footer 对应,用于主要内容
  8. .navigation -- 导航元素
  9. .pagination -- 分页

第二种:

  1. .tabs > .tab -- tab 切换
  2. .breadcrumbs -- 导航列表、面包屑
  3. .dropdown -- 下拉菜单
  4. .article -- 文章
  5. .main -- 用于主体
  6. .thumbnail -- 头像,小图像
  7. .media -- 媒体资源
  8. .panel -- 面板
  9. .tooltip -- 鼠标放置上去的提示
  10. .popup -- 鼠标点击弹出的提示

第三种:

  1. .button.btn -- 按钮
  2. .ad -- 广告
  3. .subnav -- 二级导航
  4. .menu -- 菜单
  5. .tag -- 标签
  6. .message或者.notice -- 提示消息
  7. .summary -- 摘要
  8. .logo -- logo
  9. .search -- 搜索框
  10. .login -- 登录

第四种:

  1. .register -- 注册
  2. .username -- 用户名
  3. .password -- 密码
  4. .banner -- 广告条
  5. .copyright -- 版权
  6. .modal或者 .dialog -- 弹窗

第五种:

var 名字 = {
  状态: [
    'inverse',
    'toggled',
    'switched',
    'original',
    'initial',
    'identified',
    'disabled',
    'loading',
    'pending',
    'syncing',
    'default'
  ],
  修饰: [
    'dark',
    'light',
    'shaded',
    'flat',
    'ghost',
    'maroon',
    'pale',
    'intense',
    'twisted',
    'narrow',
    'wide',
    'smooth',
    'separate',
    'clean',
    'sharp',
    'aligned'
  ],
  元素: [
    'pagination',
    'modal',
    'popup',
    'article',
    'story',
    'flash',
    'status',
    'state',
    'media',
    'block',
    'card',
    'teaser',
    'badge',
    'label',
    'sheet',
    'poster',
    'notice',
    'record',
    'entry',
    'item',
    'figure',
    'square',
    'module',
    'bar',
    'button',
    'action',
    'knob'
  ],
  布局: [
    'navigation',
    'wrapper',
    'inner',
    'header',
    'footer',
    'aside',
    'section',
    'divider',
    'content',
    'container',
    'panel',
    'pane',
    'construct',
    'composition',
    'spacing',
    'frame'
  ]
}

二、CSS编码规范

1、书写规范

  1. tab 用两个空格表示
  2. css的 :后加个空格, {前加个空格
  3. 每条声明后都加上分号
  4. 换行,而不是放到一行
  5. 颜色用小写,用缩写, #fff
  6. 小数不用写前缀, 0.5s -> .5s;0不用加单位
  7. 尽量缩写, margin: 5px 10px 5px 10px -> margin: 5px 10px

2、范例——google编码规范

/* Not recommended */
.test {
  display: block;
  height: 100px
}
/* Recommended */
.test {
  display: block;
  height: 100px;
}


/* Not recommended */
h3 {
  font-weight:bold;
}
/* Recommended */
h3 {
  font-weight: bold;
}


/* Not recommended: missing space */
#video{
  margin-top: 1em;
}

/* Not recommended: unnecessary line break */
#video
{
  margin-top: 1em;
}
/* Recommended */
#video {
  margin-top: 1em;
}


/* Not recommended */
a:focus, a:active {
  position: relative; top: 1px;
}
/* Recommended */
h1,
h2,
h3 {
  font-weight: normal;
  line-height: 1.2;
}


/* Always put a blank line (two line breaks) between rules. */
html {
  background: #fff;
}

body {
  margin: auto;
  width: 50%;
}


/* Not recommended */
@import url("//www.google.com/css/maia.css");

html {
  font-family: "open sans", arial, sans-serif;
}
/* Recommended */
@import url(//www.google.com/css/maia.css);

html {
  font-family: 'open sans', arial, sans-serif;
}

三、参考

  • google html css编码规范
Google HTML/CSS Style Guide​google.github.io
  • bootstrap编码规范
编码规范 by @mdo​codeguide.bootcss.com

其中,对新手前端写代码较重要的因素:声明顺序相关的属性声明应当归为一组,并按照下面的顺序排列:

Positioning(定位)
Box model(盒模型)
Typographic(与文字相关,字体大小宽高居中)
Visual(颜色相关)

由于定位(positioning)可以从正常的文档流中移除元素,并且还能覆盖盒模型(box model)相关的样式,因此排在首位。盒模型排在第二位,因为它决定了组件的尺寸和位置。

其他属性只是影响组件的内部(inside)或者是不影响前两组属性,因此排在后面。

  • 命名这货真难(文章强烈建议通看一遍
Naming CSS Stuff Is Really Hard​seesparkbox.com
a39e3fdcee16b593b12caf3395572319.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值