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; //注意是两个@@
}
------ 参数可以定义默认值,也可以不定义
/*可以带参数*/
.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;
}
分享到:
相关推荐
4. **函数(Functions)**:Less内建了一些函数,如`lighten()`、`darken()`可以调整颜色的明暗,`percentage()`将数值转换为百分比,这些函数大大增强了CSS的表现力。 5. **导入指令(@import)**:Less允许使用`@...
概括了Weightless-P协议的协议部分技术特点,参照Weightless协议进行研究的好材料,为物联网发展提供参考标准,并且区别于LoRa,、Zigbee技术等规范,适合读不懂英文材料的科研研究
文章标题“Cache 'Less for More' in Information-Centric Networks”所指的知识点在于,通过研究提出了相反的缓存策略,即在传输路径上的有限节点上进行缓存,并探讨了这种策略是否能够通过更少的缓存空间实现更好...
《Learn More Study Less》电子书是一本专注于如何系统学习一门课程的指导书籍。作者通过自身的经验,结合科学研究和学习方法,提供了一整套高效学习的策略和技术。从书中摘录的引言部分,我们可以了解到,理解事物...
《Learn More Study Less中文版》是一本致力于提高学习效率的书籍,作者基于个人的学习经验以及大量研究,提出了一种高效的学习方法——整体性学习。整体性学习强调将新知识与已有的经验、知识结构相联系,通过多种...
《less4j-1.8.3.zip与junit-karma-testrunner.zip:JavaScript测试与开源项目的探索》 ...对于希望深入理解JavaScript测试和前端构建流程的开发者来说,这两个项目都是值得研究和学习的宝贵资源。
《深入解析Android andless源码:打造高效音频播放器》 在移动开发领域,尤其是在Android平台上,音频播放功能是不可或缺的一部分。...通过分析和研究,开发者可以定制自己的音频播放解决方案,满足特定的需求和场景。
在"OpenDevin_main.zip"这个子文件中,我们可以预期找到一系列关于Python编程的教程、示例代码和可能的库或框架的集成示例。"OpenDevin"可能是一个由开发者社区创建的工具集或者开发平台,它的目标是简化Python开发...
"BIT-PRUNING A SPARSE MULTIPLICATION-LESS DOT-PRODUCT的全文翻译" BIT-PRUNING A SPARSE MULTIPLICATION-LESS DOT-PRODUCT是一种新的稀疏点积方法,该方法可以减少神经网络中的能耗和空间成本。该方法的关键在于...
"Copy-(3)-of-New-Folder.rar_LESS"这个标题可能代表一个压缩文件,其中包含了关于“低失真数据隐藏”的研究或项目。"LESS"标签可能是对这个主题的一个简短概括,强调了这种方法在数据隐藏时减少了失真的特点。...
这个包可能包含了源码、示例、测试、文档等所有项目资源,开发者可以下载并研究其内部结构,以便更好地理解和使用less-color-lighten插件。 在实际应用中,开发者可能需要将less-color-lighten集成到他们的项目中,...
该研究使用meta-analysis的方法,分析了之前的研究结果,并对dropout率对治疗效果的影响进行了探讨。研究结果显示,dropout率确实会影响治疗的效果,具体来说,dropout率越高,治疗效果越差。 研究结果 研究结果...
4. **索马里案例分析**:论文选择索马里作为研究对象,分析其气候变化指数与脆弱状态指数12个指标之间的关系。结果显示,经济脆弱性对气候变化最为敏感,而社会脆弱性反应较弱,但气候对政治可能产生潜在影响。 5. ...
在研究中,研究人员回顾性分析了28例接受RASS的患者和32例接受LESS的患者的数据。结果显示,两种手术方式都能成功地进行早期子宫内膜癌的分期手术,且无需额外辅助穿刺孔或转为开腹手术。然而,在手术时间和出血量...
研究Foundation的源代码有助于开发者学习如何构建跨设备兼容的网站,并提升布局和交互设计的能力。 通过学习和实践这些知识点,开发者可以构建出更高效、更具美感且易于维护的网页。了解和掌握CSS 3的新特性可以...
8. CSS预处理器(如Sass、Less):介绍CSS预处理器的工作原理和优势,如何编写更高效、模块化的CSS代码。 9. 性能优化:学习如何通过合理的选择器使用、减少重绘和回流、合并和压缩CSS等策略,提高网页加载速度和...
以下是关于这个项目中涉及的技术及其应用的详细介绍: 1. **Vue.js (Vue2)**:Vue.js 是一个轻量级的渐进式框架,特别适合构建用户界面。Vue2 版本引入了虚拟DOM、组件化、单向数据流和计算属性等特性,提高了开发...
在JavaScript和前端开发中,"背景提示"通常指的是在用户与应用程序交互时,即使在后台运行,也能向用户展示重要信息或通知的技术。...通过研究这个项目,开发者可以提升自己在JavaScript和前端交互设计方面的能力。
Bootstrap是世界上最受欢迎的前端开发框架之一,用于快速构建响应式和移动优先的网站。Less是CSS的预处理器,它允许我们...这样的分析对于任何想要深入研究前端开发或者优化Bootstrap应用的开发者来说都是宝贵的资源。