html、css类名命名思路整理

news2024/11/24 12:52:27

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

命名规则

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

思路

  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>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小红书自动点赞工具,其成功分享与引流攻略从入门到精通

先来看实操成果&#xff0c;↑↑需要的同学可看我名字↖↖↖↖↖&#xff0c;或评论888无偿分享 一、小红书引流的优势 小红书作为一个社交电商平台&#xff0c;具有巨大的引流潜力。其独特的UGC&#xff08;用户生成内容&#xff09;模式使得用户可以轻松地分享自己的购物心得…

python主流开发工具排名,python开发工具有哪些

本篇文章给大家谈谈python的开发工具软件有哪些&#xff0c;以及python主流开发工具排名&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 python中用到哪些软件 一、Python代码编辑器1、sublime Textsublime Text是一款非常流行的代码编辑器&#xff0c;支持P…

Python渗透测试——一、数据包的编辑工具——Scapy

Python渗透测试 一、Scapy简介二、Scapy中的分层结构三、Scapy中的常用函数四、在Scapy 中发送和接收数据包五、Scapy 中的抓包函数 一、Scapy简介 提到数据包(这里泛指帧、段和报文等)的构造&#xff0c;我们首先需要了解协议和分层这两个概念。在“互联世界的规则一协议”中…

概率论之 证明 正态分布的上a 分位点的对称的性质

公式(Z(a) -Z(1-a)) 表示正态分布的上(a)分位点与下(1-a)分位点在分布曲线上关于均值的对称性。 左侧 (Z(a))&#xff1a; 这是分布曲线上累积概率为(a)的那个点。也就是说&#xff0c;这是一个使得这个点及其左侧的面积占据整个曲线下方(a)的位置。 右侧 (Z(1-a))&#xff1…

网页设计--第6次课后作业

试用Vue相关指令完成对以下json数据的显示。显示效果如下&#xff1a; 其中&#xff1a;gender1 显示为女&#xff0c;gender2显示为男。价格超过30元&#xff0c;显示“有点小贵”。价格少于等于30元&#xff0c;则显示“价格亲民”。 data: {books: [{"id": "…

Selenium IED安装及简单使用

本文已收录于专栏 《自动化测试》 目录 背景介绍优势特点安装步骤录制脚本总结提升 背景介绍 Selenium 通过使用 WebDriver 支持市场上所有主流浏览器的自动化。 Webdriver 是一个 API 和协议&#xff0c;它定义了一个语言中立的接口&#xff0c;用于控制 web 浏览器的行为。 每…

基于Unity3D 低多边形地形模型纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

springboot + thymeleaf + layui 初尝试

一、背景 公司运营的同事有个任务&#xff0c;提供一个数据文件给我&#xff0c;然后从数据库中找出对应的加密串再导出来给他。这个活不算是很难&#xff0c;但时不时就会有需求。 同事给我的文件有时是给excel表格&#xff0c;每一行有4列&#xff0c;逗号隔开&#xff0c;…

RocketMQ-RocketMQ高性能核心原理(流程图)

1.NamesrvStartup 2.BrokerStartup 3. DefualtMQProducer 4.DefaultMQPushConsumer

LeetCode-数组-重叠、合并、覆盖问题-中等难度

435. 无重叠区间 我认为区间类的题型&#xff0c;大多数考验的是思维能力&#xff0c;以及编码能力&#xff0c;该类题型本身并无什么算法可言&#xff0c;主要是思维逻辑&#xff0c;比如本题实际上你只需要能够总结出重叠与不重叠的含义&#xff0c;再加上一点编码技巧&#…

【上海大学数字逻辑实验报告】五、记忆元件测试

一、实验目的 掌握R-S触发器、D触发器和JK触发器的工作原理及其相互转换。学会用74LS00芯片构成钟控RS触发器。学会用74LS112实现D触发器学会在Quartus II上用D触发器实现JK触发器。 二、实验原理 基本R-S触发器是直接复位-置位的触发器&#xff0c;它是构成各种功能的触发器…

解读Stable Video Diffusion:详细解读视频生成任务中的数据清理技术

Diffusion Models视频生成-博客汇总 前言:Stable Video Diffusion已经开源一周多了,技术报告《Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets》对数据清洗的部分描述非常详细,虽然没有开源源代码,但是博主正在尝试复现其中的操作。这篇…

基于ssm平面设计课程在线学习平台系统源码和论文

idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;平面设计课程在线学习平台系统也不例外&#xff0c;但目前国内的市场仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;…

chrome安装jsonview

写在前面 通过jsonview可以实现&#xff0c;当http响应时application/json时直接在浏览器格式化显示&#xff0c;增加可读性。本文看下如何安装该插件到chrome中。 1&#xff1a;安装 首先在这里 下载插件包&#xff0c;然后解压备用。接着在chrome按照如下步骤操作&#xf…

JAVEE初阶 多线程基础(七)

懒汉模式 指令重排序问题 一. 懒汉模式的意义和代码实现二. 饿汉模式和懒汉模式的线程安全三. 懒汉模式的线程安全问题解决3.1 加锁阶段3.2 嵌套if阶段3.3 指令重排序问题3.4 解决线程安全问题阶段 一. 懒汉模式的意义和代码实现 在上一章节中,我们先学习了单例模式中的饿汉模式…

go语言学习-并发编程(并发并行、线程协程、通道channel)

1、 概念 1.1 并发和并行 并发:具有处理多个任务的能力 (是一个处理器在处理任务)&#xff0c;cpu处理不同的任务会有时间错位&#xff0c;比如有A B 两个任务&#xff0c;某一时间段内在处理A任务&#xff0c;这时A任务需要停止运行一段时间&#xff0c;那么会切换到处理B任…

基于redisson实现发布订阅(多服务间用避坑)

前言 今天要分享的是基于Redisson实现信息发布与订阅&#xff08;以前分享过直接基于redis的实现&#xff09;&#xff0c;如果你是在多服务间基于redisson做信息传递&#xff0c;并且有服务压根就收不到信息&#xff0c;那你一定要看完。 今天其实重点是避坑&#xff0…

MySQL 对null 值的特殊处理

需求 需要将不再有效范围内的所有数据都删除&#xff0c;所以用not in (有效list)去实现&#xff0c;但是发现库里&#xff0c;这一列为null的值并没有删除&#xff0c;突然想到是不是跟 anull 不能生效一样&#xff0c;not in 对null不生效&#xff0c;也需要特殊处理。 解决 …

$sformat在仿真中打印文本名的使用

在仿真中&#xff0c;定义队列&#xff0c;使用任务进行函数传递&#xff0c;并传递文件名&#xff0c;传递队列&#xff0c;进行打印 $sformat(filename, “./data_log/%0d_%0d_%0d_0.txt”, f_num, lane_num,dt); 使用此函数可以自定义字符串&#xff0c;在仿真的时候进行文件…

Python基础(二、必备知识,不用背,用用就会了~)

一、基础知识 1.标识符 在Python中&#xff0c;标识符是用来标识变量、函数、类、模块或其他对象的名称。一个有效的标识符由字母、数字和下划线组成&#xff0c;且不能以数字开头。Python是区分大小写的&#xff0c;因此myVariable和myvariable被视为不同的标识符。 下面是…