bootstrap:响应式布局

栅格系统

我们来了解如何利用栅格系统实现响应式布局:
Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。它包含了易于使用的预定义类,还有强大的mixin 用于生成更具语义的布局。

栅格系统原理:

首先栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局。bootstrap根据不同屏幕尺寸,选择不同的栅格选项。一共有四种栅格选项,超小屏(手机)、小屏(平板)、中屏(桌面)、大屏(超大桌面)。栅格系统分为12列,即每行最多可容纳12列。若里,一个.row内包含的列(column)大于12个(即,一行中的栅格单元超过12个单元),则会自动排版,总之,一行只能最多12列,具体分析往后阅读。

而在Bootstrap3中主要把屏幕分成了三种(这里以行(row)来说明):
.col-xs-* 超小屏幕,手机 (宽度<768px)
.col-sm-* 小屏幕,平板 (宽度≥768px)
.col-md-* 中等屏幕,桌面显示器 (宽度≥992px)

不管在哪种屏幕上,栅格系统都会自动的分12列
.col-xs-* 和.col-sm-和.col-md- 后面跟的参数表示在当前的屏幕中占的列数。

使用栅格系统时,需要在部分做如下处理:

<head>
2     <meta charset="UTF-8">
3     <title>Documenttitle>
4     <meta name="viewport" content="width=device-width, initial-scale=1.0">
5     <link rel="stylesheet" href="css/bootstrap.min.css">
6     
9 head>
  1. 为了确保适当的绘制和触屏缩放,需要在中添加viewport元数据标签

    width=device-width 宽度等于设备宽度

    initial-scale=1.0 初始显示大小——原始大小,即不进行缩放

  2. 导入bootstrap.css文件【bootstrap核心CSS文件,必须导入】,有两种方式导入方式:

    一是,直接导入本地.css文件:

    二是,使用CDN加速服务:

          
          3. 兼容性:
    

    bootstrap是基于CSS3的,对于IE8- 不支持

    IE8需要Respond.js配合才能实现对媒体查询(media query)的支持。
    以下代码可以解决兼容问题
    “`

栅格系统在多种屏幕设备上如何工作

bootstrap:响应式布局_第1张图片
使用方式:在相应的

上加上对应的类名即可。 类名形式为: 类前缀+num

如:

    表示中等屏幕,该
仅占1列

网页开发中的单位

-px:相对于显示屏幕分辨率的长度单位
1.px大小无法跟随屏幕方法缩小
2.所有浏览器都支持px单位

-em:相对于当前文本内的字体尺寸(缺点:不稳定)
1.1em =16px(但不完全是)
2.em会继承父级元素的字体大小
3.IE的部分浏览器并不支持em

-rem:与em类似,相对于HTML根节点的字体单位
1.rem与em类似
2.rem会继承根元素的字体大小
3.html(font-size:62.5%)

字体图标

1.字体小便于加载
2.重复利用
3.方便引用

Bootstrap组件

一个网站,一个APP或者一个系统的构建
一些零件的组合
包括(字体图标,下拉菜单,警告框,弹出框)

Bootstrap组件-图标

1.glyphicon
使用字体图标只需在其类名称中加入:glyphicon+图标名称

    <div class="glyphicon glyphicon-align-center">div>
    <div class="glyphicon glyphicon-arrow-left">div>
    <div class="glyphicon glyphicon-apple">div>

我们还可以为图标设置样式

<style>
        .glyphicon-apple{
            color: crimson;
            font-size: 50px;
        }

    style>

这里写图片描述

Bootstrap组件-下拉菜单

1dropdown控制组件为下拉
2.dropdown-menu-right代替.pull-right右对齐
3.divider分割线

 <div class="dropdown">
         <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
             Click
             <sapn class="caret">sapn>
         button>
         <ul class="dropdown-menu">
             <li><a href="http://www.imooc.com">小胡a>li>
             <li><a href="http://www.imooc.com">小胡胡a>li>
             <li><a href="http://www.imooc.com">小胡胡胡a>li>
         ul>
     div>

BootStrap组件:导航

  <ul class="nav nav-tabs">
           <li class="active"><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
       ul>
       <br>
       <ul class="nav nav-pills">
           <li class="active"><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
       ul>
       <br>
       <ul class="nav nav-pills nav-stacked">
           <li class="active"><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
           <li><a href="#">小胡a>li>
       ul>

bootstrap:响应式布局_第2张图片

Bootstrap组件:分页

1.pagination在父元素中添加表示分页
2.pager放置在翻页区域
3.previous把链接左对齐,.next把链接右对齐

 <nav>
        <ul class="pager">
            <li class="previous">
                <a href="./table.html">向左a>
            li>
            <li class="next">
                <a href="./table.html">向右a>
            li>
        ul>
       <ul class="pagination ">
       //添加类名称active默认为选中状态
           <li class="active">
               <a href="./table.html">1a>
           li>
           <li>
               <a href="./table.html">2a>
           li>
           <li>
               <a href="./table.html">3a>
           li>
           <li>
               <a href="./table.html">4a>
           li>
           <li>
               <a href="./table.html">5a>
           li>
       ul>
    nav>

Bootstap组件:进度条

 <script>
        $(function () {
            var a = parseInt($('.progress-bar').css('width'));
            console.log(a);
           b = parseInt($(document).width());
           console.log(b);

           var c = a/b;
           console.log(c);
           var str = c.toString();
           //在c中找小数点,如果有小数点,需要将c转化为字符串
            if(str.indexOf(".") != -1){
                d =  parseInt(c * 100) + "%";
                console.log(d);
            }

           $('.progress-bar').html(d);
        })
    script>
head>
<body>
   <div class="progress">
       
       <div class="progress-bar progress-bar-striped" style="width: 30%;">


       div>
   div>
body>

这里写图片描述

Bootstrap组件

1.list-group代表列表组
2.badge代表状态数
3.active代表选中状态

 <ul class="list-group">
      <li class="list-group-item active">
          这是一个列表
          <span class="badge">
              14
          span>
      li>
      <li class="list-group-item  list-group-item-danger">
          这是一个列表
          <span class="badge">
              14
          span>
      li>
      <li class="list-group-item list-group-item-info">
          这是一个列表
          <span class="badge">
              14
          span>
      li>
  ul>

Bootstrap组件:面板

1.panel面板
2.panel-body代表面板内容
3.panel-footer代表面板的注脚

<div class="panel panel-danger">
          <div class="panel-heading">
              弹出层!
          div>
              <div class="panel-body">
                  这是面板的具体内容
              div>
              <div class="panel-footer">
                注脚
              div>

      div>

bootstrap:响应式布局_第3张图片

你可能感兴趣的:(bootstrap,前端框架)