响应式布局之Bootstrap
1.响应式开发原理
使用媒体查询针对不同宽度的设备进行布局和样式设置,从而达到适配不同的设备的目的。
2.响应式布局容器
响应式需要一个父级作为布局容器,来配合子级元素来实现变化效果。
原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面自级元素的排列方式和大小,从而实现不同屏幕下不同的页面布局和样式变化。
bootstrap
基于HTML、CSS、JAVASCRIPT的一种前端框架
bootstrap使用四部曲:1.创建文件夹结构 2.创建html骨架结构 3.引入相关样式文件 4.书写内容 :直接拿bootstrap预定好的样式进行使用,修改bootstrap原来的样式,注重权重样式。关键是明白他定义了那些样式和这些都能实现什么效果。不喜欢的可以利用自己写的样式直接覆盖原先的样式。
布局容器
bootstrap需要为页面内容和栅格系统包裹一个.containerron容器。预先定义好了这个类叫做:.container。
1.container类
响应式布局容器 固定宽度
大屏(>=1200px)宽度定为1170px
中屏 (>=992px) 宽度定为970px
小屏 (>=768) 宽度定为750px
超小屏 (100%)
2.container-fluid类
流式布局容器100%宽度
占据全部视口(viewport)的容器
适合于单独做移动开发
bootstrap栅格系统
指将网页布局分为等宽的列,然后通过列数的定义来模块化页面布局。
bootstrap提供了一套响应式、移动设备优先的移动栅格系统,随着屏幕或视口尺寸的增加,系统会自动分为最多12列。bootstrap里面container宽度是固定的,但在不同的屏幕之下,container宽度不同,我们在把container划分为12等分。
栅格选项参数
超小屏幕(手机)<768px | 小屏设备(平板)>=768px | 中等屏幕(桌面显示器)>=992px | 宽屏设备(大桌面显示器)>=1200px | |
---|---|---|---|---|
.container最大宽度 | 自动100% | 750px | 970px | 1170px |
类前缀 | .col-xs- | .col-sm- | .col-md- | .col-lg- |
列(column)数 | 12 |
---|
行(row)必须放到container布局容器里面
我们实现类的平均划分,需要给类添加类前缀
行(row)可以去除父元素15px边距
每一列默认有左右15px 的padding
可以为一列指定多个设备名,以便划分不同份数。例如class=“col-md-4 col-sm-6”后面接的数字表示在整个容器中所占的份数。
栅格系统列嵌套
1.列元素的嵌套最好加一个行,这样可以取消父元素的padding值,而且高度自动和父级一样高。
列偏移
使用.col-md-offset-*类可以将列向右侧偏移。实际上这些类就是通过*
选择器为当前元素增加了左侧的边距(margin)
列排序
通过使用.col-md-push-*和.col-md-pull-*
类就可以很容易改变列(column)的顺序
响应式工具
为了加快对移动设备友好的页面开发工作,利用媒体查询功能,并使用这些工具类可以方便的针对不同的设备展示或隐藏页面内容
类名 | 超小屏 | 小屏 | 中屏 | 大屏 |
---|---|---|---|---|
.hidden-xs | 隐藏 | 可见 | 可见 | 可见 |
.hidden-sm | 可见 | 隐藏 | 可见 | 可见 |
.hidden-md | 可见 | 可见 | 隐藏 | 可见 |
.hidden-lg | 可见 | 可见 | 可见 | 隐藏 |
反之visible-xs visible-sm visible-md visible-lg是显示某个页面内容