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

vscode中创建vue快捷键

1.安装Vetur插件(扩展里面直接搜) 2.vscode 界面里面左上角选则 文件=> 首选项=> 用户代码片段=>新建全局代码片段=>在输入框中新建名称为vue.json 3.删除里面的注释,当然你也可以留着,把下面的代码粘贴进去! { // Place your 全局 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and // descri

Leon_940002463的博客 3207

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

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

weixin_47942860的博客 2558

PySide6多线程避坑大全:信号槽崩溃、内存泄漏,这些雷我都帮你踩过了

本文深入探讨了PySide6多线程开发中的常见问题与解决方案,包括信号槽崩溃、内存泄漏等典型陷阱。通过实战案例和优化策略,帮助开发者避免UI线程操作错误、有效管理资源生命周期,并提升跨线程通信的可靠性。特别针对PySide6多线程特性,提供了线程安全日志、死锁检测等实用调试技巧。

weixin_32288959的博客 396

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

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

北枫林 1万+

S7-1200模拟量

将两种不同的金属或合金金属焊接起来,构成一个闭合回路,利用温差电动势来测量温度,当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在电动势--热电动势,这就是所谓的塞贝克效应(seebeck effect)。温差越大,热电动势越高。热电偶是有正负极性的,所以需要确保导线连接到正确的极性,否则会造成明显的测量误差。为了使温度补偿达到最佳效果,必须将热电偶模块安装在温度稳定的环境中简述:两种金属,每一种金属随温度变化是不同的,出现温差--由俩金属构成的回路就会有电流经过,因此两端形成热电动势。

王阿妹小天才的博客 2589

【gateway nc adapter虚拟网卡 win11 联想】问题的解决

由于需要登录公司内网,于是启用奇安信VPN。但启动后报出网关未连接的问题,于是我检查了我的网络适配器,并尝试解决,以下给出几种我实践过程中的行动,并附带最后成功的解决方法。

m0_73602417的博客 6536

Bootstrap源码分析

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

cithegod的博客 2383

pta——特立独行的幸福

这是我认为比较复杂的一道题了,比较迷茫的点在于不知道要算各位平方和几次到不了1,才算他不是幸福数。突破口在于如果如果不是回到1也会有一些数字重复出现,只要重复出现的数字不是1,那就不是幸福数

m0_65620244的博客 4033

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

MacX DVD Ripper Pro for Mac(DVD解码器) 6.2.120190416免激活版

只需要5分钟即可转档一张DVD光碟!并允许我们在编码之前预览、编辑、裁剪、修剪或扩展视频。第一款也是唯一一款能够支持DVD到MP4,H.264,MOV,FLV,MPEG4等所有格式DVD(新DVD,99-标题DVD,损坏和无法播放的DVD)和翻录DVD / ISO映像的工具,AVI,QT,MP3等。借助350多种预设配置文件MacX DVD Ripper Pro for Mac(DVD解码器) 6...

llhf688的博客 890

实干派!网易易盾增强版滑块验证码,全方位讲解识别思路(含源码)

该验证码是异形滑块验证码中的一种,缺口旋转+偏移的处理需要你有很好的图像处理知识,能很好的处理透明通道,同时,该验证码需要你能很好的处理缺口和背景之间匹配的关系,该验证码的处理难点就是两个缺口之间如何找到正确的,两个检测框都有很强的相似度,且加上背景图的干扰,在图像处理和有优化上难度大大增加。

码王吴彦祖的博客 2012

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

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

专注Java实用技术分享 6636

基于YOLOv11的人脸识别系统:从构建到应用的全流程指南

深度学习是机器学习的一个分支,旨在通过多层神经网络模拟人脑的认知能力。它能够从大量数据中自动提取特征,并进行准确的预测和分类。在计算机视觉领域,深度学习技术已经取得了显著的成果,尤其是在图像识别、目标检测等方面。YOLOv11是YOLO系列模型的最新版本,结合了卷积神经网络(CNN)和其他创新技术。它在保持高精度的同时,显著提高了推理速度。YOLOv11的结构轻量且高效,非常适合实时目标检测任务。人脸检测的目标是从图像或视频中定位所有人脸的位置。

FJN110的博客 184

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

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

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

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

初念初恋的博客 867

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

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

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

OV9734 DATASHEET,完整规格书

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

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、付费专栏及课程。

余额充值