积跬步,聚小流------Bootstrap学习记录(3)
响应式作为Bootstrap的一大特色。栅格系统可谓是功不可没,既然如此,那我们就来看一下栅格系统是怎样帮助bootstrap实现响应式布局的呢?
1、什么是栅格系统
我们能够从Bootstrap的官网上找到比較官方的回答:Bootstrap提供了一套响应式、移动设备优先的流失栅格系统,随着屏幕或视口(viweport)的添加,系统会自己主动分为最多12列。
它包括了易于使用的提前定义类,还有强大的mixin用于生成更具语义的布局。
这样的说法是比較精准并且明了的。可是还能够更通俗一点的来解释:将视口等分12列,当中的元素占领不同的列数,当视口改变时,元素所占领的列数会对应改变。当然这是我临时的理解。
2、一个最简单的栅格演示样例
我先上一段我用来做演示样例的代码,和对应的效果展示:
<div class="container">
<div class="row part-msg">
<div class="col-md-4 col-lg-2 col-sm-5">
<img src="img/261877.jpg" alt="显示的图片" class=" img-responsive" />
</div>
<div class="col-md-4 col-lg-2 col-sm-5">
<img src="img/261877.jpg" alt="显示的图片片" class=" img-responsive" />
</div>
<div class="col-md-4 col-lg-2 col-sm-5">
<img src="img/261877.jpg" alt="显示的图片片" class=" img-responsive" />
</div>
<div class="col-md-4 col-lg-2 col-sm-5">
<img src="img/261877.jpg" alt="显示的图片片" class=" img-responsive" />
</div>
<div class="col-md-4 col-lg-2 col-sm-5">
<img src="img/261877.jpg" alt="显示的图片" class=" img-responsive" />
</div>
<div class="col-md-4 col-lg-2 col-sm-5">
<img src="img/261877.jpg" alt="显示的图片" class=" img-responsive" />
</div>
</div>
</div>
我电脑当前的分辨率为1600*900。这是的显示效果例如以下:
当我缩小浏览器大小到一定程度时。再来查看显示效果:
然后此种情况下我继续缩小浏览器视口,会发现布局会进一步的改变:
而当我进一步缩小视口的时候,图片布局也对应的发生了改变,从而显示了终结效果:
看到了这种效果,和我最简单的描写叙述,如今预计会有一个最大的疑惑,缩小到什么程度才会有对应的效果呢,栅格系统在这里是怎么表现的呢?
3、演示样例代码分析
首先,在代码的最外层有一个<div class="container"></div>,作为一个div出现。我们非常easy想到,它是一个独立的模块。而它详细的表现形式呢。我们来看下对应样式表中的设置:
.container {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 768px) {
.container {
width: 750px;
}
}
@media (min-width: 992px) {
.container {
width: 970px;
}
}
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
这里我们在container里看到了一个熟悉的代码:margin-right:auto;margin-left:auto;这不由让我想起了我们最经常使用的margin:0px auto;就是居中效果。而在这里相同依据屏幕大小设定的它的固定宽度。当然,我们相同要注意一点。这里是没有设置高度的,假设用来布局的话,高度的问题还须要注意协调,这个后面再说。
而我们在这个地方看到了三个用来做界限切割的视口尺寸:768px、992px、1200px。那这三个尺寸是不是与我之前的操作有对应的关系呢,答案是肯定的,就是由于它的关系。
我们来看官网在这里的解释:
我们在代码编写中也用到了对应的class属性:col-md-、col-lg-、col-sm-、col-xs-等等,而这里的md则是middle,lg代表了large,sm代表了small,xs也就代表了“更小。极小”的意思吧。这时候我们再来看上面的代码是不是很基础,可谓是简单至极。
可是另一个细节我们绝对是不能够忽视的,那就是<div class="row"></div>的存在。它的存在意义是什么呢?
假设出现row、column的字眼,最先想起来的是什么,对了,就是table,表格中才有行列,而这也就是我们的网格系统了,既然有了col-。那怎么能少的了row。并且列也仅仅能在行中体现,行的以下仅仅能是列,而对应行的对应列才是一个详细的单元格,才干写内容,而这里的row也仅仅能被放置在container或者container-fluid之内。
至于对于行和列的设定,我们能够来看下样式表里的定义:
.row {
margin-right: -15px;
margin-left: -15px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
position: relative;
min-height: 1px;
padding-right: 15px;
padding-left: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
float: left;
}
.col-xs-12 {
width: 100%;
}
.col-xs-11 {
width: 91.66666667%;
}
.col-xs-10 {
width: 83.33333333%;
}
.col-xs-9 {
width: 75%;
}
.col-xs-8 {
width: 66.66666667%;
}
.col-xs-7 {
width: 58.33333333%;
}
.col-xs-6 {
width: 50%;
}
.col-xs-5 {
width: 41.66666667%;
}
.col-xs-4 {
width: 33.33333333%;
}
.col-xs-3 {
width: 25%;
}
.col-xs-2 {
width: 16.66666667%;
}
.col-xs-1 {
width: 8.33333333%;
}
看到这里的.row的设置,发现了什么呢,还记得.container的设置么。padding:0px 15px;而这里的margin却是-15px啊。
就这样,最简单的栅格系统就完毕了,突然感觉好高大上...
积跬步,聚小流------Bootstrap学习记录(3)的更多相关文章
- 积跬步,聚小流------Bootstrap学习记录(2)
现阶段开启每一次新的征程,已然离不开"Hello World"的习惯仪式.这次自然也不例外.先来看下给出的官网给出的演示样例: 1.bootstrap官网提供的html基本模板代码 ...
- 积跬步,聚小流------Bootstrap学习记录(1)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- 积跬步,聚小流-------js实现placeholder的效果
前几天在"技术问答"上问了问题,然后有回复一句话就给概括了:placeholder的效果,不得不说.了解的多了才干说起来言简意赅,用最简单的语言描写叙述最清晰的表达. 可是plac ...
- 积跬步,聚小流------关于UML类图
UML的存在 类图是使用频率比較高的UML图,它用于描写叙述系统中所含的类以及它们之间的相互关系,帮助人们简化对系统的理解,也是系统分析和设计阶段的重要产物,也是系统编码和測试的重要类型根据. UML ...
- 积跬步,聚小流------ps有用小技巧,改变png图标颜色
* 实现效果: 原图: 改动后: * 实现目的: 满足为实现不同界面色彩搭配改动png图标的颜色 * 实现方法: 1.打开Photoshop工具,导入须要进行改动的png图标: 2.对导入的图 ...
- 积跬步,聚小流------界面经常使用的jeecms标签
* JEECMS初印象 第一次接触JEECMS,突然脑海就浮现了一句话"20元建站,立等可取",原来这都是真的... * JEECMS的界面经常使用标签 临时忽略掉环境搭建.栏目配 ...
- 积跬步,聚小流------java信息生成图片
需求: 是在做证书的时候碰到的这个问题. 当时需求是能够进行在线打印证书,第一次进行的操作是直接打印html,并且已经排好版(用jqprint插件)进行打印.在打印时碰到了兼容的问题,另外因为背景图片 ...
- 积跬步,聚小流------java获取图片的尺寸
在一篇文章中获取到通过例如以下两种方式进行获取: 1.使用ImageReader进行获取: 2.使用BufferedImage进行获取: 而且经过验证ImageReader进行操作的耗时远远低于Buf ...
- qingshow “不积跬步无以至千里,不积小流无以成江海”。--荀子《劝学篇》 用tomcat+花生壳搭建自己的web服务器+域名(参考)
链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html 用tomcat搭建web服务器 目标:免费拥有自己的网站及域名 ...
随机推荐
- Linux 命令学习(1): head和tail
版权声明:本文为博主原创文章,未经允许,不得转载. head head 命令可以将一段文本的开头一部分输出到标准输出. head命令既可以处理文本文件也可以处理标准输入. 基本应用 处理文本文件: h ...
- 条款6:若不想使用编译器自动生成的函数,就该明确拒绝(Explicity disallow the use of compiler-generated functions you do not want)
class uncopyable{ protected: uncopyable(){}; ...
- MySQL数据库安装与Navicat Premium 12 安装与破解
一.文件下载: MySQL:官网:https://www.mysql.com/downloads/(现在最新的是5.7版) 下载路径:"Downloads" ==>> ...
- 《C/C++工程师综合练习卷》
前言 前天拿这个<C/C++工程师综合练习卷>练习了一下,现将错题以及精题分析总结. 错题分析与总结 2 . 下面的程序可以从1-.n中随机等概率的输出m个不重复的数.这里我们假设n远大于 ...
- POJ 2349 Arctic Network(贪心 最小生成树)
题意: 给定n个点, 要求修p-1条路使其连通, 但是现在有s个卫星, 每两个卫星可以免费构成连通(意思是不需要修路了), 问修的路最长距离是多少. 分析: s个卫星可以代替s-1条路, 所以只要求最 ...
- PHP 小方法之 获取中文字的首字母
public function getFirstCharter($str) { if (empty($str)) { return ''; } $fchar = ord($str{0}); if ($ ...
- SSRS ( .rdl文件)如何动态的设置导出Excel文件中的工作表标签名
要实现以上效果,则在Tablix属性里设置 参考:https://dotblogs.com.tw/ricochen/archive/2012/06/14/72798.aspx
- luogu1494 [国家集训队]小Z的袜子
#include <algorithm> #include <iostream> #include <cstdio> #include <cmath> ...
- PHP统计目录中文件个数和文件大小
<meta charset="utf-8"><?php $dirn = 0; //目录数 $filen = 0; //文件数 //用来统计一个目录下的文件和目录的 ...
- mappedBy的具体使用及其含义
mappedBy: 1>只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性: 2>mappedBy标签一定是定义在被拥 ...