您的当前位置:首页正文

Less用法指南_html/css_WEB-ITnose

2022-06-15

  目录:

  •    什么是LESS
  •   目的
  •   语法
  •     变量(Variables)
  •     混合(Mixins)
  •     运算符(Operations)
  •     功能函数(Functions)
  •     嵌套规则(Nested Rules)
  •     命名空间(Namespaces)
  •     注释(Comments)
  • 1、什么是LESS

    LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。

    LESSCSS可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。

    LESSCSS是一种由Alexis Sellier设计的动态层叠样式表语言。受Sass所影响,同时也影响了Sass的新语法:SCSS。[1]

    LESSCSS是开源的,其第一个版本由Ruby写成,但在后续的版本当中,Ruby逐渐被复用为JavaScript。受益于JavaScript,LESS可以在客户端上运行(IE6+、Webkit、Firefox),也可以在服务端运行(Node.js、Rhino)。

    2、目的

    学习笔记,里边加了一些体会。同时也希望以后不用去参照官方文档了。中文官网、英文官网。

    3、语法:

    3.1、变量(Variables)

    其实更应该称为常量。因为只能取最后一次的赋值。

    语法规则:

    @变量名:值;

    值可以是css属性值,也可以是其他变量

    3.1.1 css属性值

    @backColor: yellow;.a { background-color: @backColor;}@backColor: blue;.b { background-color: @backColor;}

      编译后:

    .a { background-color: #0000ff;}.b { background-color: #0000ff;}

      从编译后的结果可以看出来,只取变量的最后一次赋值结果。

    @backColor: blue;

       3.1.2 变量名做作为变量

    @com: color;@color: #111;#header { background-color: @@com + 5 * 2; color: @color;}

      编译后:

    #header { background-color: #1b1b1b; color: #111111;}

       注:仅支持@@,不支持>2@。  3.1.3 作用域(scope)

    @color: red;#header { @color: white; .a { color: @color; // white }}.b { color: @color; // red }

      编译后:

    #header .a { color: #ffffff;}.b { color: #ff0000;}

    可以看出来,LESS中变量作用域处理方式和js一致,采用链式作用域方式。至于上面的嵌套写法,先不用理解,后面会说到。 

    用法:

    1、统一的样式修改(当然没有LESS之前,我们也可以通过规范进行实现);  

    2、四则运算(Operations),虽然仅仅四则,但是已经可以完成大多数功能了;  

    3、和混合(Mixins)结合使用,你像使用函数一下使用他;  

    4、和js相同的链式作用域,前端工程师非常容易理解。

    3.2 混合(Mixins)  

    我把他分为两种形式:函数和复用。  

    Bad smell(代码的坏味道)中第一条一般就是Duplicated Code(重复代码)。如何解决?就是代码封装。Mixins就是这样一个作用。  

    函数:

    .c(@bg: red) { background-color: @bg; width: 100px; height: 200px;}@bgc: yellow;.a { .c(@bgc);}@bgColor: @bgc + #111;.b { .c(@bgColor);}.d { .c();}

      编译之后的代码:

    .a { background-color: #ffff00; width: 100px; height: 200px;}.b { background-color: #ffff11; width: 100px; height: 200px;}.d { background-color: #ff0000; width: 100px; height: 200px;}

       注:编译之后没有.c相关内容。

    @arguments    

    这个写法借签了js的函数参数。一般用于一些简写方式:

    .boxShadow(@x:0,@y:0,@blur:1px,@color:#000){ -moz-box-shadow: @arguments; -webkit-box-shadow: @arguments; box-shadow: @arguments;}#header { .boxShadow(2px,2px,3px,#f36);}

      编译后:

    #header { -moz-box-shadow: 2px 2px 3px #ff3366; -webkit-box-shadow: 2px 2px 3px #ff3366; box-shadow: 2px 2px 3px #ff3366;}

       复用:

    .d { .e;}.e { position: absolute;}#f { position: relative;;}.m { #f;}

      编译之后

    .d { position: absolute;}.e { position: absolute;}#f { position: relative;}.m { position: relative;}

    发现没有?.e和#f内容都存在。

    注:class, id 属性集都可以以同样的方式复用。  

    “函数”和“复用”区别:  

    1、前者可以传参;  

    2、前者编译之后不存在,后者依然存在。 

    用法:  

    1、代码封装;  

    2、同变量一同,像函数一样使用,封装之后我们可以进行统一的样式修改;  

    3、样式复用,主要针对“复用”。

    3.3 运算符(Operations)  

    目前仅支持加、减、乘、除四则运算,主要针对数字、颜色、变量的操作。

    @baseWith: 100px;@baseHeight: 50px;@baseColor: #333;.a { height: @baseHeight + 300; min-width: @baseWith - @baseHeight; width: @baseWith * 3; color: @baseColor / 3;}

      编译后:

    .a { height: 350px; min-width: 50px; width: 300px; color: #111111;}

      可以使用()改变运算的先后顺序

    @com: 25px;#header { width: @com + 5 * 2; height: (@com + 5 ) * 2;}

      编译后:

    #header { width: 35px; height: 60px;}

    3.4 功能函数(Functions)  

    主要针对color的处理。提供如下函数:

    lighten(@color, 10%); // return a color which is 10% *lighter* than @colordarken(@color, 10%); // return a color which is 10% *darker* than @colorsaturate(@color, 10%); // return a color 10% *more* saturated than @colordesaturate(@color, 10%); // return a color 10% *less* saturated than @colorfadein(@color, 10%); // return a color 10% *less* transparent than @colorfadeout(@color, 10%); // return a color 10% *more* transparent than @colorspin(@color, 10); // return a color with a 10 degree larger in hue than @colorspin(@color, -10); // return a color with a 10 degree smaller hue than @color

    本人使用的不是很多,想了解更详细的新可以参考官网,或者这里。

    3.5 嵌套规则(Nested Rules)

    为了和上面做区分,同时带入一个新功能,以一个新例子开始。html代码如下:

     hanyangecho 

    我的世界

      LESS代码如下:

    #header { display: inline; float: left; h1 { font-size: 26px; font-weight: bold; a { text-decoration: none; color: #f36; &:hover { text-decoration: underline; color: #63f; } } } p { font-size: 12px; }}

      编译之后:

    #header { display: inline; float: left;}#header h1 { font-size: 26px; font-weight: bold;}#header h1 a { text-decoration: none; color: #f36;}#header h1 a:hover { text-decoration: underline; color: #63f;}#header p { font-size: 12px;}

    说实话,第一次看到这种写法的时候,我就爱上LESS了。这不就是DOM的写法吗?这种写法无论后期维护、理解都是那么自然。是不是有一种本来就该如此的感觉?

    注意一下上面那个&符号。

    在Less中嵌套书写中有没有&是完全不一样的效果,有&时解析的是同一个元素或此元素的伪类,没有&解析是后代元素,我们一起来看一段代码

    #header { &.fl{ float: left; } .mln { margin-left: 0; }}

      编译后:

    #header.fl { float: left; }#header .mln { margin-left: 0; }

    3.6 命名空间(Namespaces)

    这种方式支持我们通过命名空间的方式访问上面嵌套中的“函数”或“复用”。

    #header { .a(@bgColor: red) { background-color: @bgColor; } .b { width: 100px; }}.c { #header > .a(yellow); #header > .b; height: 200px;}

      编译后:

    #header .b { width: 100px;}.c { background-color: #ffff00; width: 100px; height: 200px;}

       3.7注释( Comments)

      单行://多行:/**/

    参考:

      http://www.w3cplus.com/css/less

      http://www.lesscss.net/article/document.html

    小编还为您整理了以下内容,可能对您也有帮助:

    在html中导入less文件后怎样使用?

    既然你的文件类型是.less的,那么你在引用的时候type的类型也应该是less的

    如:

    <link rel="stylesheet/less" type="text/css" href='/less/main.less'/>

    <scriptsrc="/js/less-1.6.0.min.js"type="text/javascript"></script>

    <script>less.watch();</script>

    HTML

      超文本标记语言,标准通用标记语言下的一个应用。

      超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

    语言特点:

      简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便。

      可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。

      平台无关性:虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。

      通用性:另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。

    在html中导入less文件后怎样使用?

    既然你的文件类型是.less的,那么你在引用的时候type的类型也应该是less的

    如:

    <link rel="stylesheet/less" type="text/css" href='/less/main.less'/>

    <scriptsrc="/js/less-1.6.0.min.js"type="text/javascript"></script>

    <script>less.watch();</script>

    HTML

      超文本标记语言,标准通用标记语言下的一个应用。

      超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

    语言特点:

      简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便。

      可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。

      平台无关性:虽然个人计算机大行其道,但使用MAC等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(WWW)盛行的另一个原因。

      通用性:另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。

    less的用法

    adv.

    较少地;较小地;更小地

    adj.

    较少的;较小的

    prep.

    减去

    n.

    较少;较小

    less不是只能做比较级的意思,也可以单独做形容词,副词等使用。

    1.there is less furniture in the room now.

    2.your should hurry up.there is less time left.

    3.I have less books than you.

    4.there is less left in the bottle now.

    less

    英[les]美[lɛs]

    adv.

    较少地;较小地。

    adj.

    较少的;较小的;少的。

    prep.

    减去

    n.

    较少;较小。

    less不是只能做比较级的意思,也可以单独做形容词,副词等使用。

    less样式如何使用cssmodule

    1.Less
    变量:@变量名
    混合:在a类中使用b类的所有属性, .a{ .b(); color:#fff}
    嵌套:使用嵌套代替原始css的层叠,& 表示当前选择器的父级
    运算:+ - * /,可以对任何数字、颜色或变量进行运算
    转义:
    函数:Less 内置了多种函数用于转换颜色、处理字符串、算术运算等
    命名空间和访问符
    作用域:首先在本地查找变量和混合(mixins),如果找不到,则从“父”级作用域继承
    注释: // 行注释,/.../块注释
    导入:@import "library";可以导入一个 .less 文件,此文件中的所有变量就可以全部使用了, .less 扩展名,可以省略掉
    2.css moles
    CSS的规则都是全局的,任何一个组件的样式规则,都对整个页面有效。产生局部作用域的唯一方法,就是使用一个独一无二的class的名字,不会与其他选择器重名。 CSS Moles是通过哈希算法将类名编译,保证类名的唯一性。
    声明全局规则:
    灵活按需导入以便复用代码,避免样式全局污染,但不利于写组件单元测试
    3.CSS bem规范
    BEM - Block Element Modfier(块,元素,编辑器)
    在选择器中用三种符号来表示扩展关系
    -中划线 :仅作为连字符使用,表示某个块或者某个子元素的多单词之间的连接记号。
    __ 双下划线:双下划线用来连接块和块的子元素
    -- 双中划线:用来描述一个块或者块的子元素的一种状态
    type-block__element--modifier
    Block:不是指html中的块元素,任何独立的页面元素都可以视为一个块,这个独立的块容器有一个唯一的css类名,也就是这个块的名字
    Element:属于块的某部分,任何的在Block中的DOM节点,都是一个element。在一个已知的block中,所有的element在语义上都是相等的,Block下的所有Element不考虑层级嵌套关系,扁平化处理都属于Block,即连续的__下划线只能出现一次
    Modifier:用于修饰块或元素,体现在外观或行为上的改变,都可作为一个修饰器,如active状态,add/edit的操作
    注意事项:
    1)保证各个部分只有一级B__E--M,修饰器需要和对应的块或元素一起使用,避免单独使用。不能有 .block__el1__el2 的格式
    2)仅以类名作为选择器,不使用ID或标签名来约束选择器
    ...import'./index.less'...<divclassName="article"><divclassName="article__body"><pclassName="article__title">title</p><buttonclassName="article__button--primary"></button><buttonclassName="article__button--success"></button></div></div>//index.less文件.article{max-width:1200px;&__body{padding:20px;}&__title{font-weight:700;}&__button{padding:5px8px;&--primary{background:blue;}&--success{background:green;}}}

    less样式如何使用cssmodule

    1.Less
    变量:@变量名
    混合:在a类中使用b类的所有属性, .a{ .b(); color:#fff}
    嵌套:使用嵌套代替原始css的层叠,& 表示当前选择器的父级
    运算:+ - * /,可以对任何数字、颜色或变量进行运算
    转义:
    函数:Less 内置了多种函数用于转换颜色、处理字符串、算术运算等
    命名空间和访问符
    作用域:首先在本地查找变量和混合(mixins),如果找不到,则从“父”级作用域继承
    注释: // 行注释,/.../块注释
    导入:@import "library";可以导入一个 .less 文件,此文件中的所有变量就可以全部使用了, .less 扩展名,可以省略掉
    2.css moles
    CSS的规则都是全局的,任何一个组件的样式规则,都对整个页面有效。产生局部作用域的唯一方法,就是使用一个独一无二的class的名字,不会与其他选择器重名。 CSS Moles是通过哈希算法将类名编译,保证类名的唯一性。
    声明全局规则:
    灵活按需导入以便复用代码,避免样式全局污染,但不利于写组件单元测试
    3.CSS bem规范
    BEM - Block Element Modfier(块,元素,编辑器)
    在选择器中用三种符号来表示扩展关系
    -中划线 :仅作为连字符使用,表示某个块或者某个子元素的多单词之间的连接记号。
    __ 双下划线:双下划线用来连接块和块的子元素
    -- 双中划线:用来描述一个块或者块的子元素的一种状态
    type-block__element--modifier
    Block:不是指html中的块元素,任何独立的页面元素都可以视为一个块,这个独立的块容器有一个唯一的css类名,也就是这个块的名字
    Element:属于块的某部分,任何的在Block中的DOM节点,都是一个element。在一个已知的block中,所有的element在语义上都是相等的,Block下的所有Element不考虑层级嵌套关系,扁平化处理都属于Block,即连续的__下划线只能出现一次
    Modifier:用于修饰块或元素,体现在外观或行为上的改变,都可作为一个修饰器,如active状态,add/edit的操作
    注意事项:
    1)保证各个部分只有一级B__E--M,修饰器需要和对应的块或元素一起使用,避免单独使用。不能有 .block__el1__el2 的格式
    2)仅以类名作为选择器,不使用ID或标签名来约束选择器
    ...import'./index.less'...<divclassName="article"><divclassName="article__body"><pclassName="article__title">title</p><buttonclassName="article__button--primary"></button><buttonclassName="article__button--success"></button></div></div>//index.less文件.article{max-width:1200px;&__body{padding:20px;}&__title{font-weight:700;}&__button{padding:5px8px;&--primary{background:blue;}&--success{background:green;}}}

    CSS 编程:LESS 助您事半功倍

      在本文中 我将介绍使用 LESS Framework 动态生成 CSS 内容的 Web 开发

      毫无疑问 CSS 代表一大飞跃 它有望将内容与网页显示完全分离 而且在很大程度上实现了这一点 尽管 CSS 属于(或应该属于?)设计人员关注的范畴 它率先提出了关注点分离原则 几乎每个开发人员都对此非常敏感 因此 CSS 很快获得采用 它在 Web 开发过程中如此根深蒂固 以致于有时难于满足最新网站的需求

      问题并不是 CSS 不足以满足样式最新 图形丰富并且外观吸引人的网站需求 而是纯粹的声明语言并非始终适合表现复杂的互联样式声明 好在只要编写正确 CSS 对于浏览器仍然合理 但对人来说也是如此吗?

      Web 开发中一个相对较新的方向是围绕 CSS 构建基础结构 使开发人员和设计人员能够以可持续性更高的方式生成相同的 CSS 最终的浏览器样式表并无变化 但其生成方式应有所不同 更易读也更容易管理

      这一 Web 开发领域出现于几年前 现在日渐成熟 有几个可用的框架可以帮助您进行动态 CSS 内容生成 我将提供其中一个框架 也就是 LESS Framework 的执行概要 并演示它如何与 ASP NET MVC 解决方案集成

    为何采用 LESS?

      开发人员借助 LESS 解决的最大问题之一 是信息的重复 作为软件开发人员 您可能了解 切勿重复 (DRY) 原则并且每天都在应用 DRY 的主要优点在于 它减少了相同信息的存储位置 因而减少了应更新该信息的位置的数量

      对于普通 CSS 您根本不会遇到 DRY 问题 例如 在某些其他情况下 如果多个类中使用某种颜色 而您需要对其进行更改 可能除了逐一更新之外没有更好的办法了 使用 CSS 类可以定义特定元素的外观 并针对样式相关的元素以相同的方式跨页面重复使用 尽管 CSS 类确实可以减少重复 但有时在其他方面显得不足

      CSS 类的一个问题是它们在语义 HTML 元素的级别运行 在构建各种 CSS 类时 经常需要重复颜色或宽度等细节信息 对这些可重复细节中的每一个使用同一个类并不方便 即使设法用一个 CSS 类表示几乎所有可重复样式 如颜色和宽度 当开始对语义元素(如容器)应用样式时 还是应该连用多个 CSS 类以便实现所需的效果

      如果您曾用 Bootstrap 等框架设计过网页 就会明白我的意思 例如

      <a class= btn btn primary />

      首先将锚点设置为一个按钮(类 btn) 然后设置为特定风格的按钮(类 btn primary) 这种方法有效 但可能需要进行大量工作提前计划所需的类 这会增加 Web 项目的工作量 而项目往往时间紧迫

      LESS 这样的动态样式表语言表示一种横向思维 您不必花时间尝试使普通 CSS 变得更加智能 只需使用不同的工具(一般是语言)进行生成即可 因此 LESS 是一种框架 它向 CSS 编码添加了编程人员友好的概念 如变量 块和函数

      与动态 CSS 生成严格相关的 是将其处理为普通 CSS 供浏览器使用的问题 客户端可以通过临时 JavaScript 代码处理 LESS 代码 也可以在服务器上对其进行预处理 使浏览器只接收最终的 CSS

    在 ASP NET MVC 中设置 LESS

      我将演示从 ASP NET MVC 应用程序中使用 LESS 所需的操作 首先 我将重点介绍 LESS 代码的客户端处理 在布局文件的 HEAD 部分添加以下内容

      <link rel= stylesheet/less type= text/css href= @Url Content( ~/content/less/mysite less ) /> <script type= text/javascript src= @Url Content( ~/content/scripts/less min js ) ></script>

      这里假设您已在项目中创建了 Content/Less 文件夹以包含所有 LESS 文件 您需要一个 JavaScript 文件 以便在浏览器中进行实际的 LESS 到 CSS 处理 您可以从 获取该脚本文件 我将回顾一些可证明 LESS 有用的场景

      

    运行中的 LESS 变量

      观察 CSS 渐变是了解 LESS 变量作用的好方法 多年以来 设计人员使用小的 GIF 文件绘制 HTML 容器的渐变背景 最近 浏览器增加了 CSS 渐变支持 这也是官方 CSS 标准的一部分 通过线性渐变语法及其变体实现 很遗憾 如果要确保尽量多的浏览器采用这种渐变 必须借助一些东西 如 中的代码

       中的代码几乎不可读 更糟的是 在需要渐变的任何地方都必须重复使用这些代码 此外 如果要稍微更改一下渐变颜色(或只更改饱和度或淡化效果) 唯一的办法是在所有位置进行手动编辑 直截了当地说 这非常困难 但是 这是对于普通 CSS 唯一可行的方法

       图 在多种浏览器中显示渐变的综合代码

      

      /* Old browsers fallback */ background color: #ff ; background: url(images/red_gradient png); background repeat: repeat x; /* Browser specific syntax */ background: moz linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); background: Webkit linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); background: o linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); background: ms linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); /* Standard syntax */ background: linear gradient( to right #fceabb % #fccd d % #f b % #fbdf %);

      为找到更好的解决方案 您需要跳出 CSS 试试 LESS 在 LESS 中 您只需定义一次渐变 CSS 然后在适当的位置按名称引用即可 例如

       background gradient orange { background: #fceabb;              }   &ntainer { background gradient orange; }            

      名为 background gradient orange 的类按名称在适当的位置嵌入到类容器和任意其他类中 而渐变定义保存在一个位置

      从开发人员的角度来看 这并不是什么*性的改变 不过 它使用了变量功能 这是 CSS 中没有的 事实上 如果将文件保存为普通样式表并引用的话 前面的语法并不可行 需要一些代码将扩展语法转换为普通 CSS 这正是 LESS JavaScript 分析器的功能 它将变量扩展为其实际 CSS 内容

      变量还适用于颜色或大小等标量值 请考虑以下 LESS 代码

      @black: # ;    #main {  color: @black; }     header { background color: @black; }            

      分析器将 @black 变量扩展为分配的值并进行全文件替换 最终效果是 在一处更改实际颜色 整个文件中的相应内容会自动更改 运行中的 LESS Imports

      如果需要 您可以将 LESS 代码拆分到多个文件 引用文件和包含的类中 例如 假设您创建一个 gradients less 文件 内容如下

       background gradient orange { background: #fceabb;              }            

      在另一个 LESS 文件中 如 main less 您可以通过导入该文件引用任何渐变

      @import "gradients";   &ntainer { background gradient orange; }            

      如果 gradients less(扩展名不是严格必需的)位于其他文件夹中 则应在调用中指示路径信息以便导入 LESS Mixin

      我调用该 LESS 项目进行变量渐变 严格来说 这并不完全正确 在 LESS 中 一个变量包含一个单一值 一个 CSS 类容器被称为一个 mixin 这类似于函数 但不包含任何自定义逻辑 就像函数一样 LESS 可以接受和处理参数 请看看图 中演示 mixin 的代码

      在图 中 一个名为 shadow 的 mixin 定义了框阴影样式 并将颜色作为外部参数公开 与之类似 text box mixin 定义输入字段的基本外观 它导入阴影定义并保持宽度为参数化形式 通过这种方式 为不同大小(mini normal 和 large)的输入字段定义三个类就非常简单了 更重要的是 它只需进行少量编辑工作 更新也非常简单(请参阅图 )

      图 LESS Framework 中的 Mixin

      /*  Mixins  */     shadow(@color) {      box shadow: px px px @color;    }     text box(@width) {       shadow(# );      border: solid px # ;      background color: #dddd ;      padding: px;      width: @width;    }    /*  CSS classes  */     text box mini {       text box( px);    }     text box normal {       text box( px);    }     text box large {       text box( px);    }

       图 运行中的 LESS Mixin

      Mixin 可以接受多个参数或可变数量的参数 此外 每个参数都支持默认值

       mixin(@color: #ff ) {              }            

      LESS 并不是富编程语言表示 它的设计缺少命令来指示条件或循环 但 mixin 的行为仍然可以根据所传递的值发生变化 假设您要对一个较大的按钮使用较粗的边框和字体 您定义一个名为 button 的参数化 mixin 使用关键字 when 将设置与条件绑定 条件必须基于一个参数

       button (@size) when (@size < px) {     padding: px;     font size: em;     width: @size * ;    }     button (@size) when (@size >= px) {      padding: px;      font size: em;      font weight: ;      background color: red;      width: @size * ;    }            

      您应用不同的设置 但也可以使用基本操作通过一个系数将大小扩大为数倍 然后在实际 CSS 类中使用 mixin

       push button large {       button( px);    }     push button *** all {       button( px);    }            

      运行此代码的结果如 所示

       图 在 CSS 类中使用 LESS Mixin 的效果

      LESS 附带很多可操作颜色的预定义函数 您可以使用函数按百分比调整颜色亮度和饱和度 也可以按百分比设置颜色淡入和淡出 如下所示

       push button {      background color: fade(red %);    }            

      有关 LESS 支持的函数的完整文档 请参阅 嵌套类

      我个人觉得需要重复 CSS 块指示同级样式非常讨厌 下面是一个典型示例

      #container h {              }    #container p {              }    #container p a {              }    #container img {              }            

      在编写得很好的普通 CSS 中 实际上可以避免很多重复 但使用平面列表布局样式的方式并不是最好的 在这种情况下 最好使用一些层次结构 在 LESS 中 可以像这样嵌套样式规则

      &ntainer {      h {        font size: em;       color: fade(# %);       a {         color: # ;         &:hover {color: red;}        }      }    }            

      经过处理后 前面的 LESS 代码会产生下面的样式

      &ntainer h   &ntainer h a   &ntainer h a:hover            

      服务器端处理

      您可以原样下载 LESS 代码 在客户端通过 JavaScript 代码对其进行处理 也可以在服务器上进行预处理 然后将它作为普通 CSS 下载到客户端 在前一种情况下 完全像使用普通 CSS 文件一样 服务器端更改在下一次页面刷新时应用到客户端

      如果您注重性能 处理的是大型复杂 CSS 文件 则服务器端预处理可能是更好的选择 服务器端预处理发生在您每次修改服务器上的 CSS 时 您可以在生成过程结束时手动完成额外的步骤 使用 LESS 编译器从命令行将 LESS 代码预处理为 CSS 此编译器是为服务器端工作安装的 less NuGet 软件包的一部分

      不过 在 ASP NET MVC 中 可以将 LESS Framework 与*机制集成 有关*机制 请参阅我在 年 月的专栏 CSS 编程 *和缩小 (msd/magazine/dn ) 这确保只要请求 LESS 文件 就会执行 LESS 到 CSS 的转换 还确保通过 If Modified Since 标头正确管理缓存 最后 您可以将分析和缩小混合起来 要在 ASP NET MVC 中集成 LESS 首先需要下载并安装 less NuGet 软件包 然后将以下代码添加到 BundleConfig 类

      var lessBundle =      new Bundle("~/myless") IncludeDirectory("~/content/less" "* less");    lessBundle Transforms Add(new LessTransform());    lessBundle Transforms Add(new CssMinify());    bundles Add(lessBundle);            

      *将打包在指定文件夹中找到的所有 less 文件 LessTransform 类负责 LESS 到 CSS 的转换 该类使用 less API 分析 LESS 脚本 LessTransform 的代码非常简单

      public class LessTransform : IBundleTransform    {      public void Process(BundleContext context BundleResponse response)      {        response Content = dotless Core Less Parse(response Content);        response ContentType = "text/css";      }    }            

      更多智能工具

    lishixin/Article/program/Web/201404/30643

    CSS 编程:LESS 助您事半功倍

      在本文中 我将介绍使用 LESS Framework 动态生成 CSS 内容的 Web 开发

      毫无疑问 CSS 代表一大飞跃 它有望将内容与网页显示完全分离 而且在很大程度上实现了这一点 尽管 CSS 属于(或应该属于?)设计人员关注的范畴 它率先提出了关注点分离原则 几乎每个开发人员都对此非常敏感 因此 CSS 很快获得采用 它在 Web 开发过程中如此根深蒂固 以致于有时难于满足最新网站的需求

      问题并不是 CSS 不足以满足样式最新 图形丰富并且外观吸引人的网站需求 而是纯粹的声明语言并非始终适合表现复杂的互联样式声明 好在只要编写正确 CSS 对于浏览器仍然合理 但对人来说也是如此吗?

      Web 开发中一个相对较新的方向是围绕 CSS 构建基础结构 使开发人员和设计人员能够以可持续性更高的方式生成相同的 CSS 最终的浏览器样式表并无变化 但其生成方式应有所不同 更易读也更容易管理

      这一 Web 开发领域出现于几年前 现在日渐成熟 有几个可用的框架可以帮助您进行动态 CSS 内容生成 我将提供其中一个框架 也就是 LESS Framework 的执行概要 并演示它如何与 ASP NET MVC 解决方案集成

    为何采用 LESS?

      开发人员借助 LESS 解决的最大问题之一 是信息的重复 作为软件开发人员 您可能了解 切勿重复 (DRY) 原则并且每天都在应用 DRY 的主要优点在于 它减少了相同信息的存储位置 因而减少了应更新该信息的位置的数量

      对于普通 CSS 您根本不会遇到 DRY 问题 例如 在某些其他情况下 如果多个类中使用某种颜色 而您需要对其进行更改 可能除了逐一更新之外没有更好的办法了 使用 CSS 类可以定义特定元素的外观 并针对样式相关的元素以相同的方式跨页面重复使用 尽管 CSS 类确实可以减少重复 但有时在其他方面显得不足

      CSS 类的一个问题是它们在语义 HTML 元素的级别运行 在构建各种 CSS 类时 经常需要重复颜色或宽度等细节信息 对这些可重复细节中的每一个使用同一个类并不方便 即使设法用一个 CSS 类表示几乎所有可重复样式 如颜色和宽度 当开始对语义元素(如容器)应用样式时 还是应该连用多个 CSS 类以便实现所需的效果

      如果您曾用 Bootstrap 等框架设计过网页 就会明白我的意思 例如

      <a class= btn btn primary />

      首先将锚点设置为一个按钮(类 btn) 然后设置为特定风格的按钮(类 btn primary) 这种方法有效 但可能需要进行大量工作提前计划所需的类 这会增加 Web 项目的工作量 而项目往往时间紧迫

      LESS 这样的动态样式表语言表示一种横向思维 您不必花时间尝试使普通 CSS 变得更加智能 只需使用不同的工具(一般是语言)进行生成即可 因此 LESS 是一种框架 它向 CSS 编码添加了编程人员友好的概念 如变量 块和函数

      与动态 CSS 生成严格相关的 是将其处理为普通 CSS 供浏览器使用的问题 客户端可以通过临时 JavaScript 代码处理 LESS 代码 也可以在服务器上对其进行预处理 使浏览器只接收最终的 CSS

    在 ASP NET MVC 中设置 LESS

      我将演示从 ASP NET MVC 应用程序中使用 LESS 所需的操作 首先 我将重点介绍 LESS 代码的客户端处理 在布局文件的 HEAD 部分添加以下内容

      <link rel= stylesheet/less type= text/css href= @Url Content( ~/content/less/mysite less ) /> <script type= text/javascript src= @Url Content( ~/content/scripts/less min js ) ></script>

      这里假设您已在项目中创建了 Content/Less 文件夹以包含所有 LESS 文件 您需要一个 JavaScript 文件 以便在浏览器中进行实际的 LESS 到 CSS 处理 您可以从 获取该脚本文件 我将回顾一些可证明 LESS 有用的场景

      

    运行中的 LESS 变量

      观察 CSS 渐变是了解 LESS 变量作用的好方法 多年以来 设计人员使用小的 GIF 文件绘制 HTML 容器的渐变背景 最近 浏览器增加了 CSS 渐变支持 这也是官方 CSS 标准的一部分 通过线性渐变语法及其变体实现 很遗憾 如果要确保尽量多的浏览器采用这种渐变 必须借助一些东西 如 中的代码

       中的代码几乎不可读 更糟的是 在需要渐变的任何地方都必须重复使用这些代码 此外 如果要稍微更改一下渐变颜色(或只更改饱和度或淡化效果) 唯一的办法是在所有位置进行手动编辑 直截了当地说 这非常困难 但是 这是对于普通 CSS 唯一可行的方法

       图 在多种浏览器中显示渐变的综合代码

      

      /* Old browsers fallback */ background color: #ff ; background: url(images/red_gradient png); background repeat: repeat x; /* Browser specific syntax */ background: moz linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); background: Webkit linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); background: o linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); background: ms linear gradient( left #fceabb % #fccd d % #f b % #fbdf %); /* Standard syntax */ background: linear gradient( to right #fceabb % #fccd d % #f b % #fbdf %);

      为找到更好的解决方案 您需要跳出 CSS 试试 LESS 在 LESS 中 您只需定义一次渐变 CSS 然后在适当的位置按名称引用即可 例如

       background gradient orange { background: #fceabb;              }   &ntainer { background gradient orange; }            

      名为 background gradient orange 的类按名称在适当的位置嵌入到类容器和任意其他类中 而渐变定义保存在一个位置

      从开发人员的角度来看 这并不是什么*性的改变 不过 它使用了变量功能 这是 CSS 中没有的 事实上 如果将文件保存为普通样式表并引用的话 前面的语法并不可行 需要一些代码将扩展语法转换为普通 CSS 这正是 LESS JavaScript 分析器的功能 它将变量扩展为其实际 CSS 内容

      变量还适用于颜色或大小等标量值 请考虑以下 LESS 代码

      @black: # ;    #main {  color: @black; }     header { background color: @black; }            

      分析器将 @black 变量扩展为分配的值并进行全文件替换 最终效果是 在一处更改实际颜色 整个文件中的相应内容会自动更改 运行中的 LESS Imports

      如果需要 您可以将 LESS 代码拆分到多个文件 引用文件和包含的类中 例如 假设您创建一个 gradients less 文件 内容如下

       background gradient orange { background: #fceabb;              }            

      在另一个 LESS 文件中 如 main less 您可以通过导入该文件引用任何渐变

      @import "gradients";   &ntainer { background gradient orange; }            

      如果 gradients less(扩展名不是严格必需的)位于其他文件夹中 则应在调用中指示路径信息以便导入 LESS Mixin

      我调用该 LESS 项目进行变量渐变 严格来说 这并不完全正确 在 LESS 中 一个变量包含一个单一值 一个 CSS 类容器被称为一个 mixin 这类似于函数 但不包含任何自定义逻辑 就像函数一样 LESS 可以接受和处理参数 请看看图 中演示 mixin 的代码

      在图 中 一个名为 shadow 的 mixin 定义了框阴影样式 并将颜色作为外部参数公开 与之类似 text box mixin 定义输入字段的基本外观 它导入阴影定义并保持宽度为参数化形式 通过这种方式 为不同大小(mini normal 和 large)的输入字段定义三个类就非常简单了 更重要的是 它只需进行少量编辑工作 更新也非常简单(请参阅图 )

      图 LESS Framework 中的 Mixin

      /*  Mixins  */     shadow(@color) {      box shadow: px px px @color;    }     text box(@width) {       shadow(# );      border: solid px # ;      background color: #dddd ;      padding: px;      width: @width;    }    /*  CSS classes  */     text box mini {       text box( px);    }     text box normal {       text box( px);    }     text box large {       text box( px);    }

       图 运行中的 LESS Mixin

      Mixin 可以接受多个参数或可变数量的参数 此外 每个参数都支持默认值

       mixin(@color: #ff ) {              }            

      LESS 并不是富编程语言表示 它的设计缺少命令来指示条件或循环 但 mixin 的行为仍然可以根据所传递的值发生变化 假设您要对一个较大的按钮使用较粗的边框和字体 您定义一个名为 button 的参数化 mixin 使用关键字 when 将设置与条件绑定 条件必须基于一个参数

       button (@size) when (@size < px) {     padding: px;     font size: em;     width: @size * ;    }     button (@size) when (@size >= px) {      padding: px;      font size: em;      font weight: ;      background color: red;      width: @size * ;    }            

      您应用不同的设置 但也可以使用基本操作通过一个系数将大小扩大为数倍 然后在实际 CSS 类中使用 mixin

       push button large {       button( px);    }     push button *** all {       button( px);    }            

      运行此代码的结果如 所示

       图 在 CSS 类中使用 LESS Mixin 的效果

      LESS 附带很多可操作颜色的预定义函数 您可以使用函数按百分比调整颜色亮度和饱和度 也可以按百分比设置颜色淡入和淡出 如下所示

       push button {      background color: fade(red %);    }            

      有关 LESS 支持的函数的完整文档 请参阅 嵌套类

      我个人觉得需要重复 CSS 块指示同级样式非常讨厌 下面是一个典型示例

      #container h {              }    #container p {              }    #container p a {              }    #container img {              }            

      在编写得很好的普通 CSS 中 实际上可以避免很多重复 但使用平面列表布局样式的方式并不是最好的 在这种情况下 最好使用一些层次结构 在 LESS 中 可以像这样嵌套样式规则

      &ntainer {      h {        font size: em;       color: fade(# %);       a {         color: # ;         &:hover {color: red;}        }      }    }            

      经过处理后 前面的 LESS 代码会产生下面的样式

      &ntainer h   &ntainer h a   &ntainer h a:hover            

      服务器端处理

      您可以原样下载 LESS 代码 在客户端通过 JavaScript 代码对其进行处理 也可以在服务器上进行预处理 然后将它作为普通 CSS 下载到客户端 在前一种情况下 完全像使用普通 CSS 文件一样 服务器端更改在下一次页面刷新时应用到客户端

      如果您注重性能 处理的是大型复杂 CSS 文件 则服务器端预处理可能是更好的选择 服务器端预处理发生在您每次修改服务器上的 CSS 时 您可以在生成过程结束时手动完成额外的步骤 使用 LESS 编译器从命令行将 LESS 代码预处理为 CSS 此编译器是为服务器端工作安装的 less NuGet 软件包的一部分

      不过 在 ASP NET MVC 中 可以将 LESS Framework 与*机制集成 有关*机制 请参阅我在 年 月的专栏 CSS 编程 *和缩小 (msd/magazine/dn ) 这确保只要请求 LESS 文件 就会执行 LESS 到 CSS 的转换 还确保通过 If Modified Since 标头正确管理缓存 最后 您可以将分析和缩小混合起来 要在 ASP NET MVC 中集成 LESS 首先需要下载并安装 less NuGet 软件包 然后将以下代码添加到 BundleConfig 类

      var lessBundle =      new Bundle("~/myless") IncludeDirectory("~/content/less" "* less");    lessBundle Transforms Add(new LessTransform());    lessBundle Transforms Add(new CssMinify());    bundles Add(lessBundle);            

      *将打包在指定文件夹中找到的所有 less 文件 LessTransform 类负责 LESS 到 CSS 的转换 该类使用 less API 分析 LESS 脚本 LessTransform 的代码非常简单

      public class LessTransform : IBundleTransform    {      public void Process(BundleContext context BundleResponse response)      {        response Content = dotless Core Less Parse(response Content);        response ContentType = "text/css";      }    }            

      更多智能工具

    lishixin/Article/program/Web/201404/30643

    CSS之旅(2):如何更深入的理解各种选择器_html/css_WEB-ITnose

    原文出处: 一线码农 上篇我们说了为什么要使用css,这篇我们就从选择器说起,大家都知道浏览器会把远端过来的html解析成dom模型,有了dom模型,html就变成了xml格式,否则的话就是一堆“杂乱无章”的string,这样的话没人知道是什么鸟东西,js也无法什么各种getElementById,所以当浏览器解析成dom结构后,浏览器才会很方便的根据css各种规则的选择器在dom结构中找到相应的位置,那下一个问题自然就严重了,那就是必须深入的理解dom模型。

    一:理解Dom模型

    首先我们看下面的代码。

    有名的公司一栏

    百度 新浪 阿里用这个代码我们很容易的画出dom树。

    当你看到这个dom树的时候,是不是顿时感到信息量特别大,很简单,因为是树,所以就具有了一些树的特性,比如 “孩子节点”,“父亲节点”,

    “兄弟节点”,“第一个左孩子”,“最后一个左孩子”等等,对应着后续我要说的各种情况,一起来看看html被脱了个精光的感觉是不是很爽~~~~

    1:孩子节点

    找孩子节点,本质上来说分两种,真的只找“孩子节点”,“找到所有孩子(包括子孙)“

    后代选择器

    首先看下面的html,我想你可以轻而易举的绘制出dom树了,那下面的问题就是怎么将body中所有的后代span都绘上red。

    body span { color: red; }我是span1我是span22. 孩子选择器

    ”>”玩法

    这个也是我说的第二种情况,真的只找孩子节点,在css中也很简单,用 > 号就可以了,是不是很有意思,跟jquery一样的玩法,对不对。

    body > span { color: red; }我是span1我是span2 ”伪选择器”玩法

    除了上面这种玩法,在css3中还可以使用”伪选择器”玩法,真tmd的强大,下一篇会专门来讲解,这里只介绍一个:nth-child用法,如果

    你玩过jquery,一切都不是问题。

    body > span:nth-child(1) { color: red; }我是span1 我是span2我是span33. 兄弟节点

    兄弟节点也是很好理解的,在css中用 “+”就可以解决了,可以看到下面我成功将第二个p绘制成了红色。

    .test + p { color:red; }我是第一个段落

    我是第二个段落

    4. 属性选择器

    如果玩过jquery,这个属性选择器我想非常清楚,首先看个例子,我想找到name=test的p元素,将其标红。

    p[name='test'] { color: red; }到现在为止,有没有感觉到和jquery的玩法一模一样,而且感觉越来越强烈,已经到了 ”你懂的“ 的境界。

    二:css内部机制的猜测

    文章开头也说了,浏览器会根据css中定义的”标签”,然后将这个标签的样式应用到dom中指定的”标签“上,就比如说,我在css中定义了一个

    p样式,但浏览器怎么就能找到dom中的所有的p元素呢??? 因为闭源的原因,我们无法得知其内部机制,不过在jquery上面,或者我们可以窥知一

    二,因为css能展示的选择器用法,在jquery中都能做得到,然后我就很迫不及待的去看看jquery如何提取我的各种选择器写法,下面我们看看源码。

    p[name='test'] { color: red; } 在jquery里面经过一番查找,最后可以看到仅仅是调用了queryselectorAll这个dom的原生方法,你也可以在console中清楚的看到,最后的

    results就是找到的p元素,为了验证,我在taobao page下开一个console。

    到现在,我大概粗略的猜测,也许至少在chrome浏览器下,浏览器为了找到dom中指定的元素,或许也是调用了queryselectAll方法。。

    好了,大概也就说这么多了,理解dom模型是关键,这样的话才能理解后续浏览器的渲染行为。

    CSS之旅(1):为什么要用CSS_html/css_WEB-ITnose

    原文出处: 一线码农不知道有多少码农和我一样,css一直是一个软肋,软到全身酥麻。。既然软肋来了,只能是要想办法解决,所以就找本CSS权威指南看一看,都说CSS权威指南这本书比较过时,但是内容还是比较充实的,而且内容基本上就是和你交谈一样,非常舒服,好了,下面从正文说起。

    一:为啥要学习CSS

    当你知道CSS的历史还是蛮有味道的,在很久很久以前,web上没有css,只有一些html的标签,比如p,h1?h5? div span,ul 等等,这些html标记

    都是一个具有特定含义的html标签,过去人很实在,不讲究排版,只要内容是干货就好了,就比如现在的博客园排版,简洁美,我们这些码农同样也不在乎这

    个,只要文章是干货就好,但是呢?web用户不是程序员,他们才不讲究干货不干货,他们讲究外表,讲究炫酷,讲究如何的个性,这样的话Html就扛不住了,

    W3C组织就为了满足这些人的胃口,提供了一些装饰html标记的标记,比如strong,font,b,u等等。。就比如下面这样。

    你好

    然后的然后,程序员就有了下面这样的抱怨了。。

    第一: 老子为了decorate个text,要写无数个标签,我操。。多麻烦。。

    第二:马丹,现在我们的页面结构开始越来越复杂,这些几把font, b压根就不能重用,根本就是完蛋的东西。。高个毛啊。。

    第三:现在国家这么穷,带宽这么贵,我的html体积真tmd的大,内容其实仅仅占不到html的1/10。。我的客户有时候要几分钟才能打开。。这样下去,

    我要失业了。

    结果就这样W3C招致网上程序员的骂声一片,原本的想法就是想通过一些样式的html标记来修饰html的结构内容,结果导致现在的一片混乱,而且页面结构失

    衡。。面对三大问题,W3C就开始推出了CSS,这个装修Html的层叠样式表。彻底的解决了程序员提出的三大难题。。

    二:如何解决三大难题

    1. 无数个标签的问题

    css采用一条条规则来decorate各个html的结构元素,规则的结构采用 “标签+内容声明” 的方式,比如:

    p { font-size: 20px; color: red; margin: auto 0; width: 50%; }

    这种定义我想没什么好说的,这样的话,我们把html中的装饰标签全部拿出来了,放到一个专门的css规则中,这样的好处大家也看到了,”内容“和”展示”的分离,

    这样的话就解决了程序员们的第一个抱怨。

    2. 装饰标签的重用问题。

    确实,原始的html装饰标签无法做到重用,这样的话自然就会导致页面膨胀,css就采用了规则组来解决这个问题,先把规则写好,然后哪个标签想用的话,自己套用

    下已设定的css定义就可以了。这样的话也就解决了重用的问题。

    3. 体积膨胀的问题

    如果第一,第二个问题没有解决好,第三个问题自然会发生,而且我想还有其他一连串的连锁反映,那么css都采取了哪些手段来解决的,为了突出css的终极目标,必须

    严格的做到“内容”和“展现”的分离,要做到“分离”,那就必须将css单独的封装到一个专门的css文件,这样的话,就不光可以做到单个html页面的标签重用,甚至可以多页

    面重用,多站点重用。那下一个问题就来了,引用css文件的方式有哪些??? 哪些是不值得提倡的?

    三:css文件的引用方式

    1. link引用

    当你把css拖入到vs的时候,默认就是link模式,link它本来就是xhtml的一个标签,所以我们还可以用js来动态追加和控制,这个我想大家都清楚,还有一点好玩的地方就

    是可以做“候选样式表”,在浏览器中可以动态选择自己想要的样式,比如下面我定义了两个css文件,分别让页面展示 red 和 blue 的背景。

    然后我们可以在浏览器中可以动态切换我想要的css样式,蛮有意思的,虽然这种作用相对比较少见,由于截图不好截,大家可以使用 工具栏中的 ”查看“=> “样式”。

    2.import引用

    同样这个标记也可以导入,就像下面这样。

    @import url(blue.css)hello world;

    最后值得一提的是,尽量避免使用“内联样式”的style,如果这样的话,跟使用font,strong这样的标记几乎没有什么区别,就比如下面这样,所以我们尽量避免。

    hello world;

    好了,第一篇大概就这么说了,后续的我们再延伸,周末愉快。

    博科教育还为您提供以下相关内容希望对您有帮助:

    在html中导入less文件后怎样使用?

    &lt;link rel="stylesheet/less" type="text/css" href='/less/main.less'/&gt; &lt;scriptsrc="/js/less-1.6.0.min.js"type="text/javascript"&gt;&lt;/script&gt; &lt;script&gt;less.watch();&lt;/script&gt; HTML 超文本标记语言,标准...

    less的用法

    less不是只能做比较级的意思,也可以单独做形容词,副词等使用。1.there is less furniture in the room now.2.your should hurry up.there is less time left.3.I have less books than you.4.there is less left...

    little-less-least的用法及其区别

    little 是很少(几乎没有)的意思, 例句:There is little water.less 用于比较级 例句:My water is less than his .least 是Little的最高级 例句:At least , i have ...

    little-less-least的用法及其区别

    little一点,几乎没有-less,little 的一种比较级较少:-least,little 的一种最高级,最少的没设么共同点。意思都不同。This cake has very little taste.这块蛋糕几乎没有味道。I use less water.我消耗更少的水At ...

    将less文件转换成css文件

    两种方式,分别为:1、手动生成;2、使用webstorm自动生成。1、项目的文件结构 2、在less文件的根目录 Shift + 鼠标右键 + 选择‘在此处打开命令窗口’3、输入命令:lessc + 空格 + less文件名...

    如何用webstorm把less文件生成css

    打开webStorm, File--&gt;Settings--&gt;Tools--&gt;File Watchers 右边有一列, 找到一个"+"号的图标, 点击, 选中里面的"less", 看看是不是和下图一样, 不同版本的WebStorm可能会有区别, 这个是WebStorm 2016.1的版本截图 ...

    动态样式语言Scss&amp;Less介绍与区别

    一. Sass/Scss&amp;Less是什么?Sass (Syntactically Awesome Stylesheets)是一种动态样式语言,语法跟css一样(但多了些功能),比css好写,而且更容易阅读。Sass语法类似与Haml,属于缩排语法(makeup),用意就是为了快速写Html...

    vue项目引入公共样式less文件

    (1)局部引入 (2)全局引入        a.需要安装sass-resources-loader。npm install sass-resources-loader       b.找到build文件夹下面的utils.js 找到 less: generate...

    如何用sublimeText3编写less并用Nodejs自动编译成css

    方法1: ctrl+shift+p&gt;install Package&gt;输入less按Enter 方法2:直接下载后 解压文件 放到插件文件夹下(首选项-浏览插件 打开文件夹)下载地址:https://github.com/danro/LESS-sublime (2)安装LESS2CSS插件:less2css...

    为什么我用less.js 写content不行

    LESS 并没有裁剪 CSS 原有的特性,更不是用来取代 CSS 的,而是在现有 CSS 语法的基础上,为 CSS 加入程序式语言的特性。环境配置 以webStorm为例,在开始使用LESS之前你必须要安装以下环境 node.js node.js命令行输入“...

    显示全文

    猜你还关注