web前端编码规范/编码习惯❤️

本文详细阐述了前端开发中的CSS、HTML、命名规则、性能优化策略,包括文件命名、结构、导航、功能命名等,并介绍了LESS/SASS运算符、Class命名的最佳实践。遵循这些规范有助于提升代码质量与团队协作效率。
摘要由CSDN通过智能技术生成

一、CSS文件命名规范

全局样式布局、版面字体样式按钮样式主要的专栏主题模块基本共用
global.csslayout.cssfont.cssbutton.cssmaster.csscolumns.cssthemes.cssmodule.cssbase.css

二、页面结构命名

内容/容器页头页面主体模块头页尾栏目模块左右中模块主题内容容器页面外围控制整体布局宽度
content/containerheadermainhdfootercolumnmodleft right centermdwrapper

三、导航命名

导航主导航子导航顶导航边导航左导航右导航菜单子菜单摘要
navmain navsub navtop navsidebarleft side barright side barmenusubmenusummary

四、功能命名

标志广告登陆登录条注册搜索功能区栏目标题加入状态
logobannerloginlogin-barregistersearchshoptitlejoin-usstatus
按钮滚动标签页文章列表提示信息当前的小技巧图标注释指南
btnscrolltablistmsgcurrenttipsiconnoteguild
服务热点新闻下载投票合作伙伴友情链接版权活动元素未活动元素
servicehotnewsdownloadvotepartnerfriend-linkcopyrightactivenormal

(个人有个人的书写规范,不做强制要求)

五、CSS书写规范-性能优化方案

1、禁止class id重名
2、书写顺序:布局定位属性–>自身属性–>文本属性–>其他属性

.box{
    /* 布局定位类 */
    float:left;
    /* 自身属性 */
    width:100px;
    height:100px;
    /* 文本类 */
    text-align:left;
    /* 其他属性 */
    background:red;
}

六、HTML书写规范

在属性上,使用双引号,不要使用单引号。
HTML 属性应该按照特定的顺序出现以保证易读性。
1. class
2. id, name
3. data-*
4. src, for, type, href, value
5. title, alt
6. role, aria-*
Classes 是为高可复用组件设计的,所以他们处在第一位。Ids 更加具体而且应该尽量少使用(例如, 页内书签),所以他们处在第二位。
Boolean 属性指不需要声明取值的属性。XHTML 需要每个属性声明取值,但是 HTML5 并不需要。简而言之,不要为 Boolean 属性添加取值。
JavaScript文件中生成标签让内容变得更难查找,更难编辑,性能更差。应该尽量避免这种情况的出现。

七、CSS语法

  1. 使用组合选择器时,保持每个独立的选择器占用一行。
  2. 为了代码的易读性,在每个声明的左括号前增加一个空格。
  3. 声明块的右括号应该另起一行。
  4. 每条声明应该只占用一行来保证错误报告更加准确。
  5. 所有声明应该以分号结尾。虽然最后一条声明后的分号是可选的,但是如果没有他,你的代码会更容易出错。
  6. 逗号分隔的取值,都应该在逗号之后增加一个空格。
  7. 不要在颜色值 rgb(), rgba(), hsl(), hsla(), 和 rect() 中增加空格
  8. 不要在属性取值或者颜色参数前面添加不必要的 0 (比如,使用.5替代 0.5-.5px 替代 0.5px)。
  9. 所有的十六进制值都应该使用小写字母,例如 #fff。因为小写字母有更多样的外形,在浏览文档时,他们能够更轻松的被区分开来。
  10. 尽可能使用短的十六进制数值,例如使用 #fff 替代 #ffffff
  11. 为选择器中得属性取值添加引号,例如 input[type="text"]。 他们只在某些情况下可有可无,所以都使用引号可以增加一致性。
  12. 不要为0指明单位,比如使用 margin: 0; 而不是 margin: 0px;

八、CSS声明顺序

相关的属性声明应该以下面的顺序分组处理:

  1. Positioning
  2. Box model 盒模型
  3. Typographic 排版
  4. Visual 外观

Positioning 处在第一位,因为他可以使一个元素脱离正常文本流,并且覆盖盒模型相关的样式。盒模型紧跟其后,因为他决定了一个组件的大小和位置。其他属性只在组件 内部 起作用或者不会对前面两种情况的结果产生影响,所以他们排在后面。
例如:

.declaration-order {
  /* Positioning */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;

  /* Box-model */
  display: block;
  float: right;
  width: 100px;
  height: 100px;

  /* Typography */
  font: normal 13px "Helvetica Neue", sans-serif;
  line-height: 1.5;
  color: #333;
  text-align: center;

  /* Visual */
  background-color: #f5f5f5;
  border: 1px solid #e5e5e5;
  border-radius: 3px;

  /* Misc */
  opacity: 1;
}

九、媒体查询位置

尽量将媒体查询的位置靠近他们相关的规则。不要将他们一起放到一个独立的样式文件中,或者丢在文档的最底部。这样做只会让大家以后更容易忘记他们。

十、前缀属性

当使用厂商前缀属性时,通过缩进使取值垂直对齐以便多行编辑。
例如:

/* Prefixed properties */
.selector {
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);
          box-shadow: 0 1px 2px rgba(0,0,0,.15);
}

十一、属性简写

坚持限制属性取值简写的使用,属性简写需要你必须显式设置所有取值。常见的属性简写滥用包括:

  1. padding
  2. margin
  3. font
  4. background
  5. border
  6. border-radius

大多数情况下,我们并不需要设置属性简写中包含的所有值。例如,HTML 头部只设置上下的 margin,所以如果需要,只设置这两个值。过度使用属性简写往往会导致更混乱的代码,其中包含不必要的重写和意想不到的副作用。

十二、LESS 和 SASS 中的运算符

为了提高代码可读性,在数学运算外增加括号,并且在取值,变量和运算符之间增加空格。
例如:

// Bad example
.element {
  margin: 10px 0 @variable*2 10px;
}

// Good example
.element {
  margin: 10px 0 (@variable * 2) 10px;
}

十三、Class 命名

  1. 保持 Class 命名为全小写,可以使用短划线(不要使用下划线和 camelCase 命名)。短划线应该作为相关类的自然间断。(例如,.btn .btn-danger)。
  2. 避免过度使用简写。.btn 可以很好地描述 button,但是 .s 不能代表任何元素。
  3. Class 的命名应该尽量短,也要尽量明确。
  4. 使用有意义的名称;使用结构化或者作用目标相关,而不是抽象的名称。
  5. 命名时使用最近的父节点或者父 class 作为前缀。
  6. 使用.js-* classes来表示行为(相对于样式),但是不要在CSS中定义这些 classes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值