Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统


Posted in Javascript onMay 27, 2016

栅格系统英文为“grid systems”,也有人翻译为“网格系统”,运用固定的格子设计版面布局,其风格工整简洁,在二战后大受欢迎,已成为今日出版物设计的主流风格之一。

1692年,新登基的法国国王路易十四感到法国的印刷水平差强人意,因此命令成立一个管理印刷的皇家特别委员会。他们的首要任务是设计出科学的、合理的, 重视功能性的新字体。委员会由数学家尼古拉斯加宗(Nicolas Jaugeon)担任领导,他们以罗马体为基础,采用方格为设计依据,每个字体方格分为64个基本方格单位,每个方格单位再分成36个小格,这样,一个印刷版面就有2304个小格组成,在这个严谨的几何网格网络中设计字体的形状,版面的编排,试验传达功能的效能,这是世界上最早对字体和版面进行科学实验的活动,也是栅格系统最早的雏形。

我给网页栅格系统下的定义为:以规则的网格阵列来指导和规范网页中的版面布局以及信息分布。网页栅格系统是从平面栅格系统中发展而来。对于网页设计来说,栅格系统的使用,不仅可以让网页的信息呈现更加美观易读,更具可用性。而且,对于前端开发来说,网页将更加的灵活与规范。

Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。它包含了易于使用的预定义类,还有强大的mixin 用于生成更具语义的布局。

也就是说Bootstrap把一个元素的宽度划分成12份。我们则在这个被划分成12份的行安排元素。

一、基本目标

制作如下的两行,这两行因为设备的不同里面各个单元格的宽度会改变:

Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统

在手机小屏幕上,上行A占2份B占10份,AB分享了这12份,下行A占1份B占1份C占10份,ABC分享了这12份。

在平板的中等屏幕上,上行A占8份B占4份,AB分享了这12份,下行A占10份B占1份C占1份,ABC分享了这12份。

在PC的大屏幕上,上行A占4份B占8份,AB分享了这12份,下行A占1份B占10份C占1份,ABC分享了这12份。

二、制作过程

先在网页文件夹中配置好Bootstrap,在官网(点击打开链接)下载组件即可,用于生产环境的Bootstrap版本(点击打开链接),Bootstrap3对2并不兼容,建议直接根据其开发文档使用Bootstrap3。将Bootstrap解压之后把得到的3个文件夹css,fonts,js拷贝到站点目录下面。如果是Eclipse的JSP Web Project的话就把它们放到WebRoot文件夹下面。

之后代码如下,详情请看注释:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!--网页编码,要使用的外部文件,自动适应屏幕-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="css/bootstrap.css" rel="stylesheet" media="screen">
<meta name="viewport"
content="width=device-width,initial-scale=1.0,user-scalable=no">
<title>栅格系统</title>
</head>
<body>
<!--使用Bootstrap如果不使用面板的话,要把元素放进一个占满100%屏幕的容器里-->
<!--class="container"则自动居中-->
<div class="container-fluid">
<!--定义一行-->
<div class="row">
<!--xs代表手机小屏幕,md代表平板中屏幕,lg代表PC大屏幕-->
<!--同一对的元素之和必须等于12,否则出现错误,如A的col-xs-2+B的col-xs-10是等于12的-->
<!--bg-warning是定义浅黄色的背景色-->
<div class="col-xs-2 col-md-8 col-lg-4 bg-warning">
A
</div>
<div class="col-xs-10 col-md-4 col-lg-8 bg-primary">
B
</div>
</div>
<div class="row">
<!--这里的道理与上面的一样,A的col-xs-1+B的col-xs-1+C的col-xs-10是等于12的-->
<div class="col-xs-1 col-md-10 col-lg-1 bg-warning">
A
</div>
<div class="col-xs-1 col-md-1 col-lg-10 bg-primary">
B
</div>
<div class="col-xs-10 col-md-1 col-lg-1 bg-success">
C
</div>
</div>
</div>
</body>
</html>
Javascript 相关文章推荐
利用js获取服务器时间的两个简单方法
Jan 08 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
Jan 15 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
js动态添加onclick事件可传参数与不传参数
Jul 29 Javascript
Javascript基础知识盲点总结之函数
May 15 Javascript
js Canvas实现圆形时钟教程
Sep 19 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
Dec 27 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
解决vue.js 数据渲染成功仍报错的问题
Aug 25 Javascript
Vue $mount实战之实现消息弹窗组件
Apr 22 Javascript
vue使用echarts画组织结构图
Feb 06 Vue.js
Bootstrap3.0学习教程之JS折叠插件
May 27 #Javascript
全面解析多种Bootstrap图片轮播效果
May 27 #Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
May 27 #Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
May 27 #Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
May 27 #Javascript
非常酷炫的Bootstrap图片轮播动画
May 27 #Javascript
Bootstrap安装环境配置教程分享
May 27 #Javascript
You might like
星际原理概述
2020/03/04 星际争霸
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
2013/02/05 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
初探nodeJS
2017/01/24 NodeJs
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
JS回调函数深入理解
2019/10/16 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python实现得到一个给定类的虚函数
2014/09/28 Python
python的变量与赋值详细分析
2017/11/08 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
Python filter()及reduce()函数使用方法解析
2020/09/05 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
CSS3 calc()会计算属性详解
2018/02/27 HTML / CSS
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
教师个人年度总结
2015/02/11 职场文书
检讨书怎么写
2015/05/07 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js