您所在位置: 网站首页 / 文档列表 / 架构 / 文档详情
如何搭建系统CSS架构.docx 立即下载
2024-05-09
约4.7千字
约10页
0
15KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

如何搭建系统CSS架构.docx

如何搭建系统CSS架构.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

如何搭建系统CSS架构如何搭建系统CSS架构css是英文CascadingStyleSheets的缩写。它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。那么如何搭建系统CSS架构呢,一起来学习学习!搭建CSS法则在项目开始的时候,我们谈论了开发者关于他们的流程和痛点,并问他们的接口设计系统如何让他们的工作量变简单。完成我的前端指导问卷,这些导致一系列前端规则和系统封装。这里有些我们创建的CSS具体规则。模块化——设计系统在每一个方面都是模块,这是非常实用写CSS的方法。这在组件之间需要清晰分隔。可读性是关键——开发者必须在第一眼理解CSS代码,并且理解每一个选择器的目的。清晰胜过简洁——设计系统有时候看上去很冗长,但是作为交换,它提供清晰和韧性。保持CSS可读性和可扩展性意味着牺牲简洁的语法。保持平面化——长的选择器要回避,无论什么地方,尽可能保持CSS独立DOM和模块化。避免冲突——因为组件会部署许多不同的应用,保证设计系统之间的CSS不会和其他的库和系统有冲突,这很重要。通过系统空间命名Class名可以完成这个,更多的会在之后描述。从这些规则中,我们搭建了制约和语法,包含了这些规则,以满足开发者的需求。这里有一个我们总结出的class语法:全局命名空间所有的Class都和设计系统关联的都以全局命名空间为前缀,这就是公司名称后面加一个连体符.cn-如果你工作的CSS框架是用于单个网站或者如果你对你的开发环境有绝对控制,那么引入全局命名空间是不需要的。但是如果你的设计系统是混合的技术,那么为系统特定代码创建一个标识是很重要的。作为第三方开发者,在多个环境中利用他们的系统,营销团队可能会失控,因此LightningDesignSystem引用了相似的方法到他们的系统之中(通过前缀.slds-),在我们的例子中,许多我们客户的开发者使用Angular,因此他们已经很熟悉命名空间的概念,因为Angular使用ng-作为命名空间,为Angular特殊的代码。Class前缀除了命名空间,我们添加前缀到每个Class,为了使之更加明显,这个这个Class是做什么的。下面是我们使用的类前缀:c-用于UI组件,比如.cn-c-card或.cn-c-headerl-用于布局相关样式,比尔.cn-l-grid__item或.cn-l--two-columnu-用于公共部分,比如.cn-u-margin-bottom-double或.cn-u-margin-bottom-doubleis-和has-用于特定状态,比如.cn-is-active或.cn-is-disabled.适用于这些状态为基础的样式。js-用于目标特定功能,比如.js-modal-trigger.这些class没有绑定样式;他们只是为了行为而保留的.对于大多数案例,这些js-类将在元素上会切换基于状态的类。我被灌输来自HarryRoberts的一个概念,并且一开始在我认为这有道理的同事,我还是持有质疑的态度的,仅仅因为这是额外的字符并且我认为前缀会降低代码可读性。然而我的想法是不对的。在实施类前缀之后,我发现他们对于分清每个类的角色十分有帮助并且对于破译一个应用的代码库十分容易一目了然。对于设计系统用户,这种清晰的代码能够整理清楚头绪,特别有用。BEM语法BEM代表了“块元素修饰”,这意味着:Block主要组件块,比如.cn-c-card或者.cn-c-btnElement是主要块的一个子类,比如.cn-c-card__titleModifier是一个组件样式的各种变化,比如.cn-c-alert--error这种方法论已经很受欢迎了,将这些概念和全局命名空间和类前缀结合在一起,允许我们创造更明显封装的类名。把它们都放到一起:解剖一个类全局命名空间的结合,类别前缀,和BEM语法引出了一个明确的(是的,冗长的)类字符创,允许开发者们在构造UI的时候演绎他在之间扮演的角色。让我们检查下以下的例子:.cn-c-btn--secondarycn-是来自设计系统的用于所有样式的全局命名空间。c-是class的类别,在案例中,c-一位置“组件”btn是块名(“Block(块)”就是BEM中的“B”)--secondary是一个修饰成分,指向一个块的变化多端的样式(“Modifier(修饰)”就是BEM中的“M”)这里有另一个例子:.cn-l-grid__itemcn-再一次出现就是系统的全局命名空间。l-是类的类别,在这种情况下l-意味着“布局”grid是块名__item是一个元素,表明那是块中的一个分支(“Element”在BEM中指“E”)还有一个:.cn-c-primary-nav__submenucn-是系统的全局命
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

如何搭建系统CSS架构

文档大小:15KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用