html、css类名命名思路整理

开发页面时,老是遇到起名问题,越想越头疼,严重影响开发进度,都是在想名字,现在做一下梳理,统一一下思想,希望以后能减少这块的痛苦。

命名规则

[功能名称]__[组成部分名称]--[样式名称]

思路

  1. 拆分模块,将一个大的模块拆分成小的模块,小模块命名以模块特性命名,小模块命名先不急,主要是确定主模块的框架;
  2. 写布局,剔除掉小模块后剩下的部分,这部分是主体布局,以一下方向性、布局性的单词来命名,如
    main-info模块里面上中下,main-info-item__header 顶部、main-info-item__body 主体、 main-info-item__footer 底部、main-info-item 公共样式使用
    main-info-item__header 内部布局,header-item__left 左侧、header-item__right 右侧
  3. 完善布局样式,填充拆分的小模块,小模块以模块特性命名,与其他部分无关
    总结:有些样式是用来布局的,有些样式是用来划分模块的,区分开这两块后,我在命名时阻碍小了很多,再有思路在完善。

相关代码

设计图展示
在这里插入图片描述
第一步:分模块
在这里插入图片描述
第二步:写布局
在这里插入图片描述

    <div class="main-info">
      <div class="main-info-item main-info-item__header">
        <div class="header-item__left">
          <!-- logo 项 -->
        </div>
        <div class="header-item__right">

          <div class="header-title">
          <!-- 标题项 -->
          </div>

          <div class="header-content">
           <!-- 标签组项 -->
          </div>
        </div>
      </div>
      <div class="main-info-item main-info-item__body">
        <div class="info-item">
           <!-- 展示信息项 -->
        </div>
        <div class="info-item"></div>
        <div class="info-item"></div>
      </div>
      <div class="main-info-item main-info-item__footer">
        <div class="phone-section">
          <!-- 电话信息项 -->
        </div>
        <div class="concat-section">
          <!-- 联系信息项 -->
        </div>
      </div>
    </div>

第三步:完善布局样式,填充拆分的小模块
在这里插入图片描述

    <div class="main-info">
      <div class="main-info-item main-info-item__header">
        <div class="header-item__left">
          <!-- logo 项 -->
          <div class="header-logo"></div>
        </div>
        <div class="header-item__right">
          <!-- 标题项 -->
          <div class="header-title">企业名称</div>
          <!-- 标签组项 -->
          <div class="header-content">
            <span class="header-tag">一级品质</span
            ><span class="header-tag">二级品质</span
            ><span class="header-tag">三级品质</span
            ><span class="header-tag">四级品质</span
            ><span class="header-tag">五级品质</span
            ><span class="header-tag">六级品质</span
            ><span class="header-tag">七级品质</span>
          </div>
        </div>
      </div>
      <div class="main-info-item main-info-item__body">
        <!-- 展示信息项 -->
        <div class="info-item">
          <div class="info-item__label">总体收入</div>
          <div class="info-item__content">123,123,234,123.00</div>
        </div>
        <div class="info-item">
          <div class="info-item__label">总体收入</div>
          <div class="info-item__content">123,123,234,123.00</div>
        </div>
        <div class="info-item">
          <div class="info-item__label">总体收入</div>
          <div class="info-item__content">123,123,234,123.00</div>
        </div>
      </div>
      <div class="main-info-item main-info-item__footer">
        <div class="phone-section">
          <div class="phone-section-item phone-section-item__icon">~</div>
          <div class="phone-section-item phone-section-item__number">
            010-123123
          </div>
          <div class="phone-section-item phone-section-item__total">电话10</div>
        </div>
        <div class="concat-section">
          <div class="concat-section-item active">
            <div class="concat-section-item__icon">#</div>
            <div class="concat-section-item__label">主页</div>
          </div>
          <div class="concat-section-item">
            <div class="concat-section-item__icon">@</div>
            <div class="concat-section-item__label">邮箱</div>
          </div>
          <div class="concat-section-item">
            <div class="concat-section-item__icon">&</div>
            <div class="concat-section-item__label">地址</div>
          </div>
        </div>
      </div>
    </div>
<style>
  /* 主模块 */
  .main-info {
    padding: 8px;
    width: 400px;
    height: 300px;
    border: 1px solid #333;
    background-color: lightblue;
    font-size: 12px;

    /* 子模块公共样式 */
    .main-info-item {
      padding: 8px;
      margin-bottom: 8px;
      border: 1px solid #aaa;
      background-color: antiquewhite;
    }

    /* 头部模块 */
    .main-info-item__header {
      display: flex;
      flex-direction: row;

      /* 头部 左侧 */
      .header-item__left {
        flex: 0 0 50px;
        border: 1px solid lightcoral;

        /* logo */
        .header-logo {
          width: 50px;
          height: 50px;
          background-color: rgb(183, 17, 17);
        }
      }

      /* 头部 右侧 */
      .header-item__right {
        padding-left: 8px;
        flex: 1;

        /* 独立模块 标题 */
        .header-title {
          font-size: 16px;
          font-weight: 500;
          margin-bottom: 8px;
        }

        /* 独立模块 内容 */
        .header-content {
          display: flex;
          flex-wrap: wrap;

          /* 独立模块 标签 */
          .header-tag {
            background-color: rgb(48, 158, 158);
            padding: 2px 4px;
            margin-right: 4px;
            margin-bottom: 4px;
            color: #fff;
            border-radius: 4px;
          }
        }
      }
    }

    /* 主体模块 */
    .main-info-item__body {
      display: flex;
      justify-content: space-between;
      align-items: center;

      /* 重复小模块 */
      .info-item {
        flex: 0 0 26%;
        text-align: center;

        /* 重复小模块 文案*/
        .info-item__lable {
          font-weight: 500;
          margin-bottom: 2px;
        }

        /* 重复小模块 内容 */
        .info-item__content {
          color: #9b9b9b;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }
      }
    }

    /* 底部模块 */
    .main-info-item__footer {
      display: flex;
      justify-content: space-between;
      align-items: center;

      /* 电话信息模块 */
      .phone-section {
        display: flex;

        /* 公共样式 */
        .phone-section-item {
          font-weight: 500;
          margin-right: 4px;
        }

        /* 独立模块 */
        .phone-section-item__icon {
          color: cornflowerblue;
        }

        /* 独立模块 */
        .phone-section-item__number {
          color: cornflowerblue;
        }

        /* 独立模块 */
        .phone-section-item__total {
          color: indianred;
        }
      }
      /* 联系信息模块 */
      .concat-section {
        display: flex;

        /* 公共样式 */
        .concat-section-item {
          display: flex;
          align-items: center;
          padding: 4px 8px;
          background: #eee;
          color: #888;
          border-radius: 4px;
          margin-left: 4px;

          /* 小模块选中状态 */
          &.active {
            color: blue;
          }

          /* 小模块的图标 */
          .concat-section-item__icon {
            margin-right: 4px;
          }

          /* 小模块的文案 */
          .concat-section-item__label {
          }
        }
      }
    }
  }
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/228731.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Security 6.x 系列(10)—— SecurityConfigurer 配置器及其分支实现源码分析(二)

一、前言 在本系列文章&#xff1a; Spring Security 6.x 系列&#xff08;4&#xff09;—— 基于过滤器链的源码分析&#xff08;一&#xff09; 中着重分析了Spring Security在Spring Boot自动配置、 DefaultSecurityFilterChain和FilterChainProxy 的构造过程。 Spring …

神经内科临床常用的焦虑、抑郁评估量表,医生必备!

根据神经内科医生的量表使用情况&#xff0c;常笑医学整理了神经内科临床上常用的焦虑、抑郁评估量表&#xff0c;为大家分享临床常见的焦虑、抑郁、睡眠等量表评估内容&#xff0c;均支持量表下载和在线使用&#xff0c;建议收藏&#xff01; 1.汉密顿抑郁量表&#xff08;Ham…

从零开发短视频电商 AWS OpenSearch Service开发环境申请以及Java客户端介绍

文章目录 创建域1.创建域2.输入配置部署选项数据节点网络精细访问控制访问策略 获取域端点数据如何插入到OpenSearch ServiceJava连接OpenSearch Servicespring-data-opensearchelasticsearch-rest-high-level-clientopensearch-rest-clientopensearch-java 因为是开发测试使用…

喜讯!云起无垠上榜《成长型初创企业推荐10强》

近期&#xff0c;由中国计算机学会抗恶劣环境计算机专业委员会、信息产业信息安全测评中心和安全牛联合发起的第十一版《中国网络安全企业100强》榜单正式发布。在这份备受关注的榜单中&#xff0c;云起无垠凭借其创新的技术能力&#xff0c;荣登《成长型初创企业推荐10强》榜单…

echarts绘制一个环形图

其他echarts&#xff1a; echarts绘制一个柱状图&#xff0c;柱状折线图 echarts绘制一个饼图 echarts绘制一个环形图2 效果图&#xff1a; 代码&#xff1a; <template><div class"wrapper"><!-- 环形图 --><div ref"doughnutChart…

CCKS2023-面向金融领域的主体事件检测-亚军方案分享

赛题分析 大赛地址 https://tianchi.aliyun.com/competition/entrance/532098/introduction?spma2c22.12281925.0.0.52b97137bpVnmh 任务描述 主体事件检测是语言文本分析和金融领域智能应用的重要任务之一&#xff0c;如在金融风控领域往往会对公司主体进行风险事件的检测…

【C#设计模式 + Filter】装饰器模式专项——过滤器

c# 装饰器模式专项——过滤器 装饰器模式专项——过滤器Filter1.winform实现通过特性改控件名称&#xff08;.Framework)2.手写过滤器 (.NET Core) 装饰器模式专项——过滤器Filter 左边为api启动流程。 右边为需要实现的winform启动流程。右边大框里面需要我们手动实现。 1.wi…

python pyaudio实时读取音频数据并展示波形图

python pyaudio实时读取音频数据并展示波形图 下面代码可以驱动电脑接受声音数据&#xff0c;并实时展示音波图&#xff1a; import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import pyaudio import wave import os import op…

Michael.W基于Foundry精读Openzeppelin第41期——ERC20Capped.sol

Michael.W基于Foundry精读Openzeppelin第41期——ERC20Capped.sol 0. 版本0.1 ERC20Capped.sol 1. 目标合约2. 代码精读2.1 constructor() && cap()2.2 _mint(address account, uint256 amount) 0. 版本 [openzeppelin]&#xff1a;v4.8.3&#xff0c;[forge-std]&…

2023年全球软件开发大会(QCon广州站2023)-核心PPT资料下载

一、峰会简介 本次峰会包含&#xff1a;泛娱乐时代的边缘计算与通讯、稳定性即生命线、下一代软件架构、出海的思考、现代数据架构、AGI 与 AIGC 落地、大前端技术探索、编程语言实战、DevOps vs 平台工程、新型数据库、AIGC 浪潮下的企业出海、AIGC 浪潮下的效能智能化、数据…

使用Rust 构建C 组件

协议解析&#xff0c;这不就很快了&#xff0c;而且原生的标准库红黑树和avl 树支持&#xff0c;异步tokio 这些库&#xff0c;编写应用组件就很快了 rust 标准库不支持 unix 的消息队列&#xff0c;但是支持 shm 和 uds&#xff0c;后者从多方面考虑都比&#xff0c;消息队列更…

python爬取 HTTP_2 网站超时问题的解决方案

问题背景 在进行网络数据爬取时&#xff0c;使用 Python 程序访问支持 HTTP/2 协议的网站时&#xff0c;有时会遇到超时问题。这可能会导致数据获取不完整&#xff0c;影响爬虫程序的正常运行。 问题描述 在实际操作中&#xff0c;当使用 Python 编写的爬虫程序访问支持 HTT…

SAP物料会计视图的价格确定MLAST为空后台补录

物料10013812 工厂会计视图的价格确定为空&#xff0c;前台目前无法修改&#xff0c;申请修改底表&#xff0c;将价格确定调整为2 解决&#xff1a; 该字段涉及&#xff1a;MBEW表和CKMLHD表的MLAST字段两个地方&#xff0c;经修改后&#xff0c;前后台数据一致。 只改技术信…

2023_Spark_实验二十五:SparkStreaming读取Kafka数据源:使用Direct方式

SparkStreaming读取Kafka数据源&#xff1a;使用Direct方式 一、前提工作 安装了zookeeper 安装了Kafka 实验环境&#xff1a;kafka zookeeper spark 实验流程 二、实验内容 实验要求&#xff1a;实现的从kafka读取实现wordcount程序 启动zookeeper zk.sh start# zk.sh…

性能测试(超详细)

近期公司为了节省成本搞了一波机房迁移&#xff0c;整合了一些南美部署架构。有一些上google云和有些下阿里云等大的调整。 在做机房迁移项目当中就需要思考如何进行性能测试&#xff0c;这种大的机房迁移SRE&#xff08;运维&#xff09;会针对组件会做一些单组件的性能测试&a…

服务器配置免密SSH

在当今互联网时代&#xff0c;远程工作和网络安全已成为信息技术领域的热点话题。无论是管理远程服务器、维护网络设备还是简单地从家中连接到办公室&#xff0c;安全始终是首要考虑的因素。这就是为什么 SSH&#xff08;Secure Shell&#xff09;成为了网络专业人士的首选工具…

【FreeRTOS】信号量——简介、常用API函数、注意事项、项目实现

在FreeRTOS中&#xff0c;信号量是一种非常重要的同步机制&#xff0c;用于实现任务间的互斥访问和同步操作。通过信号量&#xff0c;不同的任务可以安全地共享资源&#xff0c;避免竞争和冲突&#xff0c;从而确保系统的稳定性和可靠性。本篇博客将介绍FreeRTOS中信号量的基本…

MacBook 逆水寒下载安装使用教程,支持最新版本 MacOS 流畅不闪退

最近 MacBook 系统更新到了 MacOS 14.1 很多朋友的逆水寒玩不了了&#xff0c;我尝试了一番可以正常玩了&#xff0c;看图&#xff1a; 其实操作也很简单&#xff0c;我们从头开始&#xff0c;因为 MacOS 系统的更新所以我们也需要更新新版本的 playCover 来适配新的系统&#…

SpringSecurity(二)

SpringSecurity源码的初探 一、SpringSecurity中的核心组件 在SpringSecurity中的jar分为4个&#xff0c;作用分别为 jar作用spring-security-coreSpringSecurity的核心jar包&#xff0c;认证和授权的核心代码都在这里面spring-security-config如果使用Spring Security XML名称…

速查!软考出成绩了

2023年11月软考成绩出来啦&#xff01;大家赶紧查一下&#xff0c;各科都45分就是通过&#xff01; 01 如何查成绩 1、打开“中国计算机技术职业资格网”&#xff0c;网址&#xff1a;https://www.ruankao.org.cn/ 2、点击↘的“成绩查询”按钮。 3、输入“手机号/证件号密码验…