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

大型项目中的结构化CSS

在CSS中这种角色是相反的。每次我写一行css时,会潜在地影响到项目中所有的东西,并且无意中改变了我当前工作以外其它页面的展现。...想理解这些语言背后的原因,我常想去总结出一本书:想每页看起来是有规划的, 想一个简单连贯的样式贯穿始终但不需要那些冗余的css代码。...我们仍然拥戴作者Mark Otto,虽然我们对他无后缀名的Bootstrap有一点失望。 规则2: 不要嵌套CSS选择器 在Peergrade.io中用到了Sass。...同样,可以在父元素内的子元素中独立定义样式 - 这并不会受到你在前一阶段Sass这层已经定义好的样式的影响。...归根结底:我们相信我们找到了一个CSS的可持续发展的根本, - 当然有更多改善的空间。 这计划就是去经常检查我们的指南书,去看看任务是否如我们所期望的那样去执行, 是否有必要去修正。

1.2K40

Sass学习

学过CSS的小伙伴都知道,CSS只是一门描述性的语言,你只能一行一行单纯地描述,并不能像JavaScript那样使用变量、循环、运算等方式来操作。...CSS预处理器的出现,使得我们可以像操作JavaScript那样以“编程”的方式来书写CSS。在CSS预处理器中,我们可以使用变量、循环、函数等方式来简化操作,提高开发效率。...Sass是一种动态样式语言,比CSS多出好些功能(如变量、嵌套、运算、混入、继承、颜色处理、函数等),更容易阅读。...在实际开发中,如果你只是单纯地想简化CSS写法、统一风格、增强维护性的话,那么Sass和Less是一样的,学习哪一个都可以。 但是如果想要用到更多并且更加强大的功能的话,那么你应该选择Sass。...二、Scss格式 Scss格式,是Sass的“新版本语法”。这种语法格式,使用大括号“{}”和分号“;”,并不使用严格的缩进式语法规则来书写,也就是类似CSS书写的格式。

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

    Sass简介

    学过CSS的小伙伴都知道,CSS只是一门描述性的语言,你只能一行一行单纯地描述,并不能像JavaScript那样使用变量、循环、运算等方式来操作。...CSS预处理器的出现,使得我们可以像操作JavaScript那样以“编程”的方式来书写CSS。在CSS预处理器中,我们可以使用变量、循环、函数等方式来简化操作,提高开发效率。...Sass是一种动态样式语言,比CSS多出好些功能(如变量、嵌套、运算、混入、继承、颜色处理、函数等),更容易阅读。...在实际开发中,如果你只是单纯地想简化CSS写法、统一风格、增强维护性的话,那么Sass和Less是一样的,学习哪一个都可以。 但是如果想要用到更多并且更加强大的功能的话,那么你应该选择Sass。...二、Scss格式 Scss格式,是Sass的“新版本语法”。这种语法格式,使用大括号“{}”和分号“;”,并不使用严格的缩进式语法规则来书写,也就是类似CSS书写的格式。

    58430

    scss 学习

    嵌套css规则 在Sass中,你可以像俄罗斯套娃那样在规则块中嵌套规则块。sass在输出css时会帮你把这些嵌套规则处理好,避免你的重复书写。...为了解决这种以及其他情况,sass提供了一个特殊结 构&。 2.1 父选择器的标识符&; 最常见的一种情况是当你为链接之类的元素写:hover这种伪类时,你并不希望以后代选择器的方式连接。...不过sass 嵌套特性在这种场景也非常有用.就上面的代码sass 是这样做的 .container { h1, h2, h3 {margin-bottom: .8em} } 处理这种群组选择器规则嵌套上的强大能力...尤其在当嵌套级别达到两层甚至三层以上时,与普通的css编写方式相比,只写一遍群组选择器大大减少了工作量。 3....总之,使用@mixin指令可以方便地实现样式代码的复用和管理,提高工作效率。

    9110

    前端入门23-CSS预处理器(Less&Sass)声明正文-CSS预处理(less&Sass)

    所以,CSS 预处理器其实只是一个过程的称呼,主要工作就是将源代码编译并输出标准的 CSS 文件,而这个源代码可以用 Sass 写,也可以用 Less,当然还有其他很多种语言。...这是注释2 转换成 css 文件: /*这是注释1*/ 所以,在 less 中使用注释时,需要注意下,哪些是想保留,哪些是不想保留的。...k 嵌套 在写 CSS 时,组合选择器经常写得很复杂,因为 HTML 里的标签嵌套层次本身就很复杂,而且组合选择器写完也不是能够很明显的表示出它的目的,所以 less 允许依据 HTML 中的嵌套层次来书写...less 那样的步骤来使用 sass 命令了,在 package.json 里配置相关命令,然后手动点击脚本的运行即可。...作用域 Less 中的变量分局部作用域和全局作用域,但在 Sass 中,不同版本,作用域范围并不一样,摘抄一段原文中描述: Sass 中变量的作用域在过去几年已经发生了一些改变。

    1.6K30

    国外某大佬认为“css嵌套语法”是完全无用的垃圾,你认同吗?

    国外大佬的看法 我真的很困惑,就像我对很多人盛赞的热门时尚废话一样,我不明白为什么有人能看到CSS嵌套的价值。...在LESS/SASS/SCSS中,它只会使代码更加混乱,更难以跟踪和调试,总之,只会增加更多的步骤和考虑,而没有任何实际的好处。 但有趣的是,你会看到一些明显是为了让它看起来好看而堆叠的例子。...这就像他们在寻找LESS / SASS / SCSS这样的垃圾,以及为什么人们会寻找HTML / CSS框架的1997年实践的纪念碑一样。...关于我的看法 以上是这位大佬的看法,以下是我对这个问题的看法,欢迎大家来探讨关于“css嵌套语法”的问题。 我认为这个问题并不是非黑即白的。...结束 由于文章内容篇幅有限,今天的内容就分享到这里,文章结尾,我想提醒您,文章的创作不易,如果您喜欢我的分享,请别忘了点赞和转发,让更多有需要的人看到。

    25030

    面向未来的 CSS Variable

    CSS Variable 即CSS变量,聊CSS变量之前,我想先来说说Sass和Less,还有Stylus,它们都是目前使用较为普遍的三款CSS预处理框架,我们为什么要使用它们呢,因为它们都可以让你在CSS...其次就是嵌套方式,有时候我们的类名会引入非常多的父级元素,这样冗余的代码,不仅没有提升可读性,而且增加代码的体积: ?...总结 总的来说,CSS变量还是能够针对性的解决一些项目中的实际问题: 比如一个站点的配色,如果只是几个常用的颜色被应用到多个地方,我们完全可以通过CSS变量来轻松修改,并不需要用到Less、Sass、Stylus...在响应式代码中不需要重复声明变量,在Less和Sass中也没办法做到像CSS变量那样简洁优雅的代码。...最后,写这篇文章并不是想说CSS变量要取代谁和谁,而是,我们在开发过程中,应该思考自己需要通过工具解决某个实际存存在的问题!

    42220

    scss,less,stylus这些css处理器该怎么选择

    css预处理器 由于浏览器只能理解和识别纯CSS语法,因此不能简单地用全新的语言代替它。但是,目前的css确实有一些局限性,这在小型项目中可能并不重要,但是在处理庞大的样式表时确实会付出巨大的代价。...比较Less与Sass,我们会发现它们的基本功能非常相似。它们都允许嵌套,导入和使用变量。但是,在Less中,您还可以提升变量并从Sass无法使用的颜色中提取某些成分,即色调,饱和度,光度和亮度。...另一方面,Sass允许您使用if语句并将其插入选择器和属性名称中。它的语法还包含三元运算符和嵌套收集器。 Less的另一个小缺点是使用@符号进行变量声明(Sass使用$符号代替)。...对于变量,我们可以像在Sass中那样使用 $ 符号,但是也可以不使用它,这一切都由我们自己决定。...总结 虽然我们说了这么多预处理器的好处,但是它也并不是没有缺点,比如css的调试,需要编译,文件过大都是它的缺点。

    82810

    第九十六期:scss中的选择器

    当我们编写scss代码的时候,我们需要意识到,scss代码会编译成css代码。scss并不能保证css代码的可读性以及可维护性。...选择器的嵌套 和普通的css代码相比,scss允许我们进行选择器的嵌套。这样有利于我们更好的组织代码。 选择器的嵌套可以使代码更加直观,同时也可以将继承关系表现的更加清晰。...css的属性值,仔细想一想,我们写的嵌套的选择器,其实就是这么回事儿。...为了让我们的css代码重用性更好,我们需要尽量的做到模块儿化,同时需要尽量减少sass的嵌套层数。...因为sass-lint检查到嵌套层数超过3层就会提示报错。 多层级的嵌套一方面在渲染时可能会消耗一定的性能,即影响sass的编译速度,也影响界面的渲染速度。

    1.5K30

    【Sass学习笔记】004-Sass 的基本特性-基础(重要)

    ,但这也并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿意看到的一点。...选择器嵌套为样式表的作者提供了一个通过局部选择器相互嵌套实现全局选择的方法,Sass 的嵌套分为三种: 选择器嵌套 属性嵌套 伪类嵌套 5.2 选择器嵌套 假设我们有一段这样的结构: ...{ -webkit-border-radius: 3px; border-radius: 3px; } 上例明显可以看出,Sass 在调用相同的混合宏时,并不能智能的将相同的样式代码块合并在一起...它可以让变量和属性工作的很完美,上面的代码编译成 CSS: .login-box { margin-top: 14px; padding-top: 14px; } 这是 Sass 插值中一个简单的实例...然而,这并不完全是可能的。第一个限制,这可能会很删除用于 Sass 变量的插值。

    8300

    是时候学习PostCSS了

    (并不只是那些易怒的、无用的空喊者说的那些)— 不管最后您是否会使用它。因为如果您认为PostCSS只是Sass和Less的替代品,那您可能被骗了。...Sass和Less提供的功能并不是魔法:它们不是那样的:尽管那些幕后英雄可能聪明又勤奋,但针对于您自己的情况,您也不能想当然地认为,他们了解的比您更好。...虽然这可能距今很久了,但请记住,以前很多开发者都在某种程度上抵制Sass和Less,因为他们担心“预处理器”解决实际问题的程度并不能弥补它们给工程带来的复杂性。...我创建了(并且持续维护)一个substantial Sass utility library,因为它在我之前的工作中帮我解决了许多重大的问题,那时候我总是要快速拼出许多CSS规则。...我也想限制我团队的处理权力,只包括非标准的特性。PostCSS这个工具和它的生态系统,非常适合我目前的需要。

    59220

    Sass速通(二):嵌套与作用域

    Sass 提供了嵌套的书写方式,用以简化选择器的书写,同时也带来了“作用域”。...嵌套 选择器嵌套 在 Sass 中,可以在父选择器中写子选择器,以嵌套的形式来表达关联的关系,这样做可以减少我们重复书写父选择器的工作量。...@import @import 是 CSS2 原生支持的指令,由于 CSS 只有在执行到这条指令时,才会去加载对应的文件,这样会导致页面闪烁和加载变慢,所以平时并不常用。...Sass 对 @media 做了一些改进,允许我们在嵌套的过程中书写媒体查询和响应代码。在编译时, Sass 会把媒体查询编译到文件最外层,并为子选择器加上父选择器前缀。...一个元素的样式分散在不同的媒体查询中,维护起来比较麻烦。 在 Sass 中,我们可以在写完一个元素的公共样式之后,直接在下面嵌套媒体查询,所有的响应代码和这个元素都写在同一块地方,维护起来非常方便。

    1.6K20

    Sass-学习笔记【基础篇】

    ——嵌套输出方式 nested Sass提供了一种嵌套显示css文件的方式。...五、Sass嵌套--选择器的嵌套 选择器嵌套功能并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿意看到的一点。...选择器嵌套为样式表的作者提供了一个通过局部选择器相互嵌套实现全局选择的方法, Sass 的嵌套分为三种: 选择器嵌套 属性嵌套 伪类嵌套 (1)选择器嵌套 示例: 假设我们有一段这样的结构...使用 CSS 预处理器语言的一个主要原因是想使用 Sass 获得一个更好的结构体系。...然而,这并不完全是可能的。第一个限制,这可能会很删除用于 Sass 变量的插值。

    4.9K50

    CSS 预处理器中的循环

    Sass 的语法则提供了这三种方法,而 Less 并没有循环语法——但这并不会妨碍我们!开始吧。...因为 for-each 循环本身就是处理项目集合,它是最可靠并最容易理解的循环。 我们通过循环一个简单的颜色列表来看看它是如何工作的。...其中一个例外是生成带编号的选择器,可以是 nth-child (像我们上面做的一样),也可以是自动生成的类名(通常用在栅格系统中)。我们将创建一个简单的不带间距的响应式栅格系统。...嵌套的 @each $reverse in (true, false)可以让我们选择是否将每个颜色组合的前景色和背景色反转。...我并不想遍历整个集合或者特定数量的迭代——我想在找到需要的元素时就停止循环。我通常在抽象的工具包中使用,而在日常编写样式表时并不需要。 我使用 Sass 创建了一个帮助我储存及控制颜色的工具包。

    4.4K60

    Sass 快速入门学习

    什么是css预处理器   众所周知css并不能算是一们真正意义上的“编程”语言,它本身无法未完成像其它编程语言一样的嵌套、继承、设置变量等工作。   在程序员眼里,CSS是一件很麻烦的东西。...但因其一开始的缩进式语法并不能被开发者们接受,所以使用率不高,不过由于其强大的功能和Ruby on Rails 的大力推动,逐渐被更多开发者使用。...Sass从第三代开始,放弃了缩进式风格,并且完全向下兼容普通的css代码,这一代的Sass也被称为Scss。 Sass 和 SCSS 有什么区别?...其主要包括以下几种样式风格: 嵌套输出方式 nested 展开输出方式 expanded 紧凑输出方式 compact 压缩输出方式 compressed 在知识点中,嵌套输出方式,在前端是可以看到效果的...,后几种方式是需要在命令行中编译的,在编译的时候分别带上参数“ --style expanded --style compact --style compressed”: Sass 提供了一种嵌套显示

    1.1K10

    您知道SASS吗?

    SASS使嵌套/分组CSS选择器和构建样式表变得更加容易 Sass通过在其中嵌套CSS类或选择器并在后台生成CSS使其成为可能。...现在如果你用sass来做这件事,它看起来是这样的: 上面的示例展示了SASS如何通过使用(&)将CSS选择器串联在({})中来嵌套几个选择器。...它可以提高您的工作效率 曾经我对使用Sass持怀疑态度,因为我认为学习CSS的一个子集简直是浪费时间,更不用说我过去经常忽略CSS中引入的最新特性,比如Flexbox。...对选择器分组并创建嵌套选择器时简直轻而易举,因为Sass自动的帮我们完成了大量的工作。我可以毫不夸张的说我比使用纯CSS设置样式快了2倍。总体的感觉就是“真香”。...让我们继续为您演示一下: 结论 作为相对资深的前端开发者,我觉得如果您还没有用过Sass,那么建议您快用起来,因为它可能是您工作流程中的重要补充。如果您希望开始学习,可以通过该文档来开始学习。

    92010
    领券