当前位置: 首页 > article >正文

css 编写注意-1-命名约定

编写按照可维护性、性能和可读性规则:

1.代码组织与结构​​​​​​​

  • 层次清晰:使用模块化的结构,将样式分块组织。
  • 命名规范:采用统一的命名规则(如 BEM、SMACSS)以增强可读性。​​​​​​​
    /* BEM 命名示例 */
    .block {}         /* 块 */
    .block__element {} /* 块的元素 */
    .block--modifier {} /* 块的修饰符 */
    
  • ​​​​​​​注释清晰:对复杂的样式块添加注释,方便团队协作。
    ​​​​​​​
    /* Header 样式 */
    .header {
        background-color: #f8f9fa;
    }
    

​​​​​​​​​​​​​​2.命名约定

  1. BEM 命名法(Block-Element-Modifier)​​​​​​
    • Block:表示组件的名称。
    • Element:表示组件内部的子部分。
    • Modifier:表示组件或子部分的不同状态或变体。
      .menu {}               /* Block */
      .menu__item {}         /* Element */
      .menu__item--active {} /* Modifier */
      
  2. SMACSS 命名法
    • ​​​​​​​​​​​​​​Base:基础样式(HTML 元素的默认样式)
      h1, p {
          margin: 0;
          padding: 0;
      }
      
    • Layout:页面布局相关的样式

      .header {}
      .footer {}
      
    • Module:页面的功能模块

      .card {}
      .button {}
      
    • State:描述模块的状态

      .is-active {}
      .is-hidden {}
      
    • Theme:主题样式。

      .theme-dark {}
      .theme-light {}
      
  3. 常见组件命名

    • ​​​​​​​布局相关

      • .container:容器。
      • .row:行。
      • .col:列。
      • .grid:网格布局。
      • .header:头部。
      • .footer:底部。
      • .sidebar:侧边栏。
      • .main:主要内容区域。
    • 导航相关
      • .nav:导航栏。
      • .nav__item:导航项。
      • .nav__link:导航链接。
      • .breadcrumb:面包屑导航。
    • 按钮相关
      • .btn:按钮。
      • .btn-primary:主要按钮。
      • .btn-secondary:次要按钮。
      • .btn--disabled:禁用状态按钮。
    • 表单相关
      • .form:表单。
      • .form__group:表单组。
      • .form__label:表单标签。
      • .form__input:表单输入框。
      • .form__error:表单错误提示。
    • 通用状态
      • .is-active:活动状态。
      • .is-disabled:禁用状态。
      • .is-hidden:隐藏状态。
      • .has-error:错误状态。
      • .no-js:无 JavaScript 支持时的样式。

http://www.kler.cn/a/450814.html

相关文章:

  • 详解磁盘IO、网络IO、零拷贝IO、BIO、NIO、AIO、IO多路复用(select、poll、epoll)
  • 帧缓存的分配
  • 【NLP 17、NLP的基础——分词】
  • 使用TC命令模拟弱网丢包
  • linux-19 根文件系统(一)
  • 修炼内功之函数栈帧的创建与销毁
  • selenium执行js
  • 2024年12月CCF-GESP编程能力等级认证Python编程四级真题解析
  • sqoop抽数报错Every derived table must have its own alias
  • 最长正则括号序列算法详解
  • ElementUI 的 form 表单校验
  • 深度学习——神经网络中前向传播、反向传播与梯度计算原理
  • 计算机网络B重修班-期末复习
  • 《探索PyTorch计算机视觉:原理、应用与实践》
  • 【数据可视化案列】白葡萄酒质量数据的EDA可视化分析
  • uniapp实现获取用户定位信息、手机号信息、蓝牙、设备、相册、相机、声音等,请你完善展示所有信息
  • 用VBA将word文档处理成支持弹出式注释的epub文档可用的html内容
  • Docker Compose 安装 Harbor
  • vue3标签中的ref属性如何使用$refs获取元素
  • postman关联接口用于登录(验证码会变情况)
  • QT:QLabel的LED透明跑马灯
  • 《信管通低代码信息管理系统开发平台》Linux环境安装说明
  • es 3期 第18节-分页查询使用避坑的一些事
  • UML 建模实验
  • 全国硕士研究生入学考试(考研)择校择专业之择校主要因素
  • 【开源】一款基于Vue3 + WebRTC + Node + SRS + FFmpeg搭建的直播间项目