Bootstrap源码分析系列之整体架构

bootstrap源码分析系列:二,栅格和响应式布局 bootstrap把response单独分开作为一个独立模块 这样整个栅格系统实际上分为了栅格grid和响应式布局response。非响应式的栅格是940固定宽度的,并且分为固定和流式两种,响应式布局就是通过media query增加了对不同屏幕宽度的适应。 布局上,通过容器的负padding-left和每一个列的margin-left来实现的,如下图所示: 一,定宽栅格的实现 阅读详情

作为一名合格的前端工程师,你肯定听说过Bootstarp框架。确实可以说Bootstrap框架是最流行的前端框架之一。可是也有人说Bootstrap是给后端和前端小白用的,我认为只要学习它能给我们前端技能带来提升,那么我们就有必要研究一下它。Bootstrap框架虽然也提供了javascript插件,但总感觉不够用。Bootrtrap更多的则是被用作css框架。之前我也用过几次Bootstrap,感觉确实很快,很方便,用的次数多了就越想弄清楚它到底是怎么回事?它好在哪里?

在Bootstrap官网点击下载我们可以看到有用于生产环境中的Bootstrap和Bootstrap源码以及Sass,我们知道Bootstrap 的源码是基于最流行的 CSS 预处理脚本 - Less 和 Sass 开发的。今天我们就来学习一下以Less开发的Bootstrap。如果不熟悉Less语法的朋友可以先在Less官网学习下,在下载的bootstrap-3.3.0\less文件夹中打开bootstrap.less,我们可以看到源码的整体架构

// Core variables and mixins
//定义变量,方便后面调用
@import "variables.less";               
//定义混合 这类似定义函数或者宏,在mixins文件夹中可看到所定义的函数
@import "mixins.less";                  

// Reset and dependencies
//标准化css,这是一个专门将不同浏览器的默认css特性设置为统一效果的css库,编译后对应源码为8~190行
@import "normalize.less";               
//打印样式,编译后对应源码为192~266行
@import "print.less";                   
//图标样式,编译后对应源码为267~885行
@import "glyphicons.less";              

// Core CSS  核心CSS
//脚手架,相当于全局样式,编译后对应源码为886~989行
@import "scaffolding.less";             
//排版样式,编译后对应源码为990~1335行
@import "type.less";                    
//代码样式,编译后对应源码为1336~1389行
@import "code.less";                    
//栅格系统,这是Bootstrap支持响应式的重点,编译后对应源码为1390~2056行
@import "grid.less";                    
//表格样式,编译后对应源码为2057~2296行
@import "tables.less";                  
//表单样式,编译后对应源码为2297~2781行
@import "forms.less";                   
//按钮样式,编译后对应源码为2782~3171行
@import "buttons.less";                 

// Components  组件
//组件中折叠和隐藏动画,编译后对应源码为2782~3171行
@import "component-animations.less";    
//下拉菜单及下三角符号,编译后对应源码为3209~3348行
@import "dropdowns.less";               
//按钮组,编译后对应源码为3349~3520行
@import "button-groups.less";           
//输入框组,编译后对应源码为3521~3674行
@import "input-groups.less";            
//导航,编译后对应源码为3675~3868行
@import "navs.less";                    
//导航条,编译后对应源码为3869~4393行
@import "navbar.less";                  
//面包屑,编译后对应源码为4394~4411行
@import "breadcrumbs.less";             
//默认分页,编译后对应源码为4412~4504行
@import "pagination.less";              
//翻页,编译后对应源码为4505~4542行
@import "pager.less";                   
//标签,编译后对应源码为4543~4609行
@import "labels.less";                  
//徽章,编译后对应源码为4610~4648行
@import "badges.less";                  
//巨幕,编译后对应源码为4649~4686行
@import "jumbotron.less";               
//缩略图,编译后对应源码为4687~4712行
@import "thumbnails.less";              
//警告框,编译后对应源码为4713~4787行
@import "alerts.less";                  
//进度条,编译后对应源码为4788~4881行
@import "progress-bars.less";           
//媒体对象,编译后对应源码为4882~4915行
@import "media.less";                   
//列表组,编译后对应源码为4916~5091行
@import "list-group.less";              
//面板,编译后对应源码为5092~5426行
@import "panels.less";                  
//具有响应式特性的嵌入内容,编译后对应源码为5427~5452行
@import "responsive-embed.less";        
//well效果,编译后对应源码为5453~5474行
@import "wells.less";                   
//关闭按钮图标,编译后对应源码为5475~5499行
@import "close.less";                   

// Components w/ JavaScript
//模态框,编译后对应源码为5500~5622行
@import "modals.less";                  
//工具提示,编译后对应源码为5623~5720行
@import "tooltip.less";                 
//弹出框,编译后对应源码为5721~5841行
@import "popovers.less";                
//轮播,编译后对应源码为5842~6063行
@import "carousel.less";                

// Utility classes
//实用工具类,编译后对应源码为6064~6147行
@import "utilities.less";               
//响应式工具类,编译后对应源码为6148~6357行
@import "responsive-utilities.less";    

这些Less文件进过编译后形成了完整的Bootstrap框架。在Bootstrap官网最后我们可以定制自己的Bootstrap,可根据项目的需要自行选择不同的Less文件。
在《深入理解Bootstrap》一书中以图表的形式概括了Bootstrap整体架构,图片如下:
在这里插入图片描述
Bootstrap源码分析系列之整体架构
在接下来的文章中,将对Bootstrap框架中一些常用的样式及组件进行分析,经过自己梳理一遍对Bootstrap更加了解了。

SpringBoot源码分析之bootstrap 本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!MySQL50道高频面试题整理:《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!存中…(img-a7hGH5y9-1712684391230)]《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》 阅读详情

相关推荐

Hudi源码|bootstrap源码分析总结(写Hudi)

利用Hudi Bootstrap转化现有Hive表的parquet/orc文件为Hudi表本文简单的对Hudi bootstrap的一些关键的源码逻辑进行了分析,希望能对大家有所帮助。限于精力及能力的原因,有些地方可能不够深入,或者不对的地方,还请大家多多指正,让我们共同进步。

主要分享大数据相关的知识,如Spark、Hudi 3233

css3响应式设计

说明:手机浏览器是把页面放在一个虚拟的"窗口"(viewport)中 width     设置layout viewport  的宽度,为一个正整数,或字符串"width-device" initial-scale     设置页面的初始缩放值,为一个数字,可以带小数 minimum-scale     允许用户的最小缩放值,为一个数字,可以带小数 maximum-scal

sixteen_cicle的博客 608

Bootstrap模态窗口源码解析

主要为大家详细解析了Bootstrap模态窗口源码,基本每行都加了注释,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

02 | Bootstrap源码分析(二)

netty客户端的启动和服务端启动复用性比较高,特别是NioEventLoopGroup|NioEventLoop等逻辑思想都是一致的,唯一的区别就在于服务端是DoBind、客户端是doResolveAndConnect,客户端这里有一个三次握手的实现,可以结合TCP的三次握手协议对照看看。如果有条件,后期还会补充对应jdk nio、linux epoll等处理逻辑,待续。

qiushily2030的博客 1636

浅谈bootstrap源码分析之tab(选项卡)

实现tab选项卡的应用,此插件相对比较简单 源码文件: tab.js 实现原理 1、单击一个元素时,首先将原来高亮的元素取消 2、然后给被单击元素进行高亮 3、如果单击元素是下拉框中某个选项,则选中本身,还要选中下拉框 5、如果定义了动画,先执行动画,然后回调 源码分析: 1、Show方法,是在单击一个元素的时候触发,会触发如下四个事件 1.1、Hiden.bs.tab:隐藏上一个元素 1.2、Show.bs.tab:显示当前元素 1.3、Hideen.bs.tab:隐藏上一个元素完成 1.4、Shown.bs.tab:显示当前元素完成 1.5、Hiden/show事件源码: var $pr

ARM CoreSight架构

CoreSight架构是现代复杂SoC的“飞行数据记录仪”(黑匣子)和“精密诊断仪”的结合体。它彻底改变了嵌入式系统的调试方式,从传统的“盲人摸象”变成了拥有“上帝视角”,是ARM生态系统能够支撑起从微控制器到高性能服务器芯片如此广泛产品线的重要基石技术之一。

guigenyi的专栏 1420

bootstrap--栅格系统详解(源码分析)

对bootstrap源码进行了简单的分析,通过递归可以实现响应式布局,以及介绍了栅格系统的精妙之处。1.bootstrap是什么?Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。

weixin_47942860的博客 2558

ur3手眼标定+realsenseL515

知乎 csdn

AI_future的博客 976

bootstrap实战项目总结 源码及知识点

在学校里面参加了一个服创比赛,我的任务是前端,一个半月的寒假打算好好学Js,bootstrap,Vue,jQuery,现在先开始学习bootstrap。发现在实战项目中学习是一个不错的方法。 话不多说,直接上源码与做完后的图片,很多知识点我都在源码里详细注释了供大家参考,希望大家不断进步。 我是用webstrom做的,加上一点快捷键:ctrl+F在文件内快速查找代码 ctrl+D复制当前行...

北枫林 1万+

spring boot 集成cas(一) 服务端搭建

简单点就是统一服务认证,多个系统一次登录。俗称单点登录。

慕孑晨的博客 1955

Marvell 88E6390x交换芯片:从零构建No-CPU模式网络交换系统

本文详细介绍了如何为Marvell 88E6390x以太网交换芯片构建No-CPU模式网络交换系统。通过解析其核心价值与硬件准备,并手把手指导使用CodeBlocks、IMPGUI和SwitchGUI等软件工具进行配置代码编写、镜像生成与烧录,最终实现交换芯片脱离外部CPU独立工作,适用于成本敏感、空间受限的嵌入式网络设备设计。

plant的博客 481

Bootstrap源码分析

bootstrap是twitter公司基于HTML5、CSS3和jQuery创建的一种前端框架,是现在使用范围比较广泛的一种前端框架,其源码对于学习前端的一些技术非常有帮助。bootstrap源码可以从bootstrap中文网(http://www.bootcss.com/)上面下载,但是安装源码需要配置Nodejs环境,安装方法可以自行百度。这个网站上面也可以下载到用于生产的精简源码。bootst

cithegod的博客 2383

大规模新闻聚合爬虫实战:Python爬取数百万新闻数据的完整指南

本文详细介绍了如何构建一个大规模新闻聚合爬虫,结合Python异步爬虫技术,实现高效、稳定的新闻数据采集。增加NLP模块对新闻内容做自动分类、情感分析。引入机器学习模型检测新闻真实性。使用分布式爬虫框架进一步提升规模。增加多媒体内容抓取与处理。

2201_76125261的博客 1553

Bootstrap3源码分析

文章目录前言一、Bootstrap和它的栅格系统1.Bootstrap介绍2.容器3.栅格系统二、栅格系统源码分析1.固定容器&流体容器 公共样式2.固定容器 特定样式3.行4.列2.4.1 全部加默认样式2.4.2 设置列的浮动、宽度和位置2.4.2.1 左浮动2.4.2.2 列宽2.4.2.3 列排序2.4.2.4 列偏移三、响应式工具四、栅格和模型设置的精妙之处 前言 Bootstrap3依赖于jQuery,须先引入jQuery后方可使用。 Bootstrap3源码涉及Less,建议先

yan_danfeng的博客 778

PCL 平面点云的凹多边形边界提取【2025最新版】

平面点云的凹多边形边界提取及边界轮廓线绘制。博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 7183

YOLO26全网首发:CVPR2026 FAA| 解决YOLO Neck跨尺度方向冲突--- FAAFusion频域对齐融合模块 | 暴力涨点篇

本文改进:FAAFusion引入YOLO neck ,代替nn.Upsample和Concat

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 636

深入理解SpringBoot中bootstrap和application的区别[源码分析/图文亲测]

关于springboot中bootstrap和application的区别,网上很多文章可能讲述的并不清晰,尤其是根据网上的讲解对比自己的测试,出入很大,本质原因都是理解不深刻和表述不清楚所致

专注Java实用技术分享 6636

YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务

SPD-Conv是一种新的 CNN 构建模块,用于替代传统 CNN 架构中使用的步长卷积(strided convolution)和池化(pooling)层,它由空间到深度(Space-to-depth,SPD)层和非步长卷积(non - strided convolution)层组成。

Limiiiing的博客 4972

BootStrap栅格系统的源码分析

文章目录容器公共样式 container-fixed清除浮动 .clearfix流体容器固定容器源码分析栅格系统行 & 列.make-row.列make-grid-columns().make-grid(xs);栅格盒模型的设计精妙之处 容器 公共样式 container-fixed 【固定容器和流体容器的公共样式】 /** grid.less **/ .container-fixed(@gutter: @grid-gutter-width) { margin-left: auto;

qq_43952245的博客 699

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Netty 源码分析系列(九)程序引导类Bootstrap

程序引导类(Bootstrap)可以理解为是一个程序的入口程序,在 Java 程序中,就是一个包含 main 方法的程序类。在 Netty 中,引导程序还包含一系列的配置项。本篇文章我们就来介绍 Netty 的引导程序。从上图可以看出,抽象类实现了Cloneable接口。那么为什么需要实现Cloneable接口呢?在 Netty 中经常需要创建多个具有类似配置或者完全相同配置的Channel。为了支持这种模式而又不避免为每个Channel都创建并配置一个新的引导类实例,因此被标记为了Cloneable。

初念初恋的博客 867

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

深入理解为什么nacos配置信息要放到bootstrap.properties「源码分析/图文详解」

项目启动nacos链接报错,问题是为什么这里会获取localhost,而没有通过applicaiton.properties配置的nacos地址去链接

专注Java实用技术分享 1万+

netty源码分析系列——Bootstrap

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34269583的博客 174
上一篇: Bootstrap整体架构
下一篇: Bootstrap 模态窗口源码分析
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值