首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编写灵活、稳定、高质量CSS代码规范

五、前缀属性 5.1 垂直对齐 当使用特定厂商带有前缀属性时,通过缩进方式,让每个属性值在垂直方向对齐,这样便于多行编辑。 5.2 Example ?...这是因为虽然你可以使用嵌套,但是并不意味着应该使用嵌套。只有在必须将样式限制在父元素内(也就是后代选择器),并且存在多个需要嵌套元素时才使用嵌套。 8.2 Example ?...破折号应当用于相关 class 命名(类似于命名空间)(例如,.btn 和 .btn-danger)。 (2)避免过度任意简写。.btn 代表 button,但是 .s 不能表达任何意思。...十二、选择器 12.1 注意 (1)对于通用元素使用 class ,这样利于渲染性能优化。 (2)对于经常出现组件,避免使用属性选择器(例如,[class^="..."])。...(4)只有在必要时候才将 class 限制在最近父元素内(也就是后代选择器)(例如,不使用前缀 class 时 -- 前缀类似于命名空间)。 12.2 Example ?

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

前端代码规范

9.3 说明 class 用于标识高度可复用组件,因此应该排在首位。id 用于标识具体组件,应当谨慎使用(例如,页面内书签),因此排在第二位。...五、前缀属性 5.1 垂直对齐 当使用特定厂商带有前缀属性时,通过缩进方式,让每个属性值在垂直方向对齐,这样便于多行编辑。 5.2 Example ?...这是因为虽然你可以使用嵌套,但是并不意味着应该使用嵌套。只有在必须将样式限制在父元素内(也就是后代选择器),并且存在多个需要嵌套元素时才使用嵌套。 8.2 Example ?...十二、选择器 12.1 注意 (1)对于通用元素使用 class ,这样利于渲染性能优化。 (2)对于经常出现组件,避免使用属性选择器(例如,[class^="..."])。...(4)只有在必要时候才将 class 限制在最近父元素内(也就是后代选择器)(例如,不使用前缀 class 时 -- 前缀类似于命名空间)。 12.2 Example ?

2.4K31

Flutter 组件集录 | 新一代 Button 按钮参上

按钮样式更改 如果稍微翻一下源码就可以看到,这三个按钮本质上是一样,都是 ButtonStyleButton 衍生类。...另外,还有三个回调 onLongPress 用于监听长按事件;onHover 用于监听鼠标悬浮事件;onFocusChange 用于监听焦点变化事件。...按钮尺寸 在按钮默认样式中,规定了最小尺寸是 Size(64, 36) , 最大尺寸无限。 也就是说,在父级区域约束允许范围,按钮尺寸由 子组件 和 边距 确定。...构建组件也就是按钮最终表现,其中使用了 ConstrainedBox 组件处理约束;Material 组件处理基本表现内容;InkWell 处理水波纹和相关事件;Padding 用于处理内边距;Align...使用,总的来看:ButtonStyleButton 组件就是一些常用组件组合体而已,通过 ButtonStyle 类进行样式配置,来简化构建逻辑。通过封装,简化使用。

2.1K10

微信小程序之组件(一)

什么是组件 组件是视图层组成单元,具有UI风格样式及特定功能效果。...当打开某款小程序后,界面中图片,文字等多需要使用组件,小程序组件使用灵活,组件之间通过相互嵌套进行界面设计,开发者可以通过组件选择和样式属性设计出不同界面效果,一个组件开始包括标签和结束标签,属性用来装饰这个组件样式...false)名称前是否loading图标 form-type:用于组件,点击分别会触发组件submit/reset事件 open-type:微信开放能力(微信自带开放能力,...,用于提交表单组件内容。...控件组件内部可以嵌套: 1.输入框组件 2.按钮组件 3.复选框组件 4.开关选择器 5.单选框组件 6.

2.8K30

vue scoped样式

scoped样式概述scoped样式是Vue中一种将样式限定在组件范围内特殊样式。它通过添加一个唯一属性选择器来实现,该属性选择器会应用于组件根元素和组件所有子元素。...这意味着样式仅适用于当前组件。在scoped样式中,我们可以像正常CSS样式一样定义选择器和属性。...在上述示例中,.my-component选择器背景颜色仅适用于组件根元素,h1和p选择器颜色仅适用于组件和元素。...然后,scoped样式会使用这个唯一属性选择器来限定样式范围。这种机制确保了组件样式只应用于当前组件,并避免了样式冲突和污染。...scoped样式注意事项在使用scoped样式时,有几个注意事项需要注意:scoped样式仅适用于组件模板部分,而不适用于组件JavaScript部分或其他部分(如组件组件)。

38700

vue-clearcss 高效清除vue中无用css

vue-clearcss 会找到你css中没有使用css样式,是否删除由使用者自己决定,工作起来就像eslint 为什么要用它?...一个vue文件在长期迭代中css会越来越冗余,它不像html和js那么好删除,html多了页面会展示,js你只要看下它用地方就可以了,然而css比如scss、less都是用嵌套语法,通过搜索删除那么有可能它在...(我匹配css方式就是参考了jsdomquerySelector相关源码,也是使用动态模板生成函数实现) 存在缺陷 1 所有的伪类选择器都认为是有用 2 所有的属性选择器 (除了[...,那么子组件又会嵌套自己组件,那么htmlast会变得非常巨大,但是父组件影响子组件情况又很少,所以不适合做。...(其实也不推荐父组件写子组件样式,如果你写了也应该会有印象吧。)

1.6K40

通过分析Github众多前端代码库,总结出来前端代码书写规范

避免不必要嵌套。...可以进行嵌套,不意味着你应该这样做。只有在需要给父元素增加样式并且同时存在多个子元素时才需要考虑嵌套。...使用 .js-* 来表示行为(相对于样式),但是不要在 CSS 中包含这些 class。 选择器 使用 class 而不是通用元素标签来优化渲染性能。...避免在经常出现组件中使用一些属性选择器 (例如,[class^="..."])。浏览器性能会受到这些情况影响。 减少选择器长度,每个组合选择器选择器条目应该尽量控制在 3 个以内。...只在必要情况下使用后代选择器 (例如,没有使用前缀 classes 情况). 代码组织 以组件为单位组织代码。 制定一个一致注释层级结构。

1.1K10

Chrome 99新特性:@layers 规则浅析

比如: 「引入顺序导致样式竞争问题」 用过 ant design 等组件库 + 发布在 npm 上业务组件 同学,可能会经常遇到自定义样式不生效问题,比如像这样... /* main.module.css...而由组件引入样式优先级有可能高于我们自定义样式,因此显示为黑色。...「组件嵌套导致样式竞争问题」 有时候,尤其是在组件中,我们可能不会随机命名样式,而是将一些类型元素固定为同一个名称,比如 .link,以方便用户在使用我们组件时覆盖这些样式。...important 如果层中包含嵌套层,则对每一个嵌套层 「优先级」1.11.21.3「样式类型」先声明嵌套层后声明嵌套层不在嵌套层中 注意, !...「问题 2,组件嵌套导致问题」 给来自不同组件样式分配不同层,通过组织层顺序,即可避免这一问题。

99010

一文搞懂css、scss、tailwindcss区别

--Linux社区 Scss和CSS区别 SCSS(Sassy CSS)和 CSS(Cascading Style Sheets)是两种用于定义网页样式语言,它们之间有一些关键区别: 「语法:」 CSS...SCSS: SCSS 允许你定义变量,将这些变量用于整个样式表,从而实现值统一管理和修改。...「嵌套规则:」 CSS: 在 CSS 中,如果要定义嵌套选择器,你需要使用复杂选择器名称,如 .parent .child。...SCSS: SCSS 允许你使用嵌套规则,将子元素样式嵌套在父元素内,使样式结构更加清晰。 「维护性:」 CSS: 随着项目的增长,纯 CSS 可能会变得难以维护,因为它缺乏模块化和结构性。...「Tailwind CSS:」 Utility-First CSS: Tailwind CSS 是一种"实用优先" CSS 框架,提供了一组预定义 CSS 类,用于构建页面组件样式

93420

Vue项目团队代码规范

Object.freeze()冻结是值,这时仍然可以将变量引用替换掉,还有确保数据不会变才可以使用这个语法,如果要对数据进行修改和交互,就不适合使用冻结了。...,若是过度扁平化会导致数据命名空间冲突,参数传递和处理,若是层级嵌套过深也会导致vue数据劫持时候递归层级过深,若是嵌套层级丧心病狂那种,小心递归爆栈问题。...-- bad --> > 1 & < 12 CSS部分 样式穿透 在开发中修改第三方组件样式是很常见,但由于 scoped 属性样式隔离,可能需要去除...这些做法都会带来副作用(组件样式污染、不够优雅),样式穿透在css预处理器中使用才生效。...: #f0f; } 嵌套层级 浏览器在解析css时,是按照从右到左递归匹配,过深层级嵌套不仅影响性能,而且还会导致样式阅读性和代码维护性降低,一般层架控制在5层之内 双引号 属性选择器值必须用双引号包围

1.1K30

Vue版团队代码规范

Object.freeze() 冻结是值,这时仍然可以将变量引用替换掉,还有确保数据不会变才可以使用这个语法,如果要对数据进行修改和交互,就不适合使用冻结了。...,若是过度扁平化会导致数据命名空间冲突,参数传递和处理,若是层级嵌套过深也会导致vue数据劫持时候递归层级过深,若是嵌套层级丧心病狂那种,小心递归爆栈问题。...-- bad --> > 1 & < 12 CSS部分 样式穿透 在开发中修改第三方组件样式是很常见,但由于 scoped 属性样式隔离,可能需要去除...这些做法都会带来副作用(组件样式污染、不够优雅),样式穿透在css预处理器中使用才生效。...: #f0f; } 嵌套层级 浏览器在解析css时,是按照从右到左递归匹配,过深层级嵌套不仅影响性能,而且还会导致样式阅读性和代码维护性降低,一般层架控制在5层之内 双引号 属性选择器值必须用双引号包围

1.1K30

SCSS 学习笔记 和 vscode下载live sass compiler插件配置

” 由于我们配置,当遇到兼容性代码,出口文件会自动配置,如下图 2.1 语法嵌套规则 2.1.1 选择器嵌套 避免了重复输入父选择器,复杂 CSS 结构更易于管理 2.1.2...父选择器 & 在嵌套 CSS 规则时,可以用 & 代表嵌套规则外层选择器。...2.5 SCSS 混合指令 (Mixin Directives) 混合指令(Mixin)用于定义可重复使用样式。...2.6.1 用占位选择器继承 注意:上面的图中 .alert 只是单纯用于继承,不用做元素类名,但是它却导出成了 类名,这时我们可以用 占位选择器%foo 对其进行声明,不用于元素类名...$color; } 2.16 SCSS 中 @at-root 使用 作用:@at-root 可以使被嵌套选择器或属性跳出嵌套【例子:比如一段嵌套样式对应html有一天需要移动到另一层div

29110

Scoped Style解决方案之deep深入理解

{ .top-date{ background:red; } } 通常我们为了「避免当前组件样式影响其他组件样式」时,会使用scoped将此组件样式转为私有样式...,即让其修饰样式只对此组件起作用 「原理:」 当我们打开控制台,抓取到对应dom元素后,在右侧会发现我们样式选择器」变成了 .massif-table .top-date[data-v-127071c6...「选择器」最后层级加了一串唯一hash码 「data-v-127071c6」 以此来完成限制此样式只对改组件生效。...那么这也就是为什么在scoped组件内无法修改同样有着scoped组件样式 因为子组件和父组件「hash码不一致」,选择器匹配不到,所以样式无法生效。...错误嵌套deep写法 其实与其说错误写法 倒不如说deep就不该有嵌套这种写法 在我们对deep理解不深 并且有多层父子组件嵌套时候,想在父组件修改子组件样式就可能会出现 .fu{ /deep

1.1K20

最好用 5 个 React select 多选下拉菜单组件测评推荐

接下来介绍 6 款我自己常用 React Select 第三方组件,它们各有特色,希望能帮你找到合适你选择器 React Select - 多选下拉菜单王者组件库,覆盖多数应用场景 React multi...,下拉选择功能,还有搜索过滤,多选固定选项,文字颜色表示,加载禁用提示等。...代码简洁,CSS 样式可定制。...轻量级,零依赖 基本 HTML 选择功能,可多选 搜索 / 过滤功能 支持键盘快捷键 可设置带有组名组选项,可以搜索组名 代码简洁,CSS 样式可定制 扩展阅读:《7款亲测好用 react ui...搜索灵活,不论数据嵌套有多深,加载毫无延迟,点击秒开。CSS 样式可自定义,可高度定制。可使用键盘快捷键。

7K30

作用域 CSS 回来了

作用域为CSS带来了两个关键点: 更好地控制哪些选择器针对哪些元素(即更好地操作级联)。 一组样式可以基于DOM中位置覆盖另一组样式。 局部样式允许你在页面上单个组件内包含一组样式。...你可以阻止一个组件选择器针对子组件元素,或者如果需要,也可以允许它们到达。 你不再需要BEM风格类名。 此外,近度在级联中变成了一等公民。...如果两个组件针对同一个元素(具有相同特异性),内部组件样式将覆盖外部组件样式。 它是如何工作?...这样,你可以嵌套两个范围,每个范围都可以使用相同通用标题类名,而不会发生冲突。...在不同级联层上定义一个组件部分,这样它可以影响其包含范围,但仍然容易在更高层次上覆盖。 嵌套颜色主题。 在博客文章中更容易地防止样式冲突。 容器查询—我们能通过混合和匹配来提出什么?

7710
领券