bootstrap3.x内less文件夹的文件内容及功能分析

栏目: CSS · 发布时间: 7年前

内容简介:写于 2016.01.10Bootstrap的大名想必所有前端开发者都听过,在此不再赘述,想要深入的了解可以到这儿:www.bootcss.com/首先谈谈为什么要写这篇文章。在公司最近的项目中,被要求使用bootstrap进行样式的重构,然而我们又有自己的一套UIkit,样式的覆盖如果直接写在css中是非常痛苦的一件事,开发成本巨大。因为如此,萌生了改写bootstrap源码的想法。然而改源码并非一件易事。市面上关于bootstrap的资料有很多,但是基本上都是在介绍它的优点以及使用方法,鲜有对其文件目

写于 2016.01.10

Bootstrap的大名想必所有前端开发者都听过,在此不再赘述,想要深入的了解可以到这儿:www.bootcss.com/

首先谈谈为什么要写这篇文章。在公司最近的项目中,被要求使用bootstrap进行样式的重构,然而我们又有自己的一套UIkit,样式的覆盖如果直接写在css中是非常痛苦的一件事,开发成本巨大。因为如此,萌生了改写bootstrap源码的想法。然而改源码并非一件易事。市面上关于bootstrap的资料有很多,但是基本上都是在介绍它的优点以及使用方法,鲜有对其文件目录或者源码进行分析,想要定制它首先需要一个准确的切入点。在研究了一轮其less文件的目录结构以后,我似乎找到了这个关键的切入点,遂写一篇分享,希望可以对bootstrap的使用者有一定的启发。(嫌麻烦的同学可以直接在 pikock.github.io/bootstrap-m… (貌似需要翻墙)进行可视化自定义,但是这个项目对应的bootstrap版本只到3.1,如果要使用最新版本(v3.3.5)的同学可能得考虑一下了。)

文件目录

bootstrap3.x内less文件夹的文件内容及功能分析

这一大堆文件里面,我们打开less文件夹,可以看到

bootstrap3.x内less文件夹的文件内容及功能分析

这里面就是整个bootstrap的样式文件目录了,首先我们找到关键的4个文件,它们分别是

bootstrap.less
复制代码
variables.less
复制代码
utilities.less
复制代码
mixins文件夹
复制代码

下面分析各个文件的作用。

bootstrap.less

bootstrap主文件,把所有的组件样式都放在一起了,编译出来后就是 bootstrap.css 文件了。它长这样:

bootstrap3.x内less文件夹的文件内容及功能分析

不用再详细说明了吧,很直观,学过less的都懂……

variables.less

变量定义文件,里面定义了一大堆的变量,也就是各种颜色啊,大小啊,边距啊等等之类的东西,上面贴的那个[ pikock.github.io/bootstrap-m… ][6]其实修改的就是这里面的内容,而我们自定义bootstrap样式的操作主要也是在这里面进行。

bootstrap3.x内less文件夹的文件内容及功能分析

嗯,很直观。

utilities.less

公共定义文件,也可以理解为公用的“动作”,因为它里面定义了诸如“左浮动”,“右浮动”之类的动作,任何html标签只要加上定义在此文件里面动作,就可以产生相应的效果。

bootstrap3.x内less文件夹的文件内容及功能分析

比方说我想定义一个动作,能够让元素的z-index为某一个值,我只需要在里面写上

.high-index{
  z-index: 200;
}
.low-index{
  z-index: 0;
}
复制代码

然后在html标签里面直接使用 class="high-index" 即可。

mixins文件夹

里面的文件结构是这样的

bootstrap3.x内less文件夹的文件内容及功能分析
里面的不同文件定义了组件的具体样式,我们打开其中的 button.less

看一下里面的内容

bootstrap3.x内less文件夹的文件内容及功能分析
再看一下在上一级文件夹也就是 less 文件夹里面的 button.less
bootstrap3.x内less文件夹的文件内容及功能分析
可以看到里面的样式全都引用自 /minxins/button.less 所定义的样式。如果我们想要加一个“大圆角按钮”的样式,我们可以在 /minxins/button.less

里面这样去定义:

.button-circle(){
  border-radius: 1000px;
}
复制代码

然后在 /less/button.less 里面加上这么一句:

.btn-circle{
  .buttom-circle();
}
复制代码

就可以了。以后只需要在html标签加入这个class就可以使用我们自己定义的 .btn-circle 效果,如 <button class="btn-circle"></button>


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Design and Analysis of Distributed Algorithms (Wiley Series on P

Design and Analysis of Distributed Algorithms (Wiley Series on P

Nicola Santoro / Wiley-Interscience / 2006-10-27 / USD 140.95

This text is based on a simple and fully reactive computational model that allows for intuitive comprehension and logical designs. The principles and techniques presented can be applied to any distrib......一起来看看 《Design and Analysis of Distributed Algorithms (Wiley Series on P》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具