• 051_Bootstrap 框架


    一,Bootstrap介绍 

    Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。

    它是为实现快速开发Web应用程序而设计的一套前端工具包。

    它支持响应式布局,并且在V3版本之后坚持移动设备优先。

    二,为什么要使用Bootstrap?

    在Bootstrap出现之前:

    命名:重复、复杂、无意义(想个名字费劲)

    样式:重复、冗余、不规范、不和谐

    页面:错乱、不规范、不和谐

    在使用Bootstrap之后: 各种命名都统一并且规范化。 页面风格统一,画面和谐。

     三,Bootstrap下载

    官方地址:https://getbootstrap.com

    中文地址:https://www.bootcss.com

    我们使用V3版本的Bootstrap,我们下载的是用于生产环境的Bootstrap。

    四,Bootstrap环境搭建

    下载后解压的文件目录结构:

    bootstrap-3.3.7-dist/
    ├── css  // CSS文件
    │   ├── bootstrap-theme.css  // Bootstrap主题样式文件
    │   ├── bootstrap-theme.css.map
    │   ├── bootstrap-theme.min.css  // 主题相关样式压缩文件
    │   ├── bootstrap-theme.min.css.map
    │   ├── bootstrap.css
    │   ├── bootstrap.css.map
    │   ├── bootstrap.min.css  // 核心CSS样式压缩文件
    │   └── bootstrap.min.css.map
    ├── fonts  // 字体文件
    │   ├── glyphicons-halflings-regular.eot
    │   ├── glyphicons-halflings-regular.svg
    │   ├── glyphicons-halflings-regular.ttf
    │   ├── glyphicons-halflings-regular.woff
    │   └── glyphicons-halflings-regular.woff2
    └── js  // JS文件
        ├── bootstrap.js
        ├── bootstrap.min.js  // 核心JS压缩文件
        └── npm.js
    

    处理依赖

      由于Bootstrap的某些组件依赖于jQuery,所以请确保下载对应版本的jQuery文件,来保证Bootstrap相关组件运行正常。

    五,Bootstrap 概览

    概览:https://v3.bootcss.com/css/

    1,HTML5 文档类型

      使用 Bootstrap 需要将页面设置为 HTML5 文档类型。

      在项目中的每一页都要参照下面的格式进行设置。

    <!DOCTYPE html>
    <html lang="zh-CN">
      ...
    </html>
    

    2,移动设备优先

      Bootstrap 将对移动的设备样式融合进了框架,而不是增加一个文件。所以,Bootstrap是移动设备优先

      2.1,自动适当的适应移动设备

        自动适当的 绘制 和 触屏缩放 需要在 <head> 中添加 viewport 元数据标签

    <meta name="viewport" content="width=device-width, initial-scale=1">
    

      2.2,在移动设备上禁用其缩放(zooming)功能

        通过为视口(viewport)设置 meta 属性为 user-scalable=no 可以禁用其缩放(zooming)功能

        更具自己的情况而定!!禁用缩放功能后,用户只能滚动屏幕,让网页看上去更像原生应用的感觉。

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    

    3,网页样式重置(normalize.css)

      各种不同的浏览器的有些默认样式不同,对网页产生影响

      3.1,以前手写重置

        在 <head> 中加入

    <style>
    	*{
    		margin:0;
    	}
    </style
    

      3.2,这里用 normalize.css

        介绍:为了增强跨浏览器表现的一致性,我们使用了 Normalize.css,这是由 Nicolas Gallagher 和 Jonathan Neal 维护的一个CSS 重置样式库。

        使用:在 BootCDN 网,搜索 normalize 复制 link 标签放入<head> 中;搜索 :https://www.bootcdn.cn/normalize/

    4,布局容器

      介绍:Bootstrap 需要为页面内容和栅格系统包裹一个 .container 容器。我们提供了两个作此用处的类。注意,由于 padding(盒子的属性) 等属性的原因,这两种 容器类不能互相嵌套。

      4.1,.container 类用于固定宽度并支持响应式布局的容器(效果:网页两边留一定空间)

    <div class="container">
         需要此效果的标签都放入这里
    </div>
    

    4.2,.container-fluid 类用于 100% 宽度,占据全部视口(viewport)的容器。(效果:网页两边不留空间,有盒子内边距)

    <div class="container-fluid">
        需要此效果的标签
    </div>
    

    5,栅格系统

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

      即:将一行最多分为12列的布局

    使用:“行(row)” 必须是包含在.container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。

      5.1,简单的划分列

    <div class="container">
        <div class="row">
            <div class="col-md-1">占1列</div>
            <div class="col-md-10">占10列</div>
            <div class="col-md-1">占1列</div>
        </div>
    </div>
    

      5.2,移动端与pc端分开设置不同排列

    <div class="container">
        <div class="row">
            <div class="col-md-1 col-xs-4">PC占1列,移动4列</div>
            <div class="col-md-10 col-xs-4">PC占10列,移动4列</div>
            <div class="col-md-1 col-xs-4">PC占1列,移动4列</div>
        </div>
    </div>
    

    6,媒体查询

      同过 @media 查询所在媒体的屏幕大小

      6.1,设定在指定大小的屏幕内的显示效果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>媒体查询</title>
        <style>
            .c {
                height: 100px;
                width: 100px;
            }
            .c1 {
                background-color: red;
            }
    
    /*当打开网页的设备是一个显示器设备,
    并且显示器的宽度小于400px时,
    使用下面的样式覆盖*/
            @media screen and (max- 400px) {
                .c1 {
                    background-color: green;
                }
            }
        </style>
    
    </head>
    <body>
    <div class="c c1"></div>
    </body>
    <html>
    View Code

      6.2,栅格系统的分割列的分界点

        在栅格系统中,我们在 Less 文件中使用以下媒体查询(media query)来创建关键的分界点阈值。

    /* 超小屏幕(手机,小于 768px) */
    /* 没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的(还记得 Bootstrap 是移动设备优先的吗?) */
    
    /* 小屏幕(平板,大于等于 768px) */
    @media (min- @screen-sm-min) { ... }
    
    /* 中等屏幕(桌面显示器,大于等于 992px) */
    @media (min- @screen-md-min) { ... }
    
    /* 大屏幕(大桌面显示器,大于等于 1200px) */
    @media (min- @screen-lg-min) { ... }
    

      我们偶尔也会在媒体查询代码中包含 max-width 从而将 CSS 的影响限制在更小范围的屏幕大小之内。

    @media (max- @screen-xs-max) { ... }
    @media (min- @screen-sm-min) and (max- @screen-sm-max) { ... }
    @media (min- @screen-md-min) and (max- @screen-md-max) { ... }
    @media (min- @screen-lg-min) { ... }
    

      min :最小屏幕大小     max : 最大屏幕大小

      6.3,通过下表可以详细查看 Bootstrap 的栅格系统是如何在多种屏幕设备上工作的。

     超小屏幕 手机 (<768px)小屏幕 平板 (≥768px)中等屏幕 桌面显示器 (≥992px)大屏幕 大桌面显示器 (≥1200px)
    栅格系统行为 总是水平排列 开始是堆叠在一起的,当大于这些阈值时将变为水平排列C
    .container 最大宽度 None (自动) 750px 970px 1170px
    类前缀 .col-xs- .col-sm- .col-md- .col-lg-
    列(column)数 12
    最大列(column)宽 自动 ~62px ~81px ~97px
    槽(gutter)宽 30px (每列左右均有 15px)
    可嵌套
    偏移(Offsets)
    列排序
  • 相关阅读:
    tensorflow版的bvlc模型
    caffe中关于数据进行预处理的方式
    使用caffe时遇到的问题
    关于梯度下降算法的的一些总结
    机器学习优化算法之爬山算法小结
    机器学习之最小二乘法
    机器学习之KNN算法思想及其实现
    安装Python时遇到如下问题,解决方案
    机器学习之决策树熵&信息增量求解算法实现
    朴素贝叶斯分类器(离散型)算法实现(一)
  • 原文地址:https://www.cnblogs.com/eternity-twinkle/p/11563291.html
Copyright © 2020-2023  润新知