讲师中心 微信公众号

工具推荐

视频效率加速
AniShort
AniShort

AI短剧协同制作平台

立刻MV
立刻MV

低成本歌曲 MV、视频生成

Seko
Seko

AI短剧一键生成成片

剧云
剧云

中文短剧剧本制作平台

CSS命名规范ITCSS简介_分层管理大型项目的样式权重

轻婷酱_5672

轻婷酱_5672

发布时间:2026-02-28 12:01:12

|

785人浏览过

|

来源于php中文网

原创

ITCSS六层顺序不可调换,因决定CSS加载与权重优先级:settings/tools最前(变量/函数),generic次之(全局重置),objects/components居中(布局/组件),trumps垫底(工具类);@import或@use必须严格按层归类导入,objects与components需分离结构与视觉职责,trumps禁用语义名且仅含单一行为样式。

css命名规范itcss简介_分层管理大型项目的样式权重

ITCSS 不是命名规范,而是 CSS 架构分层方法;用错层级顺序,样式权重冲突和覆盖逻辑就彻底失控。

为什么 layers 顺序不能调换

ITCSS 的六层(settings、tools、generic、elements、objects、components、trumps)本质是 CSS 加载顺序 → 决定选择器权重生效优先级。把 components 放在 generic 前面,button { margin: 0 } 就可能被后面加载的 * { box-sizing: border-box } 意外重置。

  • settings 和 tools 必须最前:存放 $color-primary、@function rem() 等,不输出 CSS
  • generic 紧随其后:*, ::before, ::after、html、body 等全局重置,影响所有后续规则
  • trumps(如 !important 工具类)必须垫底:否则会被中间层无意覆盖,.u-hidden 失效

@import 顺序写错等于白搭 ITCSS

SCSS 中靠 @import 控制加载顺序,但很多人把 components/_card.scss 直接 import 到主文件顶部,破坏了层级流。ITCSS 要求所有导入严格按层归类、集中管理。

  • 主入口 main.scss 只做七次 @import,每层一个,顺序不可乱
  • 禁止在 components/ 文件夹里 @import '../tools/functions':工具应已在 tools 层提前注入,重复引入会污染作用域
  • Webpack/Vite 下若用 @use 替代 @import,需确保模块路径与 ITCSS 层级物理结构一致,否则 @use 'tools/functions' 可能被解析为相对路径而非逻辑层

objects 和 components 容易混用

对象(object)是抽象布局模式,比如 .o-layout-grid、.o-media;组件(component)是具体业务单元,比如 .c-card、.c-header。混用会导致复用性崩塌和样式泄漏。

CSS工具箱(专业版)
CSS工具箱(专业版)

全功能 CSS 工程手册,覆盖性能优化、无障碍、设计系统与跨浏览器兼容。

下载

立即学习“前端免费学习笔记(深入)”;

  • objects 不含颜色、字体、间距等视觉属性,只管结构和容器行为
  • components 可以基于 objects 组合,但自身必须封闭:不能依赖 .c-card .o-media 这种跨层耦合选择器
  • 常见错误:.c-button 里写 &:hover { @include o-layout-grid; } —— 把布局逻辑塞进组件,违反关注点分离

为什么 trumps 层禁用语义类名

trumps 是最后执行的覆盖层,只放无上下文的“暴力工具”,比如 .u-text-center、.u-mt-0。一旦起名带业务含义(如 .u-product-card-hidden),就违背了它的设计意图:即插即用、随处可覆、不绑定 DOM 结构。

  • 命名必须以 u- 开头,且仅描述单一视觉行为
  • 禁止在 trumps 里写媒体查询组合:如 .u-mt-2@sm 应拆成独立文件 _trumps-responsive.scss,否则破坏加载时序稳定性
  • 如果项目用了 Tailwind,trumps 层就基本不用手写 —— 但得确认 Tailwind 的 @layer utilities 是否真被注入在 ITCSS 的 trumps 位置,否则 class="u-hidden md:u-block" 可能被前面层的 [hidden] 规则压制

真正难的不是记住七层名字,而是每次加一个新样式时,下意识问自己:它属于哪一层?有没有偷偷跨层引用?有没有让下一层不得不打补丁来修复上一层的副作用?

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

相关专题

更多
class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

4496

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

326

2025.12.06

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

3580

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

594

2023.10.07

DOM是什么意思
DOM是什么意思

dom的英文全称是documentobjectmodel,表示文件对象模型,是w3c组织推荐的处理可扩展置标语言的标准编程接口;dom是html文档的内存中对象表示,它提供了使用javascript与网页交互的方式。想了解更多的相关内容,可以阅读本专题下面的文章。

6541

2024.08.14

margin在css中是啥意思
margin在css中是啥意思

在CSS中,margin是一个用于设置元素外边距的属性。想了解更多margin的相关内容,可以阅读本专题下面的文章。

877

2023.12.18

html边框设置教程
html边框设置教程

本教程将带你全面掌握HTML/CSS边框设置,从基础的border属性讲起,涵盖所有边框样式、圆角设置及高级技巧,帮助你快速上手实现各种边框效果。

3013

2025.09.02

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

40

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

20

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn