`
rexcn
  • 浏览: 87104 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

LESS 让css也支持变量,运算符,include,嵌套规则等等

    博客分类:
  • css
阅读更多
最近在网上看到1个很有意思的CSS扩展,这里介绍给大家。LESS 最早是1个ruby的gem,用于扩展css的语法,用了LESS后,可以在css中使用变量,运算符,include,嵌套规则等等。现在LESS出了js版本,让我们一起来看看LESS能为我们带来什么吧?


使用

   1. 下载js: http://lesscss.googlecode.com/ 最新版本好像是 1.0.22

   2. 使用less,css文件的后缀名需要改为.less。

   3. 在html页面中加入下面代码

     <!-- style.less文件就是样式表文件,并且style.less必须放在less-1.0.22.min.js文件前加载,原理后面介绍 -->

     <link rel="stylesheet/less" href="style.less" /> 

     <script src="less-1.0.22.min.js"></script>



变量

   变量可以让我们声明1个常量值,并在以后多处地方进行重复使用。



   一般css写法:

view source

print?1 .class1{

2    color:#ccc;

3    width:100px;

4 }

5   

6 .class2{

7    color:#ccc;

8    width:120px;

9 }



   LESS写法:
view source

print?01 @color1: #ccc;

02   

03 .class1{

04    color:@color1;

05    width:100px;

06 }

07   

08 .class2{

09    color:@color1;

10    width:120px;

11 }



inlucde
    大家一定碰见过再某个规则中需要用的部分样式跟另外1个规则样式一样,但没办法,我们只能copy过来,或者为元素指定多个class。但用了LESS后,我们不再需要这么痛苦了。
   
    一般css写法:
view source

print?1 .red{

2   color:red;border:1px solid red;

3 }

4   

5 .class2{

6    width:100px;font-size:12px;

7    

8    color:red;border:1px solid red;

9 }


    LESS写法:
view source

print?1 .red{

2   color:red;border:1px solid red;

3 }

4   

5 .class2{

6    width:100px;font-size:12px;

7    

8    .red

9 }



嵌套规则:
  一般css的写法:
view source

print?1    #header{color:red;}

2   #header .logo{backgroud-image:url(logo.gif);}

3   #header li{display:block;}

      LESS写法:
view source

print?1 #header{

2   color:red;

3   .logo{

4       backgroud-image:url(logo.gif);

5    }

6    li{

7      display:block;

8    } 

9 }



运算符:
  LESS 写法:
view source

print?1 @fontSize 12px;

2 .class1{

3 font-size : @fontSize + 2;

4 }

5 .class2{

6 font-size : @fontSize * 2;

7 }



更多其它功能:
  请见LESS官方网站:http://lesscss.org/


原理分析:
  LESS js版本的实现方式是使用ajax获取style.less文件,然后根据该文件的规则生成最终浏览器能理解的css插入到html代码中。所以就出现前面说过的<link rel="stylesheet/less" href="style.less" />必须在js前面。


总结:
  LESS JS版本的实现原理,是每次请求都需要通过JS去动态生成原始的css,如果css比较大的话,对于客户端的性能影响比较大,所以个人觉的less的js版本实用性不强。
  不知道LESS 的ruby版本的实现原理是怎么样的,我认为如果真的觉得less方式可以提高css的开发效率,到是可以参考它的代码实现一套java或net的源代码,在程序启动的时候一次根据.less文件生成所有的css文件,而不是每次请求都用js动态生成。


PS:刚刚无意间搜索,竟然找到1个net版本的less,大家可以看看这个版本怎么实现的:http://www.dotlesscss.com/
分享到:
评论

相关推荐

    LESS 让css也支持变量,运算符,include,嵌套规则.zip

    LESS 让css也支持变量,运算符,include,嵌套规则.zip

    CSS-Less-ish:使用 Sublime Text 2 & 3 在 css 文件中使用变量和嵌套

    CSS 少(ish) 插件,它在 css 预处理器(例如 )中实现了功能的精简版本,以便您可以毫不费力地使用 css 变量和嵌套。CSS 变量使用“@”符号将变量存储在注释中,然后在 css 中的任何位置使用它们。 /* @link = #...

    LessCSS

    资源名称:Less CSS内容简介:像写程序... LESS 既可以在 客户端 上运行 (支持IE 6 , Webkit, Firefox),也可以在服务端运行使用 Less CSS 的好处写更少的 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    lesscss-python 是 Less CSS 的 Python 版本.rar

    LESSCSS的使用是很容易的,首先,使用你最常使用的代码编辑器,按LESSCSS的语法规则写好.less文件,接下来,使用编译工具它编译成.css,最后再引入页面即可。 GUI编译工具 为方便起见,建议初学者使用GUI编译工具来...

    less.js, less 转 css 工具

    less.js, less 转 css 工具

    less使用demo( css预处理语言)

    Less使用变量和嵌套规则来简化样式表,使其更易于维护和修改,从而减少了代码量。 更好的可读性: Less的嵌套规则使代码更易于阅读和理解,使开发人员更容易找到所需的代码块。 更高的可重用性: Less的变量和混合...

    Less css框架1.3

    LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者Rhino在服务端运行。 极大的减少了构建样式表的工作量。 本...

    lesscss入门讲解

    less css的入门知识,基本语法的讲解

    LessCss.js

    LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护。 LESSCSS可以在多种语言、环境中使用,包括浏览器...

    前端学习项目 HTML CSS Less H5 .zip

    前端学习项目 HTML CSS Less H5 前端学习项目 HTML CSS Less H5 前端学习项目 HTML CSS Less H5 前端学习项目 HTML CSS Less H5 前端学习项目 HTML CSS Less H5 前端学习项目 HTML CSS Less H5 前端学习项目 ...

    vscode-cssvar:VSCode扩展以支持CSS变量Intellisense

    CSSVar(VSCode扩展) 另一个CSSVar扩展。 此扩展有助于自动完成全局共享CSS变量。 仅扩展files配置中提供的... cssvar.files : ["index.css"] cssvar.extensions : ["css", "scss", "sass", "less"]快照:工作实例

    preboot, 一组 LESS mixin和用于编写更好CSS的变量.zip

    preboot, 一组 LESS mixin和用于编写更好CSS的变量 预引导 2预引导是 LESS mixin和用于快速编写CSS的变量的集合。 作为的先驱,它是一个轻量级和接口无关的方法,用于对你的下一个网络项目进行访问。 用你觉得合适的...

    less-loader, web pack的LESS 加载程序将 LESS 编译为 CSS.zip

    less-loader, web pack的LESS 加载程序将 LESS 编译为 CSS 加载器将 LESS 编译为 CSS 。Use css加载程序或者原始加载程序将它转换为一个JS模块,并将它的提取为一个单独的文件。安装npm install --save-dev le

    postcss-less:用于解析LESS的PostCSS语法

    无postcss-less的最常见用法是将PostCSS转换直接应用于LESS源。 例如。 以LESS编写的ia主题,该主题使用添加适当的供应商前缀。 const syntax = require ( 'postcss-less' ) ; postcss ( plugins ) . process ( ...

    使用node.js编写工具简化less编译(less2css.js)

    NULL 博文链接:https://andrewstz.iteye.com/blog/2031427

    LESSCSS让CSS使用起来更加灵活成就CSS动态化

    提到LESSCSS,可能大家不都...在平日里,我们写CSS的时候,都会遇到很多字号颜色一样的时候,这时候,我们要是使用LESSCSS就可以把相同的字体颜色值定义到变量中,遇到一样的直接调取变量即可。 LESSCSS代码: 复制代

    css与QSS以及less

    css与QSS以及less

Global site tag (gtag.js) - Google Analytics