CSS预处理器之Less详解

CSS 预处理器

为什么要有 CSS 预处理器

css基本上是设计师的工具,不是程序员的工具。在程序员的眼里,css是很头痛的事情,它并不像其它程序语言,比如说php、javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难以组织和维护。

很自然的,有人就开始在想,能不能给CSS像其他程序语言一样,加入一些编程元素,让CSS能像其他程序语言一样可以做一些预定的处理。这样一来,就有了“CSS预处器(CSS Preprocessor)”。

什么是 CSS 预处理器

是 CSS 语言的超集,比CSS更丰满。

CSS 预处理器定义了一种新的语言,其基本思想是:用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。

通俗的说,CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。

立即学习“前端免费学习笔记(深入)”;

CSS预处理器技术已经非常成熟,而且也涌现出了很多种不同的CSS预处理器语言,比如说:Sass(SCSS)、LESS、Stylus、Turbine、Swithch CSS、CSS Cacheer、DT CSS等。如此之多的CSS预处理器,那么“我应该选择哪种CSS预处理器?”也相应成了最近网上的一大热门话题,在Linkedin、Twitter、CSS-Trick、知呼以及各大技术论坛上,很多人为此争论不休。相比过计我们对是否应该使用CSS预处理器的话题而言,这已经是很大的进步了。

到目前为止,在众多优秀的CSS预处理器语言中就属Sass、LESS和Stylus最优秀,讨论的也多,对比的也多。本文将分别从他们产生的背景、安装、使用语法、异同等几个对比之处向你介绍这三款CSS预处理器语言。相信前端开发工程师会做出自己的选择——我要选择哪款CSS预处理器。

less 的介绍,less 是一款比较流行的预处理 CSS,支持变量、混合、函数、嵌套、循环等特点。

less 的语法

注释

less 的注释可以有两种。

第一种注释:模板注释

 // 模板注释 这里的注释转换成CSS后将会删除

因为 less 要转换为 css才能在浏览器中使用。转换成 css 之后,这种注释会被删除(毕竟 css 不识别这种注释)。

第二种注释:CSS 注释语法

/* CSS 注释语法 转换为CSS后让然保留 */

总结:如果在less中写注释,我们推荐写第一种注释。除非是类似于版权等内容,就采用第二种注释。

定义变量

我们可以把重复使用或经常修改的值定义为变量,在需要使用的地方引用这个变量即可。这样可以避免很多重复的工作量。

(1)在less文件中,定义一个变量的格式:

@变量名: 变量值;        //格式@bgColor: #f5f5f5;      //格式举例

(2)同时,在 less 文件中引用这个变量。

最终,less文件的完整版代码如下:

main.less:// 定义变量@bgColor: #f5f5f5;// 引用变量body{    background-color: @bgColor;}

我们将上面的less文件编译为 css 文件后(下一段讲less文件的编译),自动生成的代码如下:

main.css:body{    background-color: #f5f5f5;}

使用嵌套

在 css 中经常会用到子代选择器,效果可能是这样的:

.container {  width: 1024px;}.container > .row {  height: 100%;}.container > .row a {  color: #f40;}.container > .row a:hover {  color: #f50;}

上面的代码嵌套了很多层,写起来很繁琐。可如果用 less 的嵌套语法来写这段代码,就比较简洁。

嵌套的举例如下:

main.less:.container {  width: @containerWidth;  > .row {    height: 100%;    a {      color: #f40;      &:hover {        color: #f50;      }    }  }  div {    width: 100px;    .hello {      background-color: #00f;    }  }}

将上面的less文件编译为 css 文件后,自动生成的代码如下:

main.css.container {    width: 1024px;}.container > .row {    height: 100%;}.container > .row a {    color: #f40;}.container > .row a:hover {    color: #f50;}.container div {    width: 100px;}.container div .hello {    background-color: #00f;}

相信看了这些案例你已经掌握了方法,更多精彩请关注创想鸟其它相关文章!

相关阅读:

JavaScript里最常用的20条正则表达式

vscode的常用设置

10进制数如何转为16进制

JS如何实现自定义鼠标右击菜单

以上就是CSS预处理器之Less详解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1545884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 17:35:28
下一篇 2025年12月21日 17:35:36

相关推荐

  • CSS基础语法之CSS的3种引入

    这次给大家带来css基础语法之css的3种引入,css基础语法的css3种引入的注意事项有哪些,下面就是实战案例,一起来看一下。 CSS可算是网页设计的一个突破,它解决了网页界面排版的难题。可以这么说,HTML的Tag主要是定义网页的内容(Content),而CSS决定这些网页内容如何显示(Layo…

    好文分享 2025年12月21日
    000
  • HTML和CSS重点难点问题

    本文主要和大家分享HTML和CSS重点难点问题,希望能帮助到大家。 1.怎么让一个不定宽高的 p,垂直水平居中? 使用flex 只需要在父盒子设置:display: flex; justify-content: center;align-items: center; 使用 CSS3 transfor…

    好文分享 2025年12月21日
    000
  • HTML和CSS重难点知识点总结

    本文主要和大家分享html和css重难点知识点总结,希望能帮助到大家。 怎么让一个不定宽高的 p,垂直水平居中? 使用 Flex 只需要在父盒子设置:display: flex; justify-content: center;align-items: center; 使用 CSS3 transfo…

    好文分享 2025年12月21日
    000
  • css实现聚光灯效果的代码分享

    简介 CSS Variables,一个并不是那么新的东西,但对css来说绝对是一场革命。 之前使用变量的时候,需要借助sass、less等预处理工具来实现,现在我们可以直接使用css来声明变量。 兼容性 老规矩,先来看下兼容性 立即学习“前端免费学习笔记(深入)”; 兼容性一片绿,红的那不是还有两个…

    2025年12月21日 好文分享
    000
  • vue的css动画

    这次给大家带来vue的css动画,使用vue的css动画注意事项有哪些,下面就是实战案例,一起来看一下。 .toggle-cart-enter-active, .toggle-cart-leave-active {transition: all .3s ease-out;}.toggle-cart-…

    好文分享 2025年12月21日
    000
  • 关于CSS里的块级格式

    1.BFC 定义 bfc(block formatting context)直译为”块级格式化上下文”。它是一个独立的渲染区域,只有block-level box(块级元素)参与, 它规定了内部的block-level box如何布局,并且与这个区域外部毫不相干. 通俗地来说…

    好文分享 2025年12月21日
    000
  • CSS的伪类选择器

    这次给大家带来css的伪类选择器,css伪类选择器的注意事项有哪些,下面就是实战案例,一起来看一下。 a.random:hover{color:#64FFDA;font-size:120%;} //选择的是class=”random”的标签。 a#search:active{font-size:80…

    2025年12月21日
    000
  • 为什么把css文件放在头部

    我们知道,在html文件中,我们一般都是把css放在头部,把js放在尾部,这是为什么呢?今天给大家好好分析一下这样做的原因。 这样会先加载css的样式,在渲染dom的时候已经知道了自己的样式了,所以一次渲染成功 如果css放在底部,那么需要先渲染dom,然后加载css后会重新渲染之前dom,需要两次…

    好文分享 2025年12月21日
    000
  • style对象的cssText方法有哪些使用方法

    这次给大家带来style对象的csstext方法有哪些使用方法,style对象的csstext方法使用的注意事项有哪些,下面就是实战案例,一起来看一下。 cssText 本质是什么?   cssText 的本质就是设置 HTML 元素的 style 属性值。 cssText 怎么用? domElem…

    好文分享 2025年12月21日
    000
  • html+css+jquery做选项卡

    这次给大家带来html+css+jquery做选项卡,html+css+jquery做选项卡的注意事项有哪些,下面就是实战案例,一起来看一下。 列表选项卡 body{ margin:0px; padding:0px; } #main{ width:310px; border:1px solid #C…

    好文分享 2025年12月21日
    000
  • html+css+javascript如何实现列表循环滚动

    这次给大家带来html+css+javascript如何实现列表循环滚动,html+css+javascript实现列表循环滚动的注意事项有哪些,下面就是实战案例,一起来看一下。 说明:设置时间定时,在规定的时间内替换前一个节点的内容 1、关键代码:javascript: var dome=docu…

    好文分享 2025年12月21日
    000
  • 怎样操作meta标签中的viewport来控制设备屏幕的css属性

    这次给大家带来怎样操作meta标签中的viewport来控制设备屏幕的css属性,利用meta标签中的viewport来控制设备屏幕的css属性的注意事项有哪些,下面就是实战案例,一起来看一下。 width-viewport的宽度 height-viewport的高度 initial-scale 初…

    好文分享 2025年12月21日
    000
  • 怎样实现meta标签中的viewport来控制设备屏幕的css属性

    这次给大家带来怎样操作meta标签中的viewport来控制设备屏幕的css属性,利用meta标签中的viewport来控制设备屏幕的css属性的注意事项有哪些,下面就是实战案例,一起来看一下。 width-viewport的宽度 height-viewport的高度 initial-scale 初…

    好文分享 2025年12月21日
    000
  • 如何使用CSS对TD中INPUT的宽度设置

    这次给大家带来如何使用css对td中input的宽度设置,使用css对td中input的宽度设置的注意事项有哪些,下面就是实战案例,一起来看一下。 给某个option 添加 selected = “selected” 属性就是默认选项 全部 通过 未通过 则“通过”为默认选中…

    好文分享 2025年12月21日
    000
  • 怎样编写灵活、稳定、高质量的HTML和css代码

    这次给大家带来怎样编写灵活、稳定、高质量的html和css代码,编写灵活、稳定、高质量的html和css代码的注意事项有哪些,下面就是实战案例,一起来看一下。 黄金定律永远遵循同一套编码规范,不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. 一、语法:1.用两个空格来代替制表…

    好文分享 2025年12月21日
    000
  • 怎样用HTML和CSS做出大白

    这次给大家带来怎样用html和css做出大白,用html和css做出大白的注意事项有哪些,下面就是实战案例,一起来看一下。 PS:您最好对 HTML 和 CSS 有一定的了解,但如果你是小白也没关系,小白见「大白」也是可以的! 一、准备工作 进入到 /home/shiyanlou/ 目录下,新建空白…

    好文分享 2025年12月21日
    000
  • Html+css怎样实现纯文字和带图标的按钮

    这次给大家带来html+css怎样实现纯文字和带图标的按钮,html+css实现纯文字和带图标的按钮的注意事项有哪些,下面就是实战案例,一起来看一下。 本文总结一下一些基础页面元素的实现方式,后续陆续更新。首先我们遇到最多的可能是按钮的切图,按钮可能有很多种外观,但是一般可分为纯文字的和带图标的按钮…

    好文分享 2025年12月21日
    000
  • CSS的SASS样式应该怎么使用

    这次给大家带来css的sass样式应该怎么使用,css的sass样式使用的注意事项有哪些,下面就是实战案例,一起来看一下。 随着越来越多的开发者使用SASS,我们有必要关注一下SASS的代码的个数问题。 我们可以从CSS(层叠样式表)的语法出发,来解释SASS语法的一些特别之处,毕竟,CSS样式指南…

    好文分享 2025年12月21日
    000
  • HTML的基础知识.关于css样式表和样式属性的详细介绍

    这次给大家带来html的基础知识.关于css样式表和样式属性的详细介绍,使用html的基础知识css样式表和样式属性的注意事项有哪些,下面就是实战案例,一起来看一下。 一、position:fixed     锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口。 二、position:a…

    好文分享 2025年12月21日
    000
  • css怎样固定div或者table在指定位置

    这次给大家带来css怎样固定div或者table在指定位置,用css固定div或者table在指定位置的注意事项有哪些,下面就是实战案例,一起来看一下。 .bottomTable{ background-color: rgb(249,249,249); z-index:99999999; posit…

    好文分享 2025年12月21日
    000

发表回复

登录后才能评论
关注微信