常用的 css 命名规则(推荐)

下面我为你详细讲解“常用的 CSS 命名规则(推荐)”的完整攻略。

简介

CSS 命名规则是前端开发中非常重要的一环,一个好的命名规则可以提高代码的可读性和可维护性。在实际开发中,我们经常使用以下两种命名规则:

  • BEM
  • SMACSS

以下将详细介绍这两种命名规则。

BEM

BEM 是 Block(块)、Element(元素)和Modifier(修饰符)的缩写。它是一种非常流行的 CSS 命名规则,被广泛应用于大型项目中。

Block

Block 是一个独立的实体,它可以是一个按钮、一个表单、一个导航等等。Block 的命名应该是一个有意义的单词或单词组合,并使用中划线分隔开来。

例如一个按钮的 Block 为:

.btn { ... }

Element

Element 是一个 Block 的一部分,它可以是一个 Block 中任意一个组成部分,比如一个按钮的文本、图片等。Element 的命名应该是 Block 的名称加上一个双下划线 __,后跟有意义的单词或单词组合。

例如一个按钮中的文本 Element 为:

.btn__text { ... }

Modifier

Modifier 是一个 Block 或 Element 的状态或变种,它通常用于改变样式或状态。Modifier 的命名应该是 Block 或 Element 的名称加上一个双短线 --,后跟有意义的单词或单词组合。

例如一个带有橙色背景的按钮 Modifier 为:

.btn--orange { ... }

SMACSS

SMACSS 是 Scalable and Modular Architecture for CSS(可扩展和模块化 CSS 架构)的缩写。它是一套基于模块化的 CSS 命名规则,主要用于管理 CSS 中的可维护性、可扩展性和可重用性。

Base

Base 是所有 CSS 样式的基础,比如字体、颜色、布局等。Base 的命名应该比较通用,尽量避免和其他模块产生冲突。

例如一个基础字体的 Base 为:

.font-base { font-size: 14px; }

Layout

Layout 规定布局,定义不同部分的相对位置和大小,但不涉及样式细节。Layout 的命名应该以 l- 开头,后跟描述性单词或单词组合。

例如一个包含页眉的 Layout 为:

.l-header { ... }

Module

Module 是一个可重复使用的组件或模块,例如按钮、列表、表单等。Module 的命名应该以 m- 开头,后跟描述性单词或单词组合。

例如一个简单的按钮 Module 为:

.m-btn { ... }

State

State 规定一个 Module 或 Layout 的状态,例如被选中、鼠标悬停等。State 的命名应该以 is- 开头,后跟描述性单词或单词组合。

例如一个被选中的按钮 State 为:

.m-btn.is-active { ... }

Theme

Theme 标记一个区域的主题,例如网站的主题颜色。Theme 的命名应该以 theme- 开头,后跟有意义的单词或单词组合。

例如设置页面主题为黑色的命名为:

.theme-black { ... }

结语

以上就是常用的 CSS 命名规则的详细攻略。无论是 BEM 还是 SMACSS,都是非常流行和实用的命名规则,选择哪个规则需要根据实际情况来定。无论选择哪个规则,规范的命名可以有效地提高代码的可读性、可维护性和可扩展性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:常用的 css 命名规则(推荐) - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 通过CSS显示垂直文本以垂直方式显示文本元素

    实现垂直显示文本的方式主要有两种:一种是利用CSS3的transform属性进行操作,另一种是利用writing-mode属性。 通过transform属性 transform属性是CSS3中的属性,用于对元素进行变形,包括旋转、倾斜、缩放、位移等。我们可以利用它来旋转文本元素以实现垂直显示的效果。 首先,我们需要将文本元素的display属性设置为inli…

    css 2023年6月10日
    00
  • CSS省略号text-overflow超出溢出显示省略号

    下面我将详细讲解“CSS省略号text-overflow超出溢出显示省略号”的完整攻略。 1. text-overflow的基本概念 text-overflow是CSS的一个属性,它用于控制当溢出的文本超出容器宽度时,如何显示文本,常用的的属性值有 “clip” 和 “ellipsis”。 clip: 溢出的文本会被裁剪,被预设宽度外的部分隐藏; ellip…

    css 2023年6月9日
    00
  • 客户端js判断文件类型和文件大小即限制上传大小

    客户端JS判断文件类型和文件大小即限制上传大小是常见的一个需求。以下是操作的完整攻略: 1.判断文件类型 第一种方法:使用HTML5的file API 使用HTML5的file API可以获取文件的信息,包括文件类型,如下: const fileInput = document.getElementById(‘file’); const file = fil…

    css 2023年6月10日
    00
  • 详解获取jq ul第一个li定位的四种解决方案

    首先,我们需要理解问题的本质:即获取一个ul元素中的第一个li元素,并定位它在文档中的位置信息。 以下是四种解决方案,分别使用了不同的方法来实现该目标。 方案一:使用first-child伪类选择器 通过使用CSS的:first-child伪类选择器,可以非常容易地选中ul列表中的第一个子元素,进而对其进行定位操作。 ul li:first-child { …

    css 2023年6月10日
    00
  • 从一次项目重构说起CSS3自定义变量在项目的使用方法

    从一次项目重构说起CSS3自定义变量在项目的使用方法 在前端开发中,CSS3自定义变量是一种非常实用的技术,它可以帮助开发者更加方便地管理和调整样式。本攻略将从一次项目重构的实践出发,详细讲解CSS3自定义变量在项目中的使用方法,并提供两个示例说明。 1. 项目重构背景 在一次项目重构中,我们发现原有的CSS样式表存在以下问题: 样式表过于庞大,难以维护和调…

    css 2023年5月18日
    00
  • 链接渐变效果

    链接渐变效果是一种常用的视觉效果,可以让网页中的链接更加生动有趣。下面是链接渐变效果的完整攻略。 HTML代码 首先,需要添加HTML代码来创建链接。以下是一个简单的例子: <a href="https://www.example.com/">Example Link</a> 在 <a> 标签中,hre…

    css 2023年6月11日
    00
  • JavaScript 实现页面滚动动画

    下面就来详细讲解“JavaScript 实现页面滚动动画”的完整攻略。 一、需求分析 在实现页面滚动动画之前,我们需要对需求进行分析,明确实现滚动动画的期望效果。在通常的页面滚动中,用户的鼠标滚轮操作会导致页面上下滚动一整屏。而在本次实现中,期望实现滚动时页面逐渐平滑地过渡到下一屏,而不是一刹那地跳转。 因此,我们可以从以下几个方面考虑代码实现: 监听用户的…

    css 2023年6月10日
    00
  • uniapp获取底部安全距离以及状态栏高度等

    Uniapp 是一种开源跨平台应用程序框架,可以使用 Vue.js 开发多个平台(如 H5、APP、小程序等)的应用。在开发 Uniapp 应用时,需要获取底部安全距离以及状态栏高度等信息,以适配不同终端的显示效果。 在 Uniapp 中,获取底部安全距离可以使用以下代码: // 获取底部安全距离 let safeArea = uni.getSystemIn…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部