一、响应式开发
响应式布局容器:需要一个父级作为布局容器,来配合子级元素实现变化效果
原理:通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式变化
响应式尺寸划分:
超小屏幕:手机,小于768px,设置宽度为100%
小屏幕:平板,大于等于768px,设置宽度为750px
中等屏幕:桌面显示器,大于等于992px,宽度设置为970px
大屏幕:大桌面显示器,大于等于1200px,宽度设置为1170px
二、Bootstrap前端开发框架
Bootstrap是基于HTML,CSS,JavaScript的,它简洁灵活,使得web开发更加快捷
版本:
2.x.x:停止维护,兼容性好,代码不够简洁,功能不够完善
3.x.x:目前使用较多,放弃IE6,7,对IE8支持,但页面效果不够好,偏向用于开发响应式布局,移动设备优先WEB项目
4.x.x:最新版,目前还不是很流行
布局容器
Bootstrap需要为页面内容和栅格系统包裹了一个.container容器,Bootstrap预先定义好了这个类,叫.container它提供了两个做此用处的类
1.container类
响应式布局容器
固定宽度
超小屏幕:手机,小于768px,设置宽度为100%
小屏幕:平板,大于等于768px,设置宽度为750px
中等屏幕:桌面显示器,大于等于992px,宽度设置为970px
大屏幕:大桌面显示器,大于等于1200px,宽度设置为1170px
2.container-fluid类
流式布局容器,百分百宽度
占据全部视口(viewport)的容器
适合于单独做移动端开发
Bootstrap栅格系统(网络系统)
Bootstrap提供了一套响应式,移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列
<div class="row">
<div class="col-lg-3">1</div>
<div class="col-lg-3">1</div>
<div class="col-lg-3">1</div>
<div class="col-lg-3">1</div>
</div>
如果孩子份数相加等于12,则会占满整个container的宽度,不会有空白
如果孩子份数相加小于12,则不会占满整个container的宽度,会有空白
如果孩子份数相加大于12,多出的那一列会另起一行显示
注意:行(row)必须放在container布局容器里面
我们实现列的平均划分,需要给列添加类前缀
列大于12,多余的列会,所在元素将被作为一个整体另起一行排列
每一列默认有左右15像素的padding
可以同时为一列指定多个设备的类名,以便划分不同的份数,例如:class=“col-md-4 col-sm-6”
列嵌套
简单理解就是一个列内再次嵌套分成若干个小列
里面再划分是将去掉padding值的部分再划分成12等分
我们列嵌套最好加一个行,row这样可以取消父元素的padding值,而且高度自动和父级一样高
<div class="row">
<div class="col-md-4 col-sm-6 col-xs-12">
<div class="row">
<div class="col-md-6">a</div>
<div class="col-md-6">b</div>
</div>
</div>
<!-- <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">1</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">1</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12">1</div> -->
</div>
列偏移
左右对齐,中间空着
<div class="container">
<div class="row-1">
<div class="col-md-4">左侧</div>
<div class="col-md-4 col-md-offset-4">右侧</div>
</div>
</div>
偏移的份数:12-两个盒子的份数
<div class="container">
<div class="row-1">
<div class="col-md-4">左侧</div>
<div class="col-md-4 col-md-offset-4">右侧</div>
</div>
<div class="row-1">
<div class="col-md-8 col-md-offset-2">中间盒子</div>
</div>
</div>
如果只有一个盒子,偏移=(12-8)/2
列排序
左边 右边
右边 左边
使用.col-md-push-*和.col-md-pull-*
<div class="row-1">
<div class="col-md-4 col-md-push-8">左边</div>
<div class="col-md-8 col-md-pull-4">右边</div>
</div>
响应式工具
为了加快对移动设备友好的开发,利用媒体查询,并使用这些工具类以便针对不同设备展示或隐藏页面内容
|
类名
|
超小屏
|
小屏
|
中屏
|
大屏
|
|
.hidden-xs
|
隐藏
|
可见
|
可见
|
可见
|
|
.hidden-sm
|
可见
|
隐藏
|
可见
|
可见
|
|
.hidden-md
|
可见
|
可见
|
隐藏
|
可见
|
|
.hidden-lg
|
可见
|
可见
|
可见
|
隐藏
|
与之相反的,是visible-xs、visible-sm、visible-md、visible-lg是显示某个页面的内容
总结:
流式布局(百分比布局)
flex弹性布局(推荐)
rem适配布局(推荐)
响应式布局