1.BootStrap的安装和使用
后续一些知识可以按着官网去学习和查找。
1.1 BootStrap介绍
官网:http://getbootstrap.com/
中文网:http://www.bootcss.com/
BootStrap是一套现成的CSS样式集合(做得还是很友好的)。是两个推特的员工做出来的。
BootStrap是最受欢迎的HTML、CSS和JS框架,用于开发响应式布局、移动设备优先的WEB项目。
2011年,twitter的“一小撮”工程师为了提高他们内部和分析管理能力,用业余时间为他们的产品构建了一套易用、优雅、灵活、可扩展的前端工具集—–BootStrap。BootStrap由MARK OTTO和Jacob Thornton所设计和建立,在github上开源之后,迅速成为该站上最多人watch&fork的项目。大量工程师踊跃为该项目贡献代码,社区惊人的活跃,代码版本进化非常快速,官方文档质量极其高(可以说是优雅),同时涌现了许多基于BootStrap建设的网站:界面清晰、简洁,要素排版利落大方。
BootStrap特别适合那种没有设计师的团队(甚至说没有前端的团队),可以快速的出一个网页。
1.2 BootStrap特点
1.简洁、直观、强悍的前端开发框架,html、css、javascript工具集,让web开发更迅速、简单。
2.基于html5、css3的bootstrap,具有大量诱人的特性:友好的学习曲线,卓越的兼容性,响应式设计,12列网格,样式向导文档。
3.自定义JQuery插件,完整的类库,bootstrap3基于Less,bootstrap4基于Sass的CSS预处理技术。
4.BootStrap响应式布局设计,让一个网站可以兼容不同分辨率的设备。BootStrap响应式布局设计,给用户提供更好的视觉使用体验。
5.丰富的组件。
1.3 下载与使用
1.下载:https://v3.bootcss.com/getting-started/
2.下载完后
拷贝dist/css中的bootstrap.min.css到项目css中
拷贝dist/js中的bootstrap.min.js到项目js中
3.下载jquery.js
http://jquery.com/
4.在html中模板为:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<!--使用X-UA-Compatible来设置IE浏览器兼容模式,最新的渲染模式-->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--
viewport表示用户是否可以缩放页面
width指定视区的逻辑宽度
device-width指视区宽度应为设备的屏幕宽度
initial-scale指令用于设置web页面的初始缩放比例
initial-scale=1则将显示为经缩放的web文档
-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>Bootstrap的HTML标准模板</title>
<!-- Bootstrap -->
<!-- 载入Bootstrap的css -->
<link rel="stylesheet" href="css/bootstrap.min.css">
</head>
<body>
<h1>你好,世界!</h1>
</body>
</html>
2.布局容器和栅格网格系统
2.1布局容器
做一个页面最先要做一个布局
1、.container 类用于固定宽度并支持响应式布局的容器
// 固定宽度,会有留白
<div class="container">
...
</div>
2、.container-fluid 类用于100% 宽度,占据全部视口(viewport)的容器
<div class="container-fluid">
...
</div>
2.3栅格网格系统
BootStrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。栅格系统用于通过一系列的行(row)或列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中。
网格系统的实现原理非常简单,仅仅是通过定义容器大小,平分12份(也有平分成24份或32份,但12份是最常见的),再调整内外边距,最后结合媒体查询,就制作出来强大的响应式网格系统。BootStrapu框架中的网格系统就是将容器平分成12份。
注意:网格系统必须使用到CSS
container、row、xs(xsmall phones),sm(small tablets),md(middle desktops),lg(laege desktops),即
超小屏(自动),小屏(750px),中屏(970px)和大屏(1170px)
数据行(.row)必须包含在容器(.container)中,以便为其赋予合适的对齐方式和内距(padding)。
在行(.row)中可以添加列(.column),只有列(column)才可以作为行容器(.row)的直接子元素,但列数之和不能超过平分的总列数,比如12。如果大于12,则自动换到下一行。
具体内容应当放置在列容器之内。
栅格参数:
2.3.1列组合
列组合简单理解就是更改数字来合并列(原则:列总数不能超过12,大于12则自动换到下一行),有点类似于表格的colspan属性。
<div class="container-fluid">
<div class="row">
<div class="col-xs-4 col-md-4 bg-info">4列</div>
<div class="col-xs-8 col-md-8 bg-danger">8列</div>
</div>
<div class="row">
<div class="col-xs-2 col-md-2 bg-primary">2列</div>
<div class="col-xs-10 col-md-10 bg-warning">10列</div>
</div>
</div>
页面显示结果:
2.3.2列偏移
如果我们不希望相邻的两个列紧靠在一起,但又不想使用margin或者其他技术手段来实现,这个时候就可以使用列偏移(offset)功能来实现。只需要在列元素上添加类名“col-md-offset-#”(其中#表示要偏移的列组合数),那么具有这个类名的列就会向右偏移。但是,要保证列与偏移列的总数不超过12,不然会导致列断行或换行显示。
<div class="container">
<div class="row">
<div class="col-xs-3 col-xs-offset-1 bg-primary">4列</div>
<div class="col-xs-8 bg-warning">8列</div>
</div>
</div>
页面显示结果:
2.3.3列排序
列排序其实就是改变列的方向,就是改变左右浮动,并且设置浮动的距离。在BootStrap框架的网络系统中是通过添加类名“col-md-push-#”和“col-md-pull-#”来实现(其中#代表移动的列组合数)。往前pull,往后push.
<div class="container">
<div class="row">
<div class="col-md-1 col-md-push-10 bg-primary">1列</div>
<div class="col-md-1 col-md-pull-1 bg-warning">2列</div>
</div>
</div>
向右push,如果向右的格数和后面某个列重合,就会覆盖原来的列。
2.3.4列嵌套
BootStrap框架的网格系统还支持列的嵌套。你可以在一个列中添加一个或多个行(row)容器,然后在这个容器中插入列。
<div class="container">
<div class="row">
<div class="col-md-2 bg-primary">
我的里面嵌套了一个网格
<div class="row">
<div class="col=md-9">9</div>
<div class="col=md-3">3</div>
</div>
</div>
<div class="col-md-1 col-md-pull-1 bg-warning">我的里面嵌套了一个网格
<div class="row">
<div class="col=md-10">10</div>
<div class="col=md-2">2</div>
</div>
</div>
</div>
</div>