0

0

bootstrap4源码阅读体会_html/css_WEB-ITnose

php中文网

php中文网

发布时间:2016-06-24 11:26:49

|

1851人浏览过

|

来源于php中文网

原创

bootstrap使用了很长时间,是页面快速开发的一把利器。最近,bootstrap4马上呼之欲出,春节闲来无事,就从源码层面解读下。

1. 移动优先

在移动互联网时代,很多公司都坚持移动端优先的原则,bootstrap也迎合了这种需求,具体表现在如下方面:

  • 相对单位: % 、 rem 的大量使用
  • grid系统: 为了使用不同的设备,grid系统对xs、sm、md、lg、xl进行了响应式设计,通过media query做到适配
  • 支持flexbox: mobile应该很快就可以使用flexbox

2. 代码结构

2.1 从less到saas

使用sass作为bootstrap的css预处理器,以前对预处理器不是很感冒,认为将简单问题复杂化了。但是通过阅读源码改变了这种认识:

  • css模块化: css很简单、灵活,这是其优点,同时也是一个缺点。通过sass预处理器,可以根据功能将css模块化,便于css的管理
  • 复用: 变量、mixin、function等技术,可以方便地进行代码复用
  • 简洁: 支持each、if等语法,动态输出内容,例如繁琐的grid系统,是通过少量的sass代码做到的

2.2 代码结构

根据代码的层次,sass的源码分为如下几部分:

  • 支撑部分: 包括 变量定义 、大量的 mixin文件 ,这是整个bootstrap的基础代码,也是进行个性化定制的其实位置
  • 全局部分: normalize.scss 用于覆盖各种浏览器的默认行为,保证起始样式的一致性
  • 基础样式部分: 包含了reboot、typography、images、code、table、forms、buttons等,主要是一些常用的基础html元素
  • grid部分: 选择性支持flexbox,默认情况下是关闭的,只要将 $enable-flex=true 就可以使用flexbox完成页面的栅格布局
  • 组件部分: 包含大量常用的基础组件,有些需要添加jQuery plugin
  • 工具类部分: 常用的简单样式,例如间距、文本对齐、字体加粗等

3. Grid

Grid用于页面的整体布局,同时css3也在起草 grid布局模块 。Grid也可以单独使用,bootstrap4提供了一个单独的文件( bootstrap-grid.scss )来实现栅格系统,具体来说Grid有如下特点:

立即学习前端免费学习笔记(深入)”;

降迹灵AI
降迹灵AI

用户口碑TOP级的降AIGC率、降重平台

下载
  • 默认情况下是12栅格
  • 栅格可以嵌套使用
  • 支持5种尺寸下的响应式样式
  • 5个尺寸可以组合使用,适配不同终端下终端
  • 支持使用flexbox

4. flexbox

flexbox目前还处于草案阶段,不过高级浏览器已经开始支持,如果只考虑高版本浏览器的话,可以启动通过 $enable-flex=true 来启动flexbox。

flexbox是未来布局的趋势,尤其是在复杂页面布局上,总得来说具有如下几个优点:

  • 可伸缩性: 通过flex来实现空间的伸缩,在响应式设计中更加灵活(无需关注margin、padding、border等)
  • 顺序定制: flexbox的一大亮点,通过order指定元素的显示顺序
  • 轻松对齐: 通过 jsutify-content 、 align-items 可以方便实现元素的对齐
  • 方向性: 通过flex-flow方便确定布局的方向

5. 组件设计

bootstrap里面提供了大量的常用组件,可以直接使用或者简单进行二次开发,加快日常业务的开发速度。同时,有些组件需要跟js(jQuery)配合,实现组件的交互效果。

里面的组件按是否需要js,可以分为两类:

  • 无需js配合: Button系列、Form、Input系列、DropDown、Jumbotron、Label、Alert、Cards、Nav系列、Breadcrumb、Pagination、Progress、List
  • 需js配合: Modal、Tooltips、Popovers、Carousels

需要注意的是Cards是bootstrap4新增的组件。

6. 参考

  • http://blog.getbootstrap.com/2015/08/19/bootstrap-4-alpha/

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号