Bootstrap笔记《二》less

简介:

less

说到Bootstrap,就不得不提less

less是一种动态的样式表语言,less扩展了css,使得我们可以像写程序一样,写css,提高css的扩展性、重用性,可以运行在客户端,也可以运行在服务端nodejs。

less提供了变量定义,mixins,函数等等常见的程序元素。

mixins是一种组合的方式,提高重用,极大提高css编写效率。

 

sass

说到这里,再一句,还有一种东西,叫做sass,是rails中带的css扩展语言。sass的目的也是提高css的扩展性、重用性,也提供变量,函数,mixins,还有一种叫做嵌套原则。

 

less的使用

首先我们写一段less,保存为style.less文件。

 

 
  1. @base: #f938ab; 
  2.  
  3. body{ 
  4.      
  5.     color: @base; 

代码很简单,就是定义一个变量@base,然后在body的color中使用这个变量。

下载less.js之后,在页面文件中添加这两个文件的引用。

 

 
  1. <link type="text/css" rel="stylesheet/less" href="style.less" /> 
  2. <script type="text/javascript" src="less.min.js" ></script> 

在浏览器中查看这个页面,就会发现,效果出来了,和我们写css是一个效果。

也就是在客户端用js将less文件动态解释为css。如果对性能有较高要求,就用node或者是一些第三方工具先将less编译为css,然后引用编译好的css就可以了,这样就不用下载less.js文件,也不用在客户端动态解释了。

 

 
  1. $ npm install -g less 
  2. $ lessc styles.less 
 
  1.  
  2. $ lessc styles.less > styles.css 
  3.  
  4. #-x,压缩文件 
  5. $ lessc -x styles.less > styles.css 

 

变量variables

从前面这个简单的变量就可以看出来less的好处了,一个颜色的值被重用。在原来,我们要使用一个颜色,会在多个地方写这个颜色的值,需要改,就批量的替换,需要替换一部分,噩梦就来了。

现在好多了,定义一个变量,然后在需要的地方引用这个变量,部分替换,就定义两个变量。这不就重用了吗!

 

组合Mixins

mixins就是一种组合的方式,有点像写个工具类,静态方法,对于字符串进行某种处理,比如格式化函数,格式化日期之类的。

我们经常在css中对边框进行设置solid 1px这类设置,然后把这些信息写到很多地方,div,table,总之不少。

利用mixins的方式,我们只定义一个class,然后在其他class中引用它。

其实也有点像组件编程,把大组件差分成小组件,然后在需要的地方组合起来,给后期的维护也带来好处。

 

 
  1. .border{ 
  2.     border-top: dotted 1px black; 
  3.     border-bottom: solid 2px black; 
  4.  
  5. table{
    .border;
    }

  6.  
  7. .container{ 
  8.      
  9.     .border; 

上面的less产生的css是下面的样子。

 

 
  1. .border { 
  2.     border-bottom2px solid black
  3.     border-top1px dotted black
  4. table { 
  5.     border-bottom2px solid black
  6.     border-top1px dotted black
  7. .container { 
  8.     border-bottom2px solid black
  9.     border-top1px dotted black

很不错吧。

 

嵌套Nested Rules

我们的html可能是div里面有div,然后有ul,ul里面有a,a里面有span,如果我们对这几个分别设置样式,就会在css中写div一个,div ul一个,div ul a一个,div ul span一个。

在css中,空格代表下一级别。

这样写又繁琐,又不直观。

less的写法很奇特,样子很直观,一眼看上去就知道怎么回事了,很有层次感。

 

 
  1. //less 
  2.  
  3. #header { 
  4.   h1 { 
  5.     font-size: 26px; 
  6.     font-weight: bold; 
  7.   } 
  8.   p { font-size: 12px; 
  9.     a { text-decoration: none; 
  10.       &:hover { border-width: 1px } 
  11.     } 
  12.   } 

生成的css,也就是我们普通的写法就是下面的样子。

 

 
  1. #header h1 { 
  2.   font-size: 26px; 
  3.   font-weight: bold; 
  4. #header p { 
  5.   font-size: 12px; 
  6. #header p a { 
  7.   text-decoration: none; 
  8. #header p a:hover { 
  9.   border-width: 1px; 

 

函数Functions & Operations

我们先看一段less代码,然后在说说这个用法的场景。

 
  1. //less 
  2.  
  3. @the-border: 1px; 
  4. @base-color: #111; 
  5. @red:        #842210; 
  6.  
  7. #header { 
  8.   color: (@base-color * 3); 
  9.   border-left: @the-border; 
  10.   border-right: (@the-border * 2); 
  11. #footer { 
  12.   color: (@base-color + #003300); 
  13.   border-color: desaturate(@red, 10%); 

下面是生成的css内容。

 
  1. #header { 
  2.   color#333
  3.   border-left1px
  4.   border-right2px
  5. #footer { 
  6.   color#114411
  7.   border-color#7d2717

我觉得上面的这种用法的场景就是,我们先定义一些基线,然后其他的是相对于基线进行调整。可以有一种渐进的感觉,相对的概念。




本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/1037632,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
前端开发 JavaScript
BootStrap使用笔记+案例(下)
BootStrap使用笔记+案例
37 0
|
6月前
|
前端开发 Python
BootStrap使用笔记+案例(上)
BootStrap使用笔记+案例
72 0
|
6月前
|
前端开发
bootstrap例子笔记
bootstrap例子笔记
|
6月前
|
移动开发 前端开发 HTML5
bootstrap笔记
bootstrap笔记
|
前端开发 JavaScript
在 vue-cli 脚手架中引用 jQuery、bootstrap 以及使用 sass、less 编写 css [vue-cli配置入门]
写在前面: 本文是vue-手摸手教你使用vue-cli脚手架-详细步骤图文解析之后,又一篇关于vue-cli脚手架配置相关的文章,因为有些文章步骤不够清晰,当时我引入JQuery、bootstrap的时候颇费了一番功夫,所以本文的步骤会尽量详细一点。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。 引入bootstrap 1. 下载所需要的bootstrap文件。 将要使用的bootstrap文件放入src目录下的assets文件夹中。 2. 在入口文件src/main.js中引入bootstrap import './assets/bootstrap-3.3.7
293 0
在 vue-cli 脚手架中引用 jQuery、bootstrap 以及使用 sass、less 编写 css [vue-cli配置入门]
|
前端开发
后端小白的Bootstrap笔记(三)
后端小白的Bootstrap笔记(三)
123 0
|
前端开发
后端小白的Bootstrap笔记(二)
后端小白的Bootstrap笔记(二)
191 0
|
前端开发
后端小白的Bootstrap笔记(一)
后端小白的Bootstrap笔记(一)
191 0
|
前端开发 开发者
Bootstrap响应式前端框架笔记二十——工具条的应用
Bootstrap响应式前端框架笔记二十——工具条的应用
137 0
Bootstrap响应式前端框架笔记二十——工具条的应用
|
前端开发 JavaScript 人机交互
Bootstrap响应式前端框架笔记十九——标签页的使用
Bootstrap响应式前端框架笔记十九——标签页的使用
302 0
Bootstrap响应式前端框架笔记十九——标签页的使用