`
zhangyaochun
  • 浏览: 2612784 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

关于less的一些研究

阅读更多

1、Less前言

 

      关注less很久了,整理和查看了很多相关的资料,此篇作为less相关的开篇,希望在后期的一些项目里面开始实施起来,但是很多人觉得维护成本比较高,如果对应人员没有相关的知识积累,所有决定写一篇,以后也算less应用项目的一个捆绑资料交接一下。

 

 

2、Less是what?

 

      --------- 动态样式语言

 

  •  其实就是将css变得可以使用动态语言的特性,如变量继承运算函数
  •  less可以应用在客户端也可以应用在服务端(借助一些如Node.js这样的工具)

 

3、Less快速适用

 

  • 如果你本地或者像看源码的话,需要下载一个依赖脚本文件:less.js

         下载地址http://code.google.com/p/lesscss/downloads/list

 

  • 如果你直接连在线的地址可以在html页面的head标签里面增加如下代码:

<script src="http://lesscss.googlecode.com/files/less-1.3.0.min.js"></script>
 

  • 当然我们还需要引入一个我们写less的文件,以.less为文件的后缀 

          我们就在上面步骤中的<script>标签的上面增加如下的代码

 

 

   
<!-- 方式和css的导入是一样的 -->
<link rel="stylesheet/less" href="style.less" type="text/css" />
 

        注意一下rel的值:stylesheet/less

 

        这边我来贴一些源码,看看为什么必须要按照这样的规则来:

 

 

var links = document.getElementsByTagName('link');
var typePattern = /^text/(x-)?less$/;

less.sheets = [];

for(var i=0;i<links.length;i++){
    if(links[i].rel === 'stylesheet/less' || (links[i].rel.match(/stylesheet/)
         && (links[i].type.match(typePattern)))  ){
          less.sheets.push(links[i]);
    }
}
 

 

  • 变量
        允许我们定义一些比较通用的样式规则

/*less code*/
@width:960px;
.header{
    width:@width;
}
.footer{
    width:@width;
}


/*css code*/
.header{
    width:960px;
}
.footer{
    width:960px;
}
 
    其实我们可以发现:less中的变量只能被定义一次,前面定义的会被后面覆盖

/*我同时定义@h*/
@h:30px;
@h:100px;
.header{
    height:@h;
}


/*输出的css*/
.header{
   height:100px;
}
 

    同时在less中,也有类似于php语言中变量的变量的概念。

 

  

//当然变量能够参与计算
@base-h:50px;
@height1:@base-h+100px;
@height2:@base-h+200px;

.header{
    height:@height2;
}

/*转换的css*/
.header{
    height:250px;
}



//或者可以这样写---但是好像不能做计算
@base-h:50px;
@height1:"base-h";
.header{
    height:@@height1;  //注意是两个@@
}
     

 

 

   




  • 混入(Mixin)
     ------ 参数可以定义默认值,也可以不定义

/*可以带参数*/
.radius(@radius:3px){
     border-radius:@radius;
     -webkit-border-radius:@radius;
     -moz-border-radius:@radius;
}

.header{
    .radius;
}
.footer{
    .radius(5px);
}


/*转成的css*/
.header{
     border-radius:3px
     -webkit-border-radius:3px;
     -moz-border-radius:3px;
}
.footer{
     border-radius:5px
     -webkit-border-radius:5px;
     -moz-border-radius:5px;
}
 
     这里面还有一个(类似于数组的)@arguments 变量

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

.header{
    .box-shadow(4px;3px;1px;#fefefe);
}


/*转换后的*/
.header{
    box-shadow:4px;3px;1px;#fefefe;
    -moz-box-shadow:4px;3px;1px;#fefefe;
    -webkit-box-shadow:4px;3px;1px;#fefefe;
} 
 
 

2
0
分享到:
评论
2 楼 dwarson 2012-04-27  
Sass is another option:
http://sass-lang.com/
1 楼 logicigam 2012-04-27  
最近也在研究less,得空交流下~

相关推荐

    less.js-1.7.3

    4. **函数(Functions)**:Less内建了一些函数,如`lighten()`、`darken()`可以调整颜色的明暗,`percentage()`将数值转换为百分比,这些函数大大增强了CSS的表现力。 5. **导入指令(@import)**:Less允许使用`@...

    基于物联网的Weightless-P技术浅析*.pdf

    概括了Weightless-P协议的协议部分技术特点,参照Weightless协议进行研究的好材料,为物联网发展提供参考标准,并且区别于LoRa,、Zigbee技术等规范,适合读不懂英文材料的科研研究

    Cache “Less for More” in information-centric networks

    文章标题“Cache 'Less for More' in Information-Centric Networks”所指的知识点在于,通过研究提出了相反的缓存策略,即在传输路径上的有限节点上进行缓存,并探讨了这种策略是否能够通过更少的缓存空间实现更好...

    Learn More Study Less 電子書

    《Learn More Study Less》电子书是一本专注于如何系统学习一门课程的指导书籍。作者通过自身的经验,结合科学研究和学习方法,提供了一整套高效学习的策略和技术。从书中摘录的引言部分,我们可以了解到,理解事物...

    Learn More Study Less中文版

    《Learn More Study Less中文版》是一本致力于提高学习效率的书籍,作者基于个人的学习经验以及大量研究,提出了一种高效的学习方法——整体性学习。整体性学习强调将新知识与已有的经验、知识结构相联系,通过多种...

    less4j-1.8.3.zip

    《less4j-1.8.3.zip与junit-karma-testrunner.zip:JavaScript测试与开源项目的探索》 ...对于希望深入理解JavaScript测试和前端构建流程的开发者来说,这两个项目都是值得研究和学习的宝贵资源。

    andless源码

    《深入解析Android andless源码:打造高效音频播放器》 在移动开发领域,尤其是在Android平台上,音频播放功能是不可或缺的一部分。...通过分析和研究,开发者可以定制自己的音频播放解决方案,满足特定的需求和场景。

    Python_OpenDevin Code Less Make More.zip

    在"OpenDevin_main.zip"这个子文件中,我们可以预期找到一系列关于Python编程的教程、示例代码和可能的库或框架的集成示例。"OpenDevin"可能是一个由开发者社区创建的工具集或者开发平台,它的目标是简化Python开发...

    BIT-PRUNING A SPARSE MULTIPLICATION-LESS DOT-PRODUCT的全文翻译

    "BIT-PRUNING A SPARSE MULTIPLICATION-LESS DOT-PRODUCT的全文翻译" BIT-PRUNING A SPARSE MULTIPLICATION-LESS DOT-PRODUCT是一种新的稀疏点积方法,该方法可以减少神经网络中的能耗和空间成本。该方法的关键在于...

    Copy-(3)-of-New-Folder.rar_LESS

    "Copy-(3)-of-New-Folder.rar_LESS"这个标题可能代表一个压缩文件,其中包含了关于“低失真数据隐藏”的研究或项目。"LESS"标签可能是对这个主题的一个简短概括,强调了这种方法在数据隐藏时减少了失真的特点。...

    less-color-lighten:一个LESS插件,用于简单的功能,它将给定的颜色与白色或黑色混合,以产生一种新颜色,该新颜色观察到与源颜色相同的一般色相

    这个包可能包含了源码、示例、测试、文档等所有项目资源,开发者可以下载并研究其内部结构,以便更好地理解和使用less-color-lighten插件。 在实际应用中,开发者可能需要将less-color-lighten集成到他们的项目中,...

    Are psychotherapies with more dropouts less effective_.pdf

    该研究使用meta-analysis的方法,分析了之前的研究结果,并对dropout率对治疗效果的影响进行了探讨。研究结果显示,dropout率确实会影响治疗的效果,具体来说,dropout率越高,治疗效果越差。 研究结果 研究结果...

    E74971-Climate counts! Less Fragility & better Countries.PDF

    4. **索马里案例分析**:论文选择索马里作为研究对象,分析其气候变化指数与脆弱状态指数12个指标之间的关系。结果显示,经济脆弱性对气候变化最为敏感,而社会脆弱性反应较弱,但气候对政治可能产生潜在影响。 5. ...

    Si级达芬奇机器人辅助单孔腹腔镜与普通单孔腹腔镜在早期子宫内膜癌治疗中的对照研究.pdf

    在研究中,研究人员回顾性分析了28例接受RASS的患者和32例接受LESS的患者的数据。结果显示,两种手术方式都能成功地进行早期子宫内膜癌的分期手术,且无需额外辅助穿刺孔或转为开腹手术。然而,在手术时间和出血量...

    CSS高效开发实战—CSS 3、LESS、SASS、Bootstrap、Foundation源代码

    研究Foundation的源代码有助于开发者学习如何构建跨设备兼容的网站,并提升布局和交互设计的能力。 通过学习和实践这些知识点,开发者可以构建出更高效、更具美感且易于维护的网页。了解和掌握CSS 3的新特性可以...

    css彻底研究(电子书)

    8. CSS预处理器(如Sass、Less):介绍CSS预处理器的工作原理和优势,如何编写更高效、模块化的CSS代码。 9. 性能优化:学习如何通过合理的选择器使用、减少重绘和回流、合并和压缩CSS等策略,提高网页加载速度和...

    基于vue2vuerouteraxioswebpackes6less开发的仿美团外卖项目

    以下是关于这个项目中涉及的技术及其应用的详细介绍: 1. **Vue.js (Vue2)**:Vue.js 是一个轻量级的渐进式框架,特别适合构建用户界面。Vue2 版本引入了虚拟DOM、组件化、单向数据流和计算属性等特性,提高了开发...

    当没有缓冲区打开时,在应用程序的后台显示应用程序提示_JavaScript_Less_下载.zip

    在JavaScript和前端开发中,"背景提示"通常指的是在用户与应用程序交互时,即使在后台运行,也能向用户展示重要信息或通知的技术。...通过研究这个项目,开发者可以提升自己在JavaScript和前端交互设计方面的能力。

    bootsrap-less-source-analysis:bootsrap less版源码分析

    Bootstrap是世界上最受欢迎的前端开发框架之一,用于快速构建响应式和移动优先的网站。Less是CSS的预处理器,它允许我们...这样的分析对于任何想要深入研究前端开发或者优化Bootstrap应用的开发者来说都是宝贵的资源。

Global site tag (gtag.js) - Google Analytics