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

CSS预处理——Sass

概述 css预处理工具 CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。...CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题 解决的问题 嵌套规则:通过花括号的方式解决复杂的css父子样式嵌套问题。...Sass 和 CSS 差别: Sass 和 CSS 写法的确存在一定的差异,由于 Sass 是基于 Ruby 写出来,所以其延续了 Ruby 的书写规范。...; } SCSS 和 CSS 差别: SCSS 和 CSS 写法无差别,这也是 Sass 后来越来越受大众喜欢原因之一。...文件路径>/style.css 注释 1、开头使用 ”/* ”,结属使用 ”*/ ”,会在编译出来的 CSS 显示 2、使用“//”,编译出来的 CSS 中不会显示 //定义一个占位符 %mt5 {

1.5K10

CSS 预处理语言 Less

Less 是一门 CSS 预处理语言,作为 CSS 的一种扩展,Less 不仅完全兼容 CSS 语法,而且连新增的特性也是使用 CSS 语法,增加了诸如变量、混合(mixin)、函数等功能,让 CSS...大都是使用同一主题颜色,这时,只需要 Less 定义一个全局的属性,重复调用就可以了Less 的使用方法有多种,详情请参考 Less中文网,本文主要是通过转换工具 Koala,将写好的.less文件编译成.css...文件,也可以通过改变. css文件生成的路径,将其保存到其他地方Less 的使用Less 变量是可以进行动态计算和混合的Less 里的变量都是以@作为变量的起始标识,变量名由字母、数字、_ 和 - 组成在....less 文件中使用 // 进行注释,编译之后的 .css 文件里,注释不会保留,而使用 /**/ 进行注释,在编译之后的 .css 文件里,注释会保留.less 文件@color: red;p {.../base.css"> <a href

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

    谈谈 CSS 预处理

    完整高频题库仓库地址:https://github.com/hzfe/awesome-interview 完整高频题库阅读地址:https://febook.hzfe.org/ 相关问题 CSS 主要有哪些预处理器...为什么需要用预处理器 各预处理器优缺点 回答关键点 Sass Less Stylus PostCSS 工程化 提升效率 CSS 本身不属于可编程语言,当前端项目逐渐庞大之后 CSS 的维护也愈加困难。...CSS 预处理器所做的本质上是为 CSS 增加一些可编程的特性,通过变量、嵌套、简单的程序逻辑、计算、函数等特性,通过工程化的手段让 CSS 更易维护,提升开发效率。...目前主流的 CSS 预处理器主要有 Sass、Less、Stylus、PostCSS。 知识点深入 1. PostCSS[1] PostCSS 是目前最为流行的 CSS 预/后处理器。...CSS Modules[5] CSS Modules 和前文介绍的预处理器不同,不是可编程化的 CSS,而仅是给 CSS 文件加入了作用域和模块依赖,主要是为了解决 CSS 全局污染的痛点以及为了解决全局污染而嵌套过深的问题

    2.6K31

    CSS预处理器-Less

    less 认识 Less是一个 CSS预处理器, Less文件后缀为.less 浏览器不识别less文件,所以在VScode里使用Easy Less插件自动生成css文件 优点: css逻辑更加清晰 免去了繁琐的计算...(直接写计算式就可) 注释 // 单行注释 CTRL+/ 不会跑到css中 /* 多行注释 Alt+shift+a 会跑到css中*/ 语法 .box { /* 加法 */ width...border: @bd; } } Less文件的导入 语法: @import "文件路径"; Less文件导出 方法一: 在设置里面打开setting.json 添加如下代码,就可以自动生成到css.../css/" }, 方法二: 在Less文件中最上面添加: // out: ..../css/base.css 其中csscss文件保存的文件夹名,即css文件的保存路径 base.css是在css文件夹下新建base.css文件 禁止导出 在Less文件中最上面添加: // out

    26010

    CSS进阶 - CSS Modules与预处理器简介

    在前端开发领域,随着项目规模的扩大,CSS管理变得日益复杂。为了提高代码的可维护性、可重用性及避免全局命名冲突,CSS Modules与预处理器(如Sass、Less)应运而生。...World; } /* MyComponent.module.css */ .uniqueClass { color: blue; } 二、预处理器简介 预处理器如Sass、Less等...Modules与预处理器使用,可以在享受预处理器带来的便捷的同时,保持CSS的模块化和安全性。...实践建议 模块化思维:无论是使用预处理器还是CSS Modules,都应坚持模块化设计,提升代码的复用性和可维护性。 适度预处理:利用预处理器的强大功能,但要避免过度设计,保持代码简洁。...四、总结 CSS Modules和预处理器是现代前端开发中的重要工具,它们分别从模块化和功能扩展的角度提升了CSS的开发效率和维护性。

    65210

    什么是CSS预处理

    CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。...通俗的说,“CSS 预处理器用一种专门的编程语言,进行 Web 页面样式设计,然后再编译成正常的 CSS 文件,以供项目使用。...CSS 预处理器为 CSS 增加一些编程的特性,无需考虑浏览器的兼容性问题”,例如你可以在 CSS 中使用变量、简单的逻辑程序、函数(如下面的代码中就使用了变量$color)等等。...其它 CSS 预处理器语言: CSS 预处理器技术已经非常的成熟,而且也涌现出了很多种不同的 CSS 预处理器语言,比如说: Sass(SCSS) LESS Stylus Turbine Swithch...CSS CSS Cacheer DT CSS 到目前为止,在众多优秀的 CSS 预处理器语言中就属 Sass、LESS 和 Stylus 最优秀,讨论的也多,对比的也多。

    64920

    CSS预处理器之Sass

    这里设置为将编译后的 CSS 文件保存为扩展名为 .css 的文件,并指定保存路径为 ~/../css。【~/.....display: flex; } 点击,之后会生成 css.css 文件于 css 文件夹 这就是生成的 css 文件,注意 index.html 中样式文件就是引入该文件 ② Sass 语法扩张 ✅...; } } 转为 css 后 index.css .button.large { font-size: 20px; } /*# sourceMappingURL=index.css.map */...避免生成多余的 CSS代码 使用占位符选择器,它不会变成实际的 CSS 选择器,只有在被 @extend 引用的时候才会真正起作用。...这样一来,就减少了生成的 CSS 文件的大小,让页面加载性能变得轻盈如鸟。不需要多余的CSS 代码。 避免与其他选择器冲突 占位符选择器的命名以 % 开头,与常规的 CSS 类选择器不同。

    16410

    CSS预处理器之SCSS

    # CSS 预处理器之 SCSS 在 CSS 属性的基础上 Sass 提供了一些名为 SassScript 的新功能。...弱类型语言, 对语法要求没那么严格 # 一、注释 Sass 支持标准的 CSS 多行注释 /* */,以及单行注释 //,前者会被完整输出到编译后的 CSS 文件中,而后者则不会。 将 !...当数组被编译为 CSS 时,Sass 不会添加任何圆括号(CSS 中没有这种写法),所以 (1px 2px) (5px 6px) 与 1px 2px, 5px 6px 在编译后的 CSS 文件中是完全一样的...@media Sass 中 @media 指令与 CSS 中用法一样,只是增加了一点额外的功能:允许其在 CSS 规则中嵌套。...在指令中延伸 在指令中使用 @extend 时(比如在 @media 中)有一些限制:Sass 不可以将 @media 层外的 CSS 规则延伸给指令层内的 CSS. g.

    3.9K10

    程序环境和预处理

    接下来,我们具体看过程: 其实笼统地来说,由.c文件到.exe文件,只有两步,编译和链接,但是细分的话,有四步:  所以仔细看图以后,我们可以知道,其实到可执行文件有四步,预处理,编译,汇编,链接...3.运行环境 程序执行的过程: 1. 程序必须载入内存中。在有操作系统的环境中:一般这个由操作系统完成。...在独立的环境中,程序的载入必须由手工安排,也可能是通过可执行代码置入只读内存来完成。 2. 程序的执行便开始。接着便调用 main 函数。( 程序的入口) 3. 开始执行程序代码。...4.预处理 1 预定义符号 __FILE__ // 进行编译的源文件 __LINE__ // 文件当前的行号 __DATE__ // 文件被编译的日期 __TIME__ // 文件被编译的时间...当预处理器搜索#define定义的符号的时候,字符串常量的内容并不被搜索。

    35630

    CSS 预处理器中的循环

    预处理器的循环并不会在太空中发生剧烈爆炸(我希望),但是它有利于书写 DRY CSS(译者注:详细介绍可以参考这篇文章 http://vanseodesign.com/css/dry-principles...我们先看一看循环能做什么,以及在主流的 CSS 预处理器(Sass, Less,Stylus )中如何使用。每一种语言都有特殊的语法,但是最终的效果是相同的。...值得注意的是 CSS 也可以实现 nth-child– 编号,不需要预处理器。然而 CSS 并没有循环结构,它提供了一个 counter() 方法,根据 DOM 的数量递增,可以用于生成内容。...特殊的头像 在 OddBird 上,我们设计了一个生成用户默认头像的程序——但是希望默认图尽可能与众不同。...使用变量存储颜色可能是任何预处理器最普通的使用场景。

    4.4K60

    【C】程序环境和预处理

    本章重点: 程序的翻译环境 程序的执行环境 详解:C语言程序的编译+链接 预定义符号介绍 预处理指令#define 宏和函数的对比 预处理操作符#和##的介绍 命令定义 预处理指令#include 预处理指令...链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以搜索程序员个人的程序库,将其需要的函数也链接到程序中,形成一个完整的可执行程序。...2.编译和链接详解 2.1编译的三个阶段 可在Linux环境下,使用gcc编译器对编译期间的每一步进行操作和观察: 预处理 相关指令:gcc -E test.c -o test.i 预处理完成之后就停下来...,预处理之后产生的结果都放在test.i文件中。...注: 介绍一本书《程序员的自我修养》 3.预处理详解 3.1 预定义符号 __FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 _DATE_ //文件被编译的日期

    18130

    程序环境和预处理(1)

    链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以搜索程序员个人的程序库,将其需要的函数也链接到程序中。...) { int a = 10; int b = 20; int c = Add(a, b); printf("%d\n", c); return 0; } 2.2 编译本身也分为几个阶段 预处理阶段...如果没有定义Add函数,那么在链接的时候就定位不到这个函数,就会发生链接错误,生成不了可执行程序。 2.3 运行环境 程序执行的过程: 程序必须载入内存中。...在有操作系统的环境中:一般这个由操作系统完成;在独立的环境中,程序的载入必须由手工安排,也可能是通过可执行代码置入只读内存来完成。 程序的执行便开始,接着便调用main函数。 开始执行程序代码。...当预处理器搜索#define定义的符号的时候,字符串常量的内容并不被搜索。

    9510

    【C语言】预处理程序环境

    一、程序的翻译环境和执行环境 我们的代码写完后称为源代码,源代码一般都要经过由编译器和链接器组成的翻译环境中,翻译成二进制的指令(机器指令),再进入执行环境一步步执行代码。...#define的替换规则 在程序中扩展#define定义符号和宏时,需要涉及几个步骤。 在调用宏时,首先对参数进行检查,看看是否包含任何由#define定义的符号。如果是,它们首先被替换。...替换文本随后被插入到程序中原来文本的位置。对于宏,参数名被他们的值所替换。 最后,再次对结果文件进行扫描,看看它是否包含任何由#define定义的符号。如果是,就重复上述处理过程。...宏的缺点: 当然和函数相比宏也有劣势的地方: 每次使用宏的时候,一份宏定义的代码将插入到程序中。除非宏比较短,否则可能大幅度增加程序的长度。 宏是没法调试的。...#endif //常量表达式由预处理器求值。 如: #define __DEBUG__ 1 #if __DEBUG__ //..

    10210

    程序的编译(预处理操作)+链接】

    程序的编译(预处理操作)+链接 1. 程序的翻译环境和执行环境 2. 详解编译+链接 2.1 翻译环境&&编译本身分成的几个阶段 2.2 运行环境 3....链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以搜索程序员个人的程序库,将其需要的函数也链接到程序中。...通过上述流程我们得到以下几个关键的编译步骤,即: 预处理 选项 gcc -E test.c -o test.i 预处理完成之后就停下来,预处理之后产生的结果都放在test.i文件中。...如果在上述声明之后,把 SQUARE( 5 ); 置于程序中,预处理器就会用下面这个表达式替换上面的表达式 5 * 5 注意: 这个宏存在一个问题: 观察下面的代码段: int a =...#if 常量表达式 //… #endif //常量表达式由预处理器求值。

    54900

    【C语言】程序的编译、预处理

    3.链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以搜索程序员个人的程序库,将其需要的函数也链接到程序中。...而源程序通过编译和链接最终形成可执行程序,但是编译本身也分为几个阶段:预编译/预处理——编译——汇编 预处理 选项 gcc -E test.c -o test.i 预处理完成之后就停下来,预处理之后产生的结果都放在...当预处理器搜索#define定义的符号的时候,字符串常量的内容并不被搜索 3....这种替换的方式很简单:预处理器先删除这条指令,并用包含文件的内容替换。...,以及预处理的相关内容,条件编译与文件包含等内容,如果觉得不错的话,记得支持一下哦

    26520

    CC++:程序环境和预处理

    编译和链接 一份源代码(比如test.c)需要通过编译,形成一份目标文件,然后与库连接起来,才能形成一份可执行程序test.exe。 编译的过程 编译的过程为:预处理(预编译)、编译、汇编。...预处理:在预处理阶段,源文件包含的头文件会被展开,注释会被去掉,宏会进行替换等等。注意此时还不算是运行了程序,因为还没形成可执行程序。...预处理 选项 gcc -E test.c -o test.i 预处理完成之后就停下来,预处理之后产生的结果都放在test.i文件中。 2....这个时候程序将使用一个运行时堆栈(stack),存储函数的局部变量和返回地址。程序同时也可以使用静态(static)内存,存储于静态内存中的变量在程序的整个执行过程一直保留他们的值。 4. 终止程序。...②当预处理器搜索#define定义的符号的时候,字符串常量的内容并不被搜索。

    63920
    领券