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

一文学会Less的使用

CSS 代码项目 2.Less介绍 Less(Leaner Style Sheets 的缩写)是一门 CSS 扩展语言,也称为 CSS 预处理器。...做为 CSS 的一种形式的扩展,它并没有减少 CSS 的功能,而是在现有的 CSS 语法上,为 CSS 加入程序式语言的特性。...它在 CSS 的语法基础上,引入了变量,Mixin(混入),运算以及函数等功能,大大简化了 CSS 的编写,并且降低了 CSS 的维护成本,就像它的名称所说的那样,Less 可以让我们用更少的代码做更多的事情...files)将浏览器审查元素中css代码在css文件中的位置改成对应的less文件中的位置 "out": true // false => DON'T output .css files...post a { color: red; border-top: dotted 1px black; border-bottom: solid 2px black; } // 使用类选择器时可以在选择器后边添加一个括号

16953

奇怪的知识又增加了,梳理一遍都有哪些loader

前情回顾 上篇文章简单介绍了一下loader API,那么除了我们常用的css-loader,sass-loader,style-loader,url-loader,vue-loader之外,还有哪些loader...用于加载文件的原始内容(utf-8) val-loader。将代码作为模块执行,并将其导出为 JS 代码 file-loader。将文件保存至输出文件夹中并返回(相对)URL url-loader。...":"18", "books":["js","css","html"] } 如果用CSON写同样的内容,则: # 这里是注释 name: 'terrence' age: '18' books: [...在将图标字体或 CSS 动画应用于 SVG 时,此功能非常实用。...DOM 中 css-loader 加载 CSS 文件并解析 import 的 CSS 文件,最终返回 CSS 代码 less-loader 加载并编译 LESS 文件 sass-loader 加载并编译

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

    【webpack】从vue-cli 2x 到 3x 迁移与实践

    1.为什么需要webpack css预处理器如less、sass等浏览器不支持 部分低版本浏览器不支持es6语法,需要转换为es5语法,为浏览器使用 项目依赖过多,文件过多,需要将复杂的代码结构转换为细化...typescript、css预处理器语法(less、sass)等或者因为浏览器因为版本底不支持新的内置函数,需要将其转换及打包成浏览器支持格式 模块合并打包 代码转换 文件优化 接下来介绍下vue不同版本脚手架...ts 文件 less-loader:处理 less 文件,并将其编译为 css sass-loader:处理 sass、scss 文件,并将其编译为 css postcss-loader:// 解析CSS...文件并且添加浏览器前缀到 CSS 内容里 module.exports = { plugins: [require('autoprefixer')], }; css-loader:处理 css 文件...style-loader:将 css 注入到 DOM file-loader:将文件上的import / require 解析为 url,并将该文件输出到输出目录中 url-loader:用于将文件转换成

    85341

    前端构建:Less入了个门

    ,只需在标签前通过less.js">引入处理器即可实现浏览器端中将less预编译为css样式。...更有效的方式是通过如下代码监测less样式,自动编译为css样式,从而减少我们修改less代码后需按F5后才看到实际效果的繁琐步骤。...& 通过在选择器后添加 "空格&"的方式,可将当前选择器排列到最前面 &指向组选择器时,会生成新的组选择器   Less源码: /* * 采用&引用完整的父选择器 * 可通过追加和预追加的方式加工...2. sourcemap相关      由于在浏览器直接查看和操作的是CSS样式规则,而我们开发时使用的Less代码,这会导致难以找到CSS样式规则所对应的Less代码从而增大调试难度。.../src/less/main.less src/less/main.less bin/style/main.css      在执行lessc命令时通过选项--modify-var="env=debug

    1.7K70

    前端构建:Less入了个门

    ,只需在标签前通过less.js">引入处理器即可实现浏览器端中将less预编译为css样式。...更有效的方式是通过如下代码监测less样式,自动编译为css样式,从而减少我们修改less代码后需按F5后才看到实际效果的繁琐步骤。...& 通过在选择器后添加 "空格&"的方式,可将当前选择器排列到最前面 &指向组选择器时,会生成新的组选择器   Less源码: /* * 采用&引用完整的父选择器 * 可通过追加和预追加的方式加工...2. sourcemap相关      由于在浏览器直接查看和操作的是CSS样式规则,而我们开发时使用的Less代码,这会导致难以找到CSS样式规则所对应的Less代码从而增大调试难度。.../src/less/main.less src/less/main.less bin/style/main.css      在执行lessc命令时通过选项--modify-var="env=debug

    1.4K70

    什么是 CSS 预处理器 与 后处理器

    CSS处理器是做什么的?...CSS本身不是编程语言,所以在项目越来越大时,开发和维护就会越来越复杂 CSS处理器做的事情 就是帮助我们提高大规模开发时的效率 CSS 预处理器 CSS 预处理器是一种语言,用来为 CSS 增加一些编程的的特性...,无需考虑浏览器的兼容性问题 例如你可以在 CSS 中使用变量、简单的程序逻辑、函数等等在编程语言中的一些基本技巧,可以让你的 CSS 更见简洁,适应性更强,代码更直观等诸多好处 Sass、LESS、Stylus...是目前最主流的 CSS 预处理器 以 LESS 为例: LESS .opacity(@opacity: 100) { opacity: @opacity / 100; filter: ~"alpha...CSS 的 预处理器,它属于广义上的 CSS 预处理器 比如最近比较火的 Autoprefixer,可以对css自动处理兼容性问题 示例 以 Autoprefixer 为例: .container {

    2.4K60

    【云+社区年度征文】webpack 学习笔记系列01-基础命令与常见配置

    1. webpack 命令 webpack 命令可以在 package.json 中的 script 字段中添加命令,再使用 npm 执行: "scripts": { "dev": "...hash:16(默认20),区别在于: hash 在整个项目唯一,每次修改任何文件编译都会生成新的 hash,因此无法实现前端静态资源在浏览器上的长缓存; chunkhash 根据不同的入口文件 entry...,当一个 JS 文件中引入了 CSS 文件,编译后它们的 hash 是相同的,只要 JS 文件内容发生改变,与其关联的 CSS 文件 hash 也会改变,针对这种情况,可以把 CSS 从 JS 中使用...3.1.1 单文件入口 module.exports = { // context 上下文在实际开发中一般不需要配置,默认为 process.cwd() 工作目录,必须是一个绝对路径,代表项目的相对路径上下文...,如 less 模块文件,除了将 less 语法转换成 CSS 语法,还需要添加 css-loader 等处理为 js 能直接使用的模块,webpack 的 loader 解析顺序是从右到左(从后到前)

    1.3K90

    Webpack 原理系列七:如何编写loader

    时需要了解的知识和技巧。...调用less 将模块内容转译为 css result = await (options.implementation || less).render(data, lessOptions);...获取异步回调函数,此时 Webpack 会将该 Loader 标记为异步加载器,会挂起当前执行队列直到 callback 被触发 调用 less 库将 less 资源转译为标准 css 调用异步回调...模块 style-loader :将 JavaScript 模块的导出结果以 link 、style 标签等方式挂载到 html 中,让 css 代码能够正确运行在浏览器上 实际上, style-loader...只是负责让 css 能够在浏览器环境下跑起来,本质上并不需要关心具体内容,很适合用 pitch 来处理,核心代码: // ... // Loader 本身不作任何处理 const loaderApi

    1.1K12

    【webpack】从vue-cli 2x 到 3x 迁移与实践

    image.png 1.为什么需要webpack css预处理器如less、sass等浏览器不支持 部分低版本浏览器不支持es6语法,需要转换为es5语法,为浏览器使用 项目依赖过多,文件过多,需要将复杂的代码结构转换为细化...typescript、css预处理器语法(less、sass)等或者因为浏览器因为版本底不支持新的内置函数,需要将其转换及打包成浏览器支持格式 模块合并打包 代码转换 文件优化 接下来介绍下vue不同版本脚手架...ts 文件 less-loader:处理 less 文件,并将其编译为 css sass-loader:处理 sass、scss 文件,并将其编译为 css postcss-loader:// 解析CSS...style-loader:将 css 注入到 DOM file-loader:将文件上的import / require 解析为 url,并将该文件输出到输出目录中 url-loader:用于将文件转换成...默认是 localhost port - 指定要监听请求的端口号 compress - 是否启动gzip压缩 open - 告诉 dev-server 在 server 启动后是否打开浏览器 更多配置前往

    1.1K30

    前端换肤的N种方案,请收下

    虽然现在大部分主流浏览器都可以兼容,但是还要考虑更多的兼容性这块的请往下看: CSS变量兼容性实现-1 在css变量的基础上新增了postcss-custom-properties这个插件 安装依赖:npm...优点:会生成一套与css变量对应的css 缺点:在构建时根据css变量生成对应的css,换肤是运行时并不能生成对应的css。 换肤后样式: ?..."light" : "dark"); cssVars({ watch: true, // 当添加,删除或修改其或元素的禁用或href属性时,ponyfill将自行调用...也就是说我们必须吧代码中所有的less 都以下面这种link的方式来引入,这样less.js 才能在浏览器端实现编译。...注:使用less 来实现换肤要注意 less 文件在 html 中编写的位置,不然很可能被其他css 文件所干扰导致换肤失败。如果less文件特别大,会存在编译性能问题。

    2.2K20

    第128天:less简单入门

    /p/lesscss/ 2、为什么要有预处理CSS CSS基本上是设计师的工具,不是程序员的工具。...在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难易组织和维护...CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,...如此之多的CSS预处理器,那么“我应该选择哪种CSS预处理器?”也相应成了最近网上的一大热门话题,在Linkedin、Twitter、CSS-Trick、知呼以及各大技术论坛上,很多人为此争论不休。...更有效的方式是通过如下代码监测less样式,自动编译为css样式,从而减少我们修改less代码后需按F5后才看到实际效果的繁琐步骤。

    97840

    boi剖析 - 基于webpack的css sprites实现方案

    __sprite'); } fis的css sprites功能要求开发者在style代码中添加__sprite标识,fis通过识别这个标识来区分资源类型。...但是,在代码中书写标识,首先需要具体的业务开发人员时刻注意不要遗漏;其次,这种模式实质上是对代码的一种“绑架”,代码中存在与业务无关的内容并且可移植性不高。...postcssSpritesOpts是提供给用户自定义postcss-sprites相关功能的,这个配置项一般情况下是不需要用户操作的。...在配置postcss时,要注意以下几点: 使用less/sass等css预编译器时postcss的执行时机问题; 通过路径进行图标文件合法性过滤; 以子目录名称和分辨率标识为基础的sprites图片命名规则...less' } webpack对less文件的编译顺序为:less->css->style。那么在使用postcss时应该在哪一步执行呢?

    1.1K90

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

    css预处理器 由于浏览器只能理解和识别纯CSS语法,因此不能简单地用全新的语言代替它。但是,目前的css确实有一些局限性,这在小型项目中可能并不重要,但是在处理庞大的样式表时确实会付出巨大的代价。...要变通解决此问题,开发人员发明了CSS预处理器。本质上,预处理器是具有自己独特语法的程序。您编写代码后,他们会将其编译为纯CSS。这和现在流行的TS是一个道理。...我们使用CSS预处理程序的原因是添加CSS否则无法提供的其他功能。例如,我们可能具有嵌套或继承选择器,以及mixins(可重用的声明包)。...它的语法还包含三元运算符和嵌套收集器。 Less的另一个小缺点是使用@符号进行变量声明(Sass使用$符号代替)。但是,在CSS中,@也可以用于关键帧和媒体查询。在阅读代码时,这可能会引起一些混乱。...PostCSS PostCSS是不是实际上是一个CSS预处理器。因为它可以用作预处理器,后处理器,实际上它是各种处理器,它们也可以帮助您优化,清理代码以及执行各种其他任务。

    82710

    假如用王者荣耀的方式学习webpack

    使用插件只需要require()它,然后再添加到plugin模块中,通常情况下多数插件是可自定义的,所以想在一个配置文件中使用不同配置功能的插件,必须通过new创建一个新的实例。)...转换编译(Transpiling) script-loader 在全局上下文中执行一次 JavaScript 文件(如在 script 标签),不需要解析 babel-loader 加载 ES2015+...代码,然后使用 Babel 转译为 ES5 buble-loader 使用 Bublé 加载 ES2015+ 代码,并且将代码转译为 ES5 traceur-loader 加载 ES2015+ 代码,...在应用于图标字体,或将 CSS 动画应用于 SVG 时非常有用。 ?...样式 style-loader 将模块的导出作为样式添加到 DOM 中 css-loader 解析 CSS 文件后,使用 import 加载,并且返回 CSS 代码 less-loader 加载和转译

    85120

    Sass中你不清楚的小细节-持续更新

    Partials import 定义 和css类似scss支持@import命令,但css的import命令每次调用都会创建一个额外的html请求,但scss的import命令是编译时将文件包含在css...如果我们需要导入 SCSS 或者 Sass 文件,但又不希望将其编译为 CSS,只需要在文件名前添加下划线,这样会告诉 Sass 不要单独编译这些文件,但导入语句中却不需要添加下划线。...简单来说,项目目录中的所有scss文件在编译阶段都会被编译成为一个个css文件。...注意: 当 @content 在指令中出现过多次或者出现在循环中时,额外的代码将被导入到每一个地方。...需要主要的是:scope伪类在css中已经不被大多数浏览器支持,甚至已经废弃。但是在js这些方法中仍然被主流浏览器支持。

    2.7K20

    【前端工程化】Rollup构建工具

    在一个项目中,常见需要考虑的问题有: 代码压缩、代码混淆 兼容性处理 TypeScript、Less、Sass等转译处理 Tree Shaking(Rollup默认支持并启用) 通用化(支持打包转译为umd...有些配置文件,生成目录的文件是不需要Eslint检查,因此可以在项目根目录新建一个 .eslintignore 文件,例如: /dist/ /public/ /rollup.config.js 当然ESlint...给团队的开发提效的收益也是非常明显的,当然一定要根据情况配置合适的代码规范约束。 「4.5 CSS预处理器插件」 常见的CSS预处理插件有:SCSS、SASS、LESS。...() ] }); 就可以在打包编译时候将less文件转译为CSS。...作为前端工程师,我们不仅是要会用,还要明白构建的整个过程,这有助于我们在编码、架构设计上能够更加合理,或者说更“自然”。后续将分享关于Rollup构建流程的分析文章~

    2K41

    Atom飞行手册翻译: 3.1 ~ 3.2

    由于Atom完全采用web技术实现,我们必须假设你知道CoffeeScript和Less的任何事情,它们是Javascript和CSS的预处理器。...Less是源于CSS的简化转换,它向CSS中添加了一些有用的东西,比如变量和函数。你可以在lesscss.org上面复习Less的技巧。...但是我们对Less的使用并不涉及到这本书中太复杂的部分,所以你只要懂得CSS的基本知识就够了。...例如,如果你在设置中开启了蜂鸣提示音,你可以将以下代码添加到init.coffee,让Atom在每次加载时用蜂鸣提示音向你打招呼。...下面是一个使用了选择APi和剪贴板API的命令,它从被选中的文本和剪贴板内容中构建Markdown连接作为URL: atom.commands.add 'atom-text-editor', 'markdown

    27430
    领券