首页 > 其他分享 >web前端编码规范/编码习惯❤️

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

时间:2022-11-07 17:33:11浏览次数:50  
标签:编码 web 前端 使用 命名 简写 取值 CSS 属性


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

  • ​​一、CSS文件命名规范​​
  • ​​二、页面结构命名​​
  • ​​三、导航命名​​
  • ​​四、功能命名​​
  • ​​五、CSS书写规范-性能优化方案​​
  • ​​六、HTML书写规范​​
  • ​​七、CSS语法​​
  • ​​八、CSS声明顺序​​
  • ​​九、媒体查询位置​​
  • ​​十、前缀属性​​
  • ​​十一、属性简写​​
  • ​​十二、LESS 和 SASS 中的运算符​​
  • ​​十三、Class 命名​​

一、CSS文件命名规范

全局样式

布局、版面

字体样式

按钮样式

主要的

专栏

主题

模块

基本共用

global.css

layout.css

font.css

button.css

master.css

columns.css

themes.css

module.css

base.css

二、页面结构命名

内容/容器

页头

页面主体

模块头

页尾

栏目

模块

左右中

模块主题内容容器

页面外围控制整体布局宽度

content/container

header

main

hd

footer

column

mod

left right center

md

wrapper

三、导航命名

导航

主导航

子导航

顶导航

边导航

左导航

右导航

菜单

子菜单

摘要

nav

main nav

sub nav

top nav

sidebar

left side bar

right side bar

menu

submenu

summary

四、功能命名

标志

广告

登陆

登录条

注册

搜索

功能区

栏目标题

加入

状态

logo

banner

login

login-bar

register

search

shop

title

join-us

status

按钮

滚动

标签页

文章列表

提示信息

当前的

小技巧

图标

注释

指南

btn

scroll

tab

list

msg

current

tips

icon

note

guild

服务

热点

新闻

下载

投票

合作伙伴

友情链接

版权

活动元素

未活动元素

service

hot

news

download

vote

partner

friend-link

copyright

active

normal

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

五、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​​。


标签:编码,web,前端,使用,命名,简写,取值,CSS,属性
From: https://blog.51cto.com/u_15867142/5830151

相关文章

  • 【前端开发】如何将vue组件转成自定义指令使用,(在自定义指令中使用element ui组件或常
    //导入组件importVuefrom'vue'importXxTipsfrom'packages/basic/xx-tips/src/XxTips.vue'//自定义指令Vue.directive('tip',{bind(el,binding){el.......
  • Webpack中的高级特性
    自从webpack4以后,官方帮我们集成了很多特性,比如在生产模式下代码压缩自动开启等,这篇文章我们一起来探讨一下webpack给我们提供的高级特性助力开发。探索webpack的高级特性......
  • VS Code快捷键及前端常用插件
    VSCode快捷键放大缩小视图:ctrl++和ctrl+-向上复制一行:alt+shift+↑向下复制一行:alt+shift+↓当光标点击到某一行是,默认选中全行,可以直接复制剪切VSCo......
  • 前端vue2项目引入第三方js文件或者远程js文件并执行相应方法
    啥也不多说,直接上结论新建一个目录和文件例如:./tools/load.js //引入远程js,加载完成后执行相应方法functionloadJs(src){returnnewPromise((resolve,reject)=......
  • 使用Web Component自定义组件
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="widt......
  • web1.0 web2.0 web3.0
    一 Web1.0的主要特点在于用户通过浏览器获取信息,例如:京东163新闻模块二Web2.0则更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是......
  • Web前端技术简介
    Web前端就是1美工photoshop、css2界面友好(比如京东=,你购物以后的关联产品是放在左边还是右边呢?)3强大的脚本功能支持(QQ空间,上传照片,重新部署......
  • 什么是webos
    基于浏览器的页面操作系统,操作系统都是运行在服务器上,比如web.qq.com就是典型的webos,优点:你在任何一台电脑上打开你的webos都是一样的,就像登录远......
  • 解决中文拼接在url后的乱码问题--gbk 在url上的编码
    主要是URLEncoder.encode(temp,"UTF-8");URLDecoder.decode(temp,"UTF-8");publicstaticvoidmain(String[]args)throwsUnsupportedEncodin......
  • WebRTC-web实时通讯(转)
    WebRTC(WebReal-Time-Communication)不需要插件便能支持音频和视频通信。主页:http://www.webrtc.org胖客户端,其实瘦客户端尽管有很多的优点,但......