module4-07-响应式布局-Bootstrap

响应式布局+Bootstrap

一、响应式布局

  • 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的

1.1 响应式布局容器

  • 响应式需要一个父级作为布局容器,来配合子级元素来实现变化效果

  • 原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,在改变里面子元素的排列方式大小,从而实现不同屏幕下,看到不同的页面布局和样式变化

屏幕宽度
超小屏幕(小于768px) 100%
小屏幕(大于768小于992px) 750px
中等屏幕(大于992px小于1200px) 970px
大屏幕(大于等于1200px) 1170px

二、Bootstrap

2.1 Bootstrap简介

  • Bootstrap来自Twitter,是目前最受欢迎的前端框架,是基于HTML、 CSS和JAVASCRIPT的

  • 中文官网:http://www.bootcss.com/

  • 官网:http://getbootstrap.com/

  • 可以直接套用官网上的预写好的样式放在自己的代码上面以使用

  • 优点

    • 标准化的html+css编码规范

    • 提供了一套简洁、直观、强悍的组件

    • 有自己的生态圈,不断的更新迭代

    • 让开发更简单,提高了开发的效率

  • 版本号代表:

    • 2.x.x:停止维护兼容性好,代码不够简介,功能不够完善

    • 3.x.x:目前使用最多,稳定,放弃了IE6-IE7。对IE8支持但是页面效果不好,偏向于开发响应式布局移动设备优先的WEB项目

    • 4.X.X:最新版,目前还不是很流行

2.2 Bootstrap使用

(1)使用四部曲

    1. 创建文件加结构 2. 创建html股价结构 3. 引入相关样式文件。4. 书写内容

  • 基本代码

<!DOCTYPE html>
<html lang="zh-CN">
 <head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
   <title>Bootstrap 101 Template</title>

   <!-- Bootstrap -->
   <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">

   <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
   <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
   <!--[if lt IE 9]>
     <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
     <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
   <![endif]-->
 </head>
 <body>
   <h1>你好,世界!</h1>

   <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
   <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
   <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
   <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
 </body>
</html>

(2)书写内容

  • 直接拿Bootstrap预先定义好的样式来使用

  • 修改Bootstrap原来的样式,注意权重问题

  • 学号Bootstrap的关键在于知道它定义了哪些样式,以及这些样式能实现什么样的效果

2.3 布局容器

  • Bootstrap需要为页面内容和栅格系统包裹一个.container容器,它提供了两个作词用处的类

(1)container类

  • 响应式布局的容器 固定宽度 左右会有15pxpadding

  • 大屏(>=1200px)宽度定为1170px

  • 中屏(>=992px)宽度定位970px

  • 小屏(>=768px)宽度定为750px

  • 超小屏(100%)

(2)container-fluid类

  • 流式布局容器 百分百宽度

  • 占据全部视口(viewport)的容器

  • 适合于制作移动端页面开发

2.4 栅格系统

(1)栅格系统介绍

  • 将页面布局划分为等宽的列,然后通过列数的定义来模块化页面布局

  • 系统自动分为最多12列

(2)栅格系统使用方法

  • 栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中

  • col必须嵌套在row内,row必须嵌套在container内

  • row可以去除父容器的15pxpadding的作用

  • xs,sm,md,lg

  • 越大的就会也有小的特性

    • 比如我设置sm的col但是lg也会有这些特性

  • 设置col之后会有左右15px的padding

  • 可以同时这是多个col

  • 列嵌套

    • 在col中可以嵌套col,前者col会当作row使用

  • 列偏移

    • col-md-offset: 可以向右侧偏移。实际上是通过*选择器为当前元素增加了左侧的边距(margin)

    • 超过的话后面会调到后面

    • 可以使用这个来使元素居中

  • 列排序:

    • col-md-push/pull-份数: 可以实现向左/右偏移, 但是占原有位置,也可以覆盖其它位置的

(3)响应式工具

  • 为了加快对移动设备友好的页面开发工作,利用媒体查询功能,并使用这些工具类可以方便的针对不同设备展示或隐藏页面内容

  • visible-xs, visible-sm, visible-md, visible-lg则相反

  • 隐藏的话原有位置会消失,后续位置会顶替上来

posted @ 2020-11-30 19:58  叻仔猪  阅读(109)  评论(0编辑  收藏  举报