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

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.lryc.cn/news/509025.html

相关文章:

  • 虚幻引擎反射机制
  • Knife4j Swagger
  • Xcode 16 编译弹窗问题、编译通过无法,编译通过打包等问题汇总
  • 卷积神经网络入门指南:从原理到实践
  • eNSP安装教程(内含安装包)
  • VBA技术资料MF244:利用VBA在图表工作表中创建堆积条形图
  • 【计算机网络安全】网络攻击
  • 20241230 基础数学-线性代数-(1)求解特征值(numpy, scipy)
  • 基于图注意力网络的两阶段图匹配点云配准方法
  • 【半导体光电子器件】课后习题答案和知识点汇总
  • Unity命令行传递自定义参数 命令行打包
  • web-worker应用在大文件切片上传
  • Django 模板分割及多语言支持案例【需求文档】-->【实现方案】
  • C中设计不允许继承的类的实现方法是什么?
  • 面对小白的C语言学习方法
  • 使用libgif库解码全过程(C语言)-包括扩展块的处理
  • blazor实现ASP.NET网站用户批量注册方法
  • SpringCloud 入门(4)—— 网关
  • 什么是WebAssembly?怎么使用?
  • v3s点RGB屏 40pin 800x480,不一样的点屏,不通过chosen。
  • 某科技局国产服务器PVE虚拟化技术文档
  • 中科岩创边坡自动化监测解决方案
  • GPT-O3:简单介绍
  • cudnn版本gpu架构
  • 数据库安全-redisCouchdb
  • ubuntu22.04安装PaddleX3
  • Flutter 实现全局悬浮按钮学习
  • 14-C语言多文件编程
  • 基于Springboot的在线问卷调查系统【附源码】
  • Redis热点数据管理全解析:从MySQL同步到高效缓存的完整解决方案