zoukankan      html  css  js  c++  java
  • class命名

    常见class关键词:

    • 布局类:header, footer, container, main, content, aside, page, section
    • 包裹类:wrap, inner
    • 区块类:region, block, box
    • 结构类:hd, bd, ft, top, bottom, left, right, middle, col, row, grid, span
    • 列表类:list, item, field
    • 主次类:primary, secondary, sub, minor
    • 大小类:s, m, l, xl, large, small
    • 状态类:active, current, checked, hover, fail, success, warn, error, on, off
    • 导航类:nav, prev, next, breadcrumb, forward, back, indicator, paging, first, last(
    1. 导航:nav
    2. 主导航:mainbav
    3. 子导航:subnav
    4. 顶导航:topnav
    5. 边导航:sidebar
    6. 左导航:leftsidebar
    7.  右导航:rightsidebar
    8. 菜单:menu
    9. 子菜单:submenu
    10. 标题: title
    11.  摘要: summary)
    • 交互类:tips, alert, modal, pop, panel, tabs, accordion, slide, scroll, overlay,
    • 星级类:rate, star
    • 分割类:group, seperate, divider
    • 等分类:full, half, third, quarter
    • 表格类:table, tr, td, cell, row
    • 图片类:img, thumbnail, original, album, gallery
    • 语言类:cn, en
    • 论坛类:forum, bbs, topic, post
    • 方向类:up, down, left, right
    • 功能
    1. - 标志:logo
    2. - 广告:banner
    3. - 登陆:login
    4. - 登录条:loginbar
    5. - 注册:regsiter
    6. - 搜索:search
    7. - 功能区:shop
    8. - 标题:title
    9. - 加入:joinus
    10. - 状态:status
    11. - 按钮:btn
    12. - 滚动:scroll
    13. - 标签页:tab
    14. - 文章列表:list
    15. - 提示信息:msg
    16. - 当前的: current
    17. - 小技巧:tips
    18. - 图标: icon
    19. - 注释:note
    20. - 指南:guild
    21. - 服务:service
    22. - 热点:hot
    23. - 新闻:news
    24. - 下载:download
    25. - 投票:vote
    26. - 合作伙伴:partner
    27. - 友情链接:link
    28. - 版权:copyright
    • 其他语义类:btn, close, ok, cancel, switch; link, title, info, intro, more, icon; form, label, search, contact, phone, date, email, user; view, loading...
    • 例如texttxtdeletedel这里单个单词组合命名,词组单词的组合建议不使用缩写或简写

    单词

    缩写

    说明

    bottom

     btm

    底部

    button

    btn

    按钮

    background

    bg

    背景

    content

    cont

    内容

    check

    chk

    选择框

    current

    curr

    当前的

    delete

    del

    删除

    text

    txt

    文本

    disabled

    dis

    禁用

    foot

    ft

    底部

    head

    hd

    头部

    hidden

    hide

    隐藏

    input

    inp

    input框

    image

    img

    图片

    index

    idx

    索引

    message

    msg

    消息

    password

    pwd

    密码

    previous

    prev

    前面的、上一面

    radio

    rad

    单选

    register

    reg

    注册

    select

    sel

    选择

    tbody

    tbd

    表格主体

    thead

    thd

    表格头部

    tfoot

    tft

    表格底部

    wrap

    wp

    包装,外层

    Block)的命名规范

    1. 名称是唯一的
    2. 的名称块的功能一致
    3. :菜单应该命名为menu
    4.  块只能用Class选择器,用ID选择器因为同一个块能出现页面的多个地方
    5. 内部是可以在包含多个子块的
    6. 名称用小写命名

    类型

    块名

    类型

    块名

    顶部

    topbar

    登录

    login

    快速导航

    quickmenu

    菜单

    menu

    导航

    nav

    搜索框

    searchbox

    关键字

    keywords

    左边栏

    leftside

    右边栏

    rightside

    内容

    content

    左、右菜单

    left/rightmenu

    服务链接

    servicelink

    服务

    service

    底栏

    footerbar

    版权

    copyright

    注册

    register

    新闻

    new

    新闻列表

    news

    列表项

    item

    列表集合

    lists

    元素Element)的命名规范

    1. 元素的命名使用块+元素名的组合方式,之间划线(-)隔开
    2. :块名-元素
    3. 元素的命名能用于Class选择
    4. :菜单元素命名为menu-item
    5. 使用小写命名

    类型

    元素名

    类型

    元素名

    元素项

    -item

    元素头部

    -hd

    元素标题

    -title

    元素内容

    -cont

    元素底部

    -btm

    元素顶部

    -top

    元素中部

    -middle

    元素右则

    -right

    元素左则

    -left

    制定简单规则:

    • 以中划线连接,如.item-img
    • 使用两个中划线表示特殊化,如.item-img.item-img--small表示在.item-img的基础上特殊化
    • 状态类直接使用单词,参考上面的关键词,如.active, .checked
    • 图标以icon-为前缀(字体图标采用.icon-font.i-name方式命名)。
    • 模块采用关键词命名,如.slide, .modal, .tips, .tabs,特殊化采用上面两个中划线表示,如.imgslide--full, .modal--pay, .tips--up, .tabs--simple
    • js操作的类统一加上js-前缀
    • 不要超过四个class组合使用,如.a.b.c.d                                                  

    修饰关键词

    • 以header为例,我们可以添加前缀表示不同的header,如区块头部.block-hd(hd为header简写),modal头部.modal-hd,文章头部.article-hd
    • 同样标题也可以分为,页面标题.page-tt(title的简写),区块标题.block-tt
    • 样式修饰符块或元素命名加上样式修饰符,用中划线(-)隔开

      例:块或元素-样式修饰符

    •  样式修饰符命名只能用于Class选择器

    •  使用小写命名  

      :某个按钮宽度加宽,该按钮样式修饰long,全名就为:ui-btn-long

       

      类型

      修饰符名

      类型

      修饰符名

      无上边框

      nobt

      无右边框

      nobr

      无下边框

      nobb

      无左边框

      nobl

      无上(内)边框

      nopt

      无右(内)边框

      nopr

      无下(内)边框

      nopb

      无左(内)边框

      nopl

      无上(内)外框

      nomt

      无右(内)外框

      nomr

      无下(内)外框

      nomb

      无左(内)外框

      noml

      (内)上边框

      pt-10(像素)

      (内)右边框

      pr-10(像素)

      (内)下边框

      pb-10(像素)

      (内)左边框

      pb-10(像素)

      (外)上边框

      mt-10(像素)

      (外)右边框

      mr-10(像素)

      (外)下边框

      mb-10(像素)

      (外)左边框

      mb-10(像素)

      字体颜色

      fc-red(颜色)

      字体类型

      fm-arial(类型)

      字体大小

      fs-12(大小)

      背景颜色

      bg-red(颜色)

      字体加粗

      fw-bold

      正常字体

      fw-normal

      文字下划线

      txt-underline

      文字中划线

      txt-through

      文字居左

      txt-l

      文字居右

      txt-r

      文字垂直居上

      txt-t

      文字垂直居下

      txt-b

      文字居中

      txt-c

      文字垂直居中

      txt-m

      绝对定位

      pos-abs

      相对定位

      pos-rel

      宽度

      w-10(像素)

      高度

      h-10(像素)

      行高

      lh-12(像素)

      文本缩进

      txt-in

      边框宽度

      bw-2(像素)

      上边框宽度

      btw-2(像素)

      下边框宽度

      bbw-2(像素)

      左边框宽度

      blw-2(像素)

      右边框宽度

      brw-2(像素)

       

       

      减短

      -short

      加长

      -long

      变大

      -big

      缩小

      -small

      向上

      -up

      向下

      -down

      向左

      -left

      向右

      -right

      向前,上一个

      -prev

      向后,下一个

      -next

      低级

      level-low

      中级

      level-middle

      高级

      level-high

       

       

       

    为修饰符

    • 元素名加上行为修饰符,之间用中划线(-)隔开
    • 或元素名-为修饰符
    • 为修饰符命名能用Class选择器
    • 使用小写命名

    :修饰按钮在鼠标过的事件,鼠标经过行为修饰符用-hover,所以全名为:ui-btn-hover

    类型

    修饰符名

    类型

    修饰符名

    鼠标经过

    -hover

    获取焦点

    -focus

    失去焦点

    -blur

    鼠标按下

    -mousedown

    键盘按下

    -keydown

    鼠标拖动

    -drag

    不可用、禁用、只读

    -disabled

    可用、启用

    -enabled

    选中(下拉框)

    -selected

    选中(选择框)

    -checked

    成功

    -success

    失败

    -fail

    错误

    -err

    警告

    -warning

    当前状态

    -current

    显示

    -show

    隐藏

    -hide

    添加

    -add

    删除

    -del

    编辑

    -edit

    阅读、视图

    -view

    返回

    -back

    通过

    -pass

     

     

    特殊化class

    以上面的tt为例,大概有三种办法:

    • 第一种办法: 追加class特殊化,根据我们上面定义的规则,在.page-tt上追加一个class成为.page-tt.page-tt--user,注意.page-tt--user不是一个独立的class,它使基于.page-tt这个基础上的。
    • 第二种办法: 使用父类,给一个范围,于是形成.page-user .page-tt

    一般我们使用的是第二种和第三种办法,因为这两种都有共同的.page-tt,可以比较方便控制一些基础共有的样式。

    由第三个通过父类控制的办法,我们进入第三个要讨论的问题,层级结构

    层级

    最适合层级的例子莫过于ul>li结构了,如下面的结构:

    <ul>
        <li>
            <a href="#"><img src="" alt=""></a>
            <h3><a href="#"></a></h3>
            <p></p>
        </li>
    </ul>

    一般来说我们也有两种办法定义层级,第一种为继承式,第二种为关键词式。

    // 继承式
    ul.card-list
        li.list-item
            a.item-img-link>img.item-img
            h3.item-tt>a.item-tt-link
            p.item-text
    
    // 关键词式
    ul.card-list
        li.item
            a.field-img-link>img.field-img
            h3.field-tt>a.field-tt-link
            p.field-text

    由上可以看出继承式一般子元素接着父元素的最后一个单词如li接着ul的list,而li的子元素接着li的item;至于关键词式则完全由关键词来表示层级,list>item>filed正好构成三层等级。

    图片格式

    •  前景透明:.png.gif
    •  非透明背景.jpg
    •  动画图片:.gif

    图规范

    •  基础组件(ui-stepui-tabui-dropdown图片拼成一张,命名为ui-icon

        注:组件与组件应该有明显分割间距,每个组件需要留出足够的空间,方便后期维护

    •  所有按钮图标拼成一张图,命名为icon-btn
    •  所除基础组件和按钮以共图标拼成一张图命名为:icon
    •  所拼图文件大小建议控制在500KB,以提高图片的下载速度

    文件命名

    •  文件夹驼峰命名规则字母小写
    • 文件名:驼峰命名规则,首字母小写
    •  页面文件:驼峰命名规则,首字母小写
    • 背景图片:bg-name
    •  图标图片ui-icon基础或控件图标)、icon公共图标)icon-name(其主题图标、s-name(拼图图片
    • Logologo-

    Sass

    命名规范

    •  变量采用所有字母小,多个单词以中划线“-”隔开
    •  变量的定义后面尽量加上中文注释
    •  特殊模块的局部变量要加上前缀,防止与全局变量冲突
    •  可共用的样式必须提炼_mixin.scss文件
    1.  %:占位符,用于处理没有参数的Sass片段,利用其不引用不解析的特点
    2.  mixin编,Sass代码段,可以传递参数
    •  scss文件命名都统一以划线”_”开头,main.scss除外(因类koala能监测以_头的文件)
    •  plugin文件夹下,所有的插件scss文件名为:下划线”_”+插件名
    •  Sass嵌套层级好不要超过三级
    •  CssClass命名遵守BEM原则.
    •  Compass实现拼图的功能求:
    1.  需要合并一张图片应该放在同一个文件夹中
    2.  图片名称不能包含数字汉字等信息否则编译不能通过

    用文件说明

    •  public文件
    1.  _base.scss引入的基础样式,及全局样式
    2.  _variables:全局变量定义集合
    3.  _function.scss函数定义集合,只存储与计算关的
    4.  _mixin.scss:编定义集合,存储%@mixin义的相关内容
    •  plugin文件
    1. 存储插件scss文件

    Javascript

    写规范

    • 变量和函数名用驼命名规范,首写字母小写
    •  常量全部使用大写,并以_”连接单词
    •  尽量使用动词+的命名方式,如:”getList”、”setStyle”等
    •  JQuery变量必须添加$前缀
    •  关键一格
    •  等号两边空一格
    •  一行语句结束必须添加;
    • 长时,可以另一行,前面的方法对齐不是对象对齐
    •  声明变量或常量使用Var关键字,防止变量或常量全局污染
    •  字符串用单号包裹,如:var myVarName = ‘Sam’
    • 实现鼠标经过效果,尽量采用Css的伪类:hover实现。

    在页面引用的位置

    有的JS外部文件引用应该放到Body标签结束位置之间,防止页面载入时阻塞

    避免在页面中嵌入Javascript代码

    避免的写

     

    <button type="button" onclick="fnClick"></button>

     

    推荐的写法

    <button type="button" class="ui-btn" ></button> 
    
    //引用的外部是JS文件
    $('.ui-btn').unbind().bind('click',function(){
        
    }) 

    减少全局变量

    尽量减少全局作用域的变量定义,变量应该包裹在他的业务作用域内。于必须使用的全局变量变量名应该以”g_”为前缀。

    HTML嵌套规范表

    版本浏览器Hack

    .all-IE{property: value9;}
    .IE-9{property: value/;}
    .gte-IE-8{property: value/;}
    .lte-IE-8{*property:value;}
    .IE-7{+property:value;}
    .IE-6{_property:value;}
    /** Firefox浏览器 **/
    @-moz-document url-prefix()  {
        .firefox{property:value;}
     }
    /** Opera浏览器 **/
    @media all and (-webkit-min-device-pixel-ratio: 0) {
        .webkit{property:value;}
    }
    @media all and (-webkit-min-device-pixel-ratio: 10000), not all and (-webkit-min-device-pixel-ratio: 0) {
        .opera{property:value;}
    }
    /** Webkit内核浏览器(Safari、Chrome) **/
    @media screen and (max-device- 480px) {
        .iphone-webkit{property:value;
    }

    前端工程师基本套路

    样式优化级

    无论是作者样式、用户样式、浏览器样式都可以通过!important来提高的重要性。

    名称

    规范

    说明

    标记

    a

    style=””

    行内样式

    a=1000

    b

    b=id

    选择器样式

    b=100

    c

    c=类、伪类、属性

     

    c=10

    d

    d=类型

     

    d=1

    示例说明:

    选择器

    特殊性

    10基特殊性

    Style=””

    1,0,0,0

    1000

    #wrapper #content{}

    0,2,0,0

    200

    #content .datePosted{}

    0,1,1,0

    110

    div#content{}

    0,1,0,1

    101

    #cotent{}

    0,1,0,0

    100

    p .comment .datePosted{}

    0,0,2,1

    21

    p.comment{}

    0,0,1,1

    11

    div p{}

    0,0,0,2

    2

    p{}

    0,0,0,1

    1

     

     

  • 相关阅读:
    文件上传Web小案例
    加密方法(MD5加密)
    解决中文乱码(不可能解决不了)
    jquery的一些常见使用方法
    Ajax的作用
    日期时间格式的转换
    前端点击复制内容
    uniapp 移动端防止点击事件穿透
    getCurrentPages 获取当前网页完整的URL
    关闭微信浏览器网页
  • 原文地址:https://www.cnblogs.com/zsy0712/p/6225947.html
Copyright © 2011-2022 走看看