Bootstrap 前端开发框架

Bootstrap 前端开发框架

Bootstrap 来自TWitter(推特), 是目前最受欢迎的前端框架。bootstrap 是基于HTML、CSS
和JavaScript的, 它简洁灵活,使得web开发更加快捷。

中文官网: http://www.bootcss.com/
官网:http://getbootstrap.com/
推荐使用:http://bootstrap.css88.com/

框架: 顾名思义就是一套架构,它有一套比较完整的网页功能解决方案,而且控制权本身,
由于制样式库、组件和插件。使用者要按照框架所规定的某种规范进行开发。

bootstrap中的按钮引用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <!--[if lt IE 9]>
            <script src="https: //oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
            <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->    
        <!-- 不要忘记引入bootstrap 的样式文件 -->
        <link  rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <title>Document</title>
    <style>
        /* 利用我们自己写的样式覆盖原先的样式 */
        .login{
            width: 80px;
            height: 45px;
        }
    </style>
</head>
<body>
    <button type="button" class="btn btn-success">Success</button>
    <div class="btn btn-success login">登录</div>
    <div type="button" class="btn btn-danger">未成功</div>
</body>
</html>

在这里插入图片描述

1. Bootstrap 简介

1. 优点:

		标准化的html+css编码规范。
        提供了一套简洁、直观、强悍的组件。
        有自己的生态圈,不断的更新迭代。
        让开发更简单,提高了开发的效率。

2. 版本

		2.x.x:停止维,兼容性好,代码不够简洁,功能不够完善。
        3.x.x:目前使用最多,稳定,但是放弃了 IE6-IE7。对 IE8 支持但是界面效果不好,
        偏向用于开发响应式布局、  移动设备优先的web项目。
        4.x.x:最新版,目前还不是很流行。

2. bootstrap 使用

在现阶段我们还没有接触JS相关课程,所以我们只考虑使用它的样式库。
控制权在框架本身,使用者要按照所规定的某种规范进行开发。
bootstrap 使用四步曲:1.创建文件夹结构 2. 创建html骨架结构 3. 引入相关样式文件 4.书写内容 

书写内容

直接拿bootstrap预先定义好哦的样式来使用
修改bootstrap原来的样式,注意权重问题
学好bootstrap的关键在于知道它定义了那些样式,以及这些样式能实现什么样的效果

创建html骨架结构

 <!-- 要求当前网页使用IE浏览器最高版本的内核来渲染 -->
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <!-- 视口的设置:视口的宽度和设备一致,默认的缩放比例和PC端一致,用户不能自行缩放-->
            <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable="0">
            <!-- [if lt IE 9]>
            <!-- 解决ie9以下浏览器对html5新标签的不识别,并导致CSS不起作用的问题-->
            <script src="https: //oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
            <!-- 解决ie9以下浏览器对css3 MediaQuery 的不识别 -->
            <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
            <![endif]-->        
3. 布局容器
bootstrap 需要为页面内容和栅格系统包裹一个.container容器,bootstrap预先定义好了这个类,
叫.container它提供了两个作此用处的类。

1. container类

 响应式布局的容器 固定宽度
 大屏(>=120px) 宽度定为1170px
 中屏(>=992px) 宽度定为970px
 小屏(>=768px) 宽度定为750px
 超小屏(100%)

2. container-fluid类

	流式布局容器百分百宽度
    占据全部视口(viewport) 的容器
    适合於单独做移动端开

3. Bootstrap 删格系统

1. 删格系统简介

栅格系统英文为“grid systems”, 也有人翻译为“网格系统”,它是指将页面布局划分为
等宽的列,然后通过列数的定义来模块化页面布局。
Bootstrap提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,
系统会自动分为最多12列。
Bootstrap里面container宽度是固定的,但是不同屏幕下,container的宽度不同,我们再把container划分为12等份。

2. 删格选项参数

栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入
这些创建好的布局中。
超小屏幕(手机) 小屏设备(平板) 中等屏幕(桌面显示器) 宽屏设备(大桌面显示器)
< 768px <=768px >=992px >=1200px
.container 最大宽度 自动(100%) 750px 970px 1170px
类前缀 .col-xs- .col-sm- .col-md- .col-lg-
列数 (column) 12 12 12 12

行(row)必须放到container布局容器里面
我们实现列的平均划分 需要给添加类前缀
xs-extra small:超小; sm-small:小;md-medium:中等;lg-large:大;
列(column) 大于12,多余的 “列(column)”所在的元素将被作为一个整体另起一行排列
每一行默认有左右15像素的padding
可以同时为一列指定多个设备的类名,以便划分不同份数 例如 class=“col-md-4 col-sm-6”

栅格系统使用命令演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <!--[if lt IE 9]>
            <script src="https: //oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
            <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->    
        <!-- 不要忘记引入bootstrap 的样式文件 -->
        <link  rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <title>Document</title>
    <style>
        [class^="col"]{
            border:1px solid #ccc;
        }
        .container .row:nth-child(1){
            background-color: blue;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="row">
            <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 class="col-lg-3 col-md-4 col-sm-6 col-xs-12">1</div>
        </div> 
    <!-- 如果孩子的份数相加等于12 则孩子能占满整个 的container 的宽度 -->
            <div class="row">
                 <div class="col-lg-3">2</div>
                <div class="col-lg-3">2</div>
                <div class="col-lg-3">2</div>
                <div class="col-lg-3">2</div>
            </div> 
        <!-- 如果孩子的份数相加小于 12 则占不满整个container 的宽度 会有空白 -->
                <div class="row">
                    <div class="col-lg-3">3</div>
                    <div class="col-lg-3">3</div>
                    <div class="col-lg-3">3</div>
                    <div class="col-lg-2">3</div>
                </div> 
            <!-- 如果孩子的份数相加 大于12则多余的那一列会 另起一行显示 -->
                    <div class="row">
                        <div class="col-lg-3">4</div>
                        <div class="col-lg-3">4</div>
                        <div class="col-lg-3">4</div>
                        <div class="col-lg-4">4</div>
                    </div>
            <div class="row">
                <div class="col-lg-6">5</div>
                <div class="col-lg-2">5</div>
                <div class="col-lg-2">5</div>
                <div class="col-lg-2">5</div>
            </div> 
</body>
</html>

网页显示:

在这里插入图片描述

3. 列嵌套

栅格系统内置的栅格系统将内容再次嵌套,简单理解就是一个列内在分成若干份小列,我们可以通过添加一个新的.row元素
和一系列.col-sm-*元素到已经存在的.col-sm-*元素内。
我们列嵌套最好加1个行row这样可以取消父元素的padding值 而且高度自动和父级一样高

<!--列嵌套-->
              <div class="col-md-4">
            <div class="row">
                    <div class="col-md-6">a</div>
                    <div class="col-md-6">b</div>
            </div>
        </div>

命令演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <!--[if lt IE 9]>
            <script src="https: //oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
            <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->    
        <!-- 不要忘记引入bootstrap 的样式文件 -->
        <link  rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <title>Document</title>
    <style>
        .row>div{
            height: 50px;
            background-color: blue;
            /* margin: 0 10px; */
        }
    </style>
</head>
<body> 
    <div class="container">
        <div class="row">
        <div class="col-md-4">
            <!-- 我们列嵌套最好加1个行 row 这样可以取消父元素的padding值 而且高度自动和父级一样高 -->
            <div class="row">
                    <div class="col-md-6">a</div>
                    <div class="col-md-6">b</div>
            </div>
        </div>
            <div class="col-md-4">2</div>
            <div class="col-md-4">3</div>
        </div>
    </div>
</body>
</html>

网页显示:

在这里插入图片描述

4. 列偏移

使用 .col-md-offset-类可以将列向右偏移,这些类实际是通过使用选择器为当前元素增加了左侧的边距(margin)。

 列偏移>
        <div class="row">
            <div class="col-md-4">左侧</div>
            <div class="col-md-4 col-md-offset-4">右侧</div>
        </div>

命令演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <!--[if lt IE 9]>
            <script src="https: //oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
            <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->    
        <!-- 不要忘记引入bootstrap 的样式文件 -->
        <link  rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <title>Document</title>
    <style>
        .row div{
            height: 50px;
            background-color: blue;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-4">左侧</div>
            <!-- 偏移的份数 就是12 - 两个盒子的份数=6 -->
            <div class="col-md-4 col-md-offset-4">右侧</div>
        </div>
    </div>
</body>
</html>

网页显示:

在这里插入图片描述

5. 列排序

通过使用.col-md-push和 col-md-lull*>类就可以很容易的改变列(column)的顺序。

<!-- 列排序 -->
        <div class="row">
            <div class="col-lg-4 col-lg-push-8">左侧</div>
            <div class="col-lg-8 col-lg-pull-4">右侧</div>
        </div>

命令演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <!--[if lt IE 9]>
            <script src="https: //oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
            <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->    
        <!-- 不要忘记引入bootstrap 的样式文件 -->
        <link  rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <title>Document</title>
        <style>
             .row div{
                 height: 50px;
                 background-color: blue;
             }
        </style>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-4 col-md-push-8">左侧</div>
            <div class="col-md-8 col-md-pull-4">右侧</div>
        </div>
    </div>
</body>
</html>

网页显示:

在这里插入图片描述

响应式工具

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

类名 超小屏 小屏 中屏 大屏
.hidden-xs 隐藏 可见 可见 可见
.hidden-sm 可见 隐藏 可见 可见
.hidden-md 可见 可见 隐藏 可见
.hidden-lg 可见 可见 可见 隐藏

与之相反的,是visible-xs visible-md visible-lg是显示某个页面内容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章