深度了解bootstrap源码之sass篇(一)

框架版本:3.3.5
下载项目:Sass
路径:assets/stylesheets/bootstrap/


sass架构和文件说明

sass架构示意图

初步了解

架构图解说:mixins文件包里放置已写好的函数、对应各个组件的样式属性与方法、其中包括兼容处理浏览器默认样式清除多端响应处理等。
bootatrap文件包里除了mixins以外还有各组件,比如按钮、表单、布局、列表等,其中框架的所有变量也在_variable.scss中。

bs是一个整体,mixins是每个部件所需要的材料,与mixins同级的sass文件则是各个封装完整的实例,可单独使用。

文件说明

文件名.scss 文件说明(简述)
_alert 警告框
_badges 徽章
_breadcrumb 面包屑
_btn-group 按钮组
_buttons 按钮
_carousel 轮播
_close 关闭按钮图标
_code 代码块(samp,pre,kbd等)
_Component animations fade效果(常见如触发模态框时模态渐入效果)
_dropdowns 下拉(可与导航、按钮组、列表标签配合使用,还可嵌套使用)
_forms 表单(集合了单复选、图例、字段级、文本、输入框、标签、选择器等)
_glyphicon 框架自带字体图标
_gird 网格(row和container已经它们的自适应处理)
_input-group 输入组(输入框与按钮、插件、图标的搭配)
_Jumbotron 超大容器(官网首页那个大巨幕就是这货的杰作)
_label 标签(与forms里的label不同在于,forms的lable侧重于信息选择,没有皮肤和尺寸。而这个侧重于信息传达,分皮肤和尺寸。)
_list-groups 列表组(常见于面板内的列表信息)
_media 媒体对象(常见于消息展示,留言评论)
_mixins 打包mixins文件夹内的所有文件
_modals 模态框
_navbar 导航条(用于顶部或底部导航)
_navs 导航组(用于菜单、tab选项卡)
_normalize 文本标签规范(描述类文本)
_pager 文本页(描述类文本)
_pagination 分页
_panels 面板与面板组
_popover 弹出框
_print 打印样式(包含h5样式规范和文档类标签规范)
_progress-bars 进度条
_responsive-embed 嵌入反应(对iframe,vedia,object等类嵌入的样式规范)
_responsive-utilities 程序类嵌入响应式处理(含尺寸)
_scaffolding 三方样式冲突处理(含多端处理)
_table 表格
_theme 各组件的配色(引入了所有变量和打包的mixins)
_thumbnail 略缩图
_tooltips 工具提示
_type 排版(含各种文本、例如大小号、对齐、略缩语、地址等文本)
_utilities 内容细节处理(含clearfix、hide/show、pull-left/right等)
_variables 所有组件变量
_wells 类似于消息面板(类似但不是情景背景色和警告框)
mixin下的.scss 文件说明(简述)
_alert 警告框的代码块(代码块:通过@mixin 定义的函数。即代表可重用的代码块
_background-variant 情景色代码块
_border-radius 边的半径代码块
_buttons 按钮代码块,含尺寸响应
_center-block 定义一个行标签的代码块
_clearfix 清除浮动的代码块
_forms 表单和表单组的公共代码块
_gradients 渐变
_gird 布局间距处理的代码块(用于网格布局)
_gird-framework 生成网格布局
_hide-text 文本隐藏(将在bootstrap4中删除)
_image 图片和其响应式处理(强调一下自适应和响应式不是同一个概念)
_labers laber标签用的代码块
_list-group 列表组通用代码块
_nav-divider 用于下拉和导航列表(水平分割)
_nav-vertical-align 计算元素垂直居中,用于导航栏
_opacity 透明度(含其IE兼容处理)
_pagination 分页的代码块
_panels 面板代码块
_progress-bar 进度条代码块
_reset-filters 图片透明处理(用于IE兼容的)
_reset-text 初始化文本类型样式属性的代码块
_resize 调整大小(css3属性,元素尺寸调整)
_responsive-visibility 响应处理(含表格标签的hack)
_size 定义盒子宽高
_tab-focus 触发outline的兼容处理。注释上声明是只用于webkit内核的浏览器的兼容处理。具体还用在哪些地方需要再研究。
_table-row 将table转化为row(网格),并防止不规范的表格嵌套。
_text-emphasis 文本强调转换代码块
_text-overflow 文本强制一行的代码块
_vendor-prefixes 集合了所有需要写内核兼容的css属性,并生成代码块。

缺失的说明

  • bootstrap-compass.scss
  • bootstrap-mincer.scss
  • bootstrap-sprockets.scss