首页 > 作文

06.前端之BootStrap

更新时间:2023-04-07 04:50:24 阅读: 评论:0

iconfont的使用:

bootstrap介绍

  bootstrap是twitter开源的基于html、css、javascript的前端框架。

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

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

​ 就是复制黏贴一把梭,html\css\js代码的封装组合

为什么要使用bootstrap?

  在bootstrap出现之前:

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

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

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

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

bootstrap下载

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

  中文地址:http://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.min.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相关组件运行正常。

  引入:

    将下载解压的那个文件夹放到我们的项目目录下就能够使用了

    

      可以把主题那些你用不到的css等文件删除。

    然后引入一下就能用了,很简单

    

bootstrap全局样式

  

  排版、按钮、表格、表单、图片等我们常用的html元素,bootstrap中都提供了全局样式。

  我们只要在基本的html元素上通过设置class就能够应用上bootstrap的样式,从而使我们的页面更美观和谐。

  基础模板:简单看看结构

<!doctype html><html lang="zh-cn">  <head>    <meta chart="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>  <捉妖记2在线;/body></html>

 

  想让手机端能够显示完整的页面,就需要写上

  

  使用栅格进行布局的时候注意人家bootstrap官网里面有生写的要求:写法就按照下面的来,写到布局容器里面,列是行里面的元素。

    

    效果:

    

    如果里面的列元素没有占满12份,那么右边就会空出来几份的宽度。

    

    

    还有:

    

  列偏移  

  关于媒体查询:   

<!doctype html><html lang="en"><head>    <meta chart="utf-8">    <title>title</title>    <meta name="viewport" content="width=device-width, initial-scale=1">    <style>        body {            margin: 0;        }        .c1 {            background-color: red;            height: 200px;        }        /*媒体查询,捕捉显示屏幕的宽度,来显示不同的定制效果*/        @media screen and (max-width: 700px) {            .c1 {                background-color: green;            }        }    </style></head><body><d安徽中澳iv class="c1"></div></body></html>

  媒体查询的使用

<!doctype html><html lang="zh-cn"><head>    <meta chart="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="bootstrap/css/bootstrap.css" rel="stylesheet">    <style>        #con1{            /*background-color: red;*/            /*height: 600px;*/        }        .c1{            background-color: red;            height: 40px;        }        .c2{            background-color: green;            height: 40px;        }        @media screen and (min-width: 700px) {            .c1{                background-color: yellow;                height: 40px;            }            .c2{                background-color: blue;                height: 40px;            }        }    </style></head><body><!--<h1>你好,世界!</h1>--><!--<div id="con1" class="container"></div>--><!--<div id="con1" class="container-fluid">-->    <!--<div class="row">-->        <!--<div class="col-md-2 col-xs-2 c1 col-md-offt-1 col-xs-offt-1">-->        <!--</div>-->        <!--<div class="col-md-8 col-xs-8 c2">-->        <!--</div>-->    <!--</div>--><!--</div>--><div id="con1" class="container-fluid">    <div class="row">        <div class="col-md-2 col-xs-2 c1 col-md-offt-1 col-xs-offt-1">        </div>        <div class="col-md-8 col-xs-8 c2">        </div>    </div></div><!-- jquery (bootstrap 的所有 javascript 插件都依赖 jquery,所以必须放在前边) --><script src="jquery.js"></script><!-- 加载 bootstrap 的所有 javascript 插件。你也可以根据需要只加载单个插件。 --><script src="bootstrap/js/bootstrap.js"></script></body></html>

标题相关

    标题

<h1>一级标题36px</h1><h2>二级标题30px</h2><h3>三级标题24px</h3><h4>四级标题18px</h4><h5>五级标题14px</h5><h6>六级标题12px</h6><!--除了使用h标签,bootstrap内置了相应的全局样式--><!--内联标签应用标题样式--><span class="h1">一级标题36px</span><span class="h2">二级标题30px</span><span class="h3">三级标题24px</span><span class="h4">四级标题18px</span><span class="h5">五级标题14px</span><span class="h6">六级标题12px</span>

    副标题

金融论文<!--一级标题中嵌入小标题--><h1>一级标题<small>小标题</small></h1>

文本对齐

<!--文本对齐--><p class="text-left">文本左对齐</p><p class="text-center">文本居中</p><p class="text-right">文本右对齐</p>

文本大小写

<!--大小写--><p class="text-lowerca">lowercad text.</p><p class="text-upperca">uppercad text.</p><p class="text-capitalize">capitalized text.</p>

表格

class描述.table-striped条纹状表格.table-bordered带边框的表格.table-hover鼠标悬停变色的表格.table-condend紧缩型表格.table-responsive响应式表格

状态类

class描述.active鼠标悬停在行或单元格上时所设置的颜色.success标识成功或积极的动作.info标识普通的提示信息或动作.warning标识警告或需要用户注意.danger标识危险或潜在的带来负面影响的动作

表单

    内联表单

    表单状态

    带图标的表单

按钮

<a class="btn btn-default" href="#" role="button">link</a><button class="btn btn-default" type="submit">button</button><input class="btn btn-default" type="button" value="input"><input class="btn btn-default" type="submit" value="submit">

    按钮样式

<!-- standard button --><button type="button" class="btn btn-default">(默认样式)default</button><!-- provides extra visual weight and identifies the primary action in a t of buttons --><button type="button" class="btn btn-primary">(首选项)primary</button><!-- indicates a successful or positive action --><button type="button" class="btn btn-success">(成功)success</button><!-- contextual button for informational alert messages --><button type="button" class="btn btn-info">(一般信息)info</button><!-- indicates caution should be taken with this action --><button type="button" class="btn btn-warning">(警告)warning</button><!-- indicates a dangerous or potentially negative action --><button type="button" class="btn btn-danger">(危险)danger</button><!-- deemphasize a button by making it look like a link while maintaining button behavior --><button type="button" class="btn btn-link">(链接)link</button>

按钮大小

<p>  <button type="button" class="btn btn-primary btn-lg">(大按钮)large button</button>  <button type="button" class="btn btn-default btn-lg">(大按钮)large button</button></p><p>  <button type="button" class="btn btn-primary">(默认尺寸)default button</button>  <button type="button" class="btn btn-default">(默认尺寸)default button</button></p><p>  <button type="button" class="btn btn-primary btn-sm">(小按钮)small button</button>  <button type="button" class="btn btn-default btn-sm">(小按钮)small button</button></p><p>  <button type="button" class="btn btn-primary btn-xs">(超小尺寸)extra small button</button>  <button type="button" class="btn btn-default btn-xs">(超小尺寸)extra small button</button></p>

图片

<img src="..." class="img-responsive" alt="responsive image">

    图片形状

<img src="..." alt="..." class="img-rounded"><img src="..." alt="..." class="img-circle"><img src="..." alt="..." class="img-thumbnail">

辅助类

    文本颜色

<p class="text-muted">...</p><p class="text-primary">...</p><p class="text-success">...</p><p class="text-info">...</p><p class="text-warning">...</p><p class="text-danger">...</p>

    背景颜色

<p class="bg-primary">...</p><p class="bg-success">...</p><p class="bg-info">...</p><p class="bg-warning">...</p><p class="bg-danger">...</p>

    关闭按钮

<button type="button" class="clo" aria-label="clo"><span aria-hidden="true">&times;</span></button>

    下拉三角

<span class="caret"></span>

    快速浮动

<div class="pull-left">...</div><div class="pull-right">...</div>

    内容块居中

<div class="center-block">...</div>

    清除浮动

<!-- usage as a class --><div class="clearfix">...</div>

    显示与隐藏

<div class="show">...</div><div class="hidden">...</div>

  bootstrap写一个简单的登陆页面:

<!doctype html><html lang="en"><head>    <meta chart="utf-8">    <title>登录页面</title>    <link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.css">    <style>        body {            background-color: #eeeeee;        }    </style></head><body><div class="container">    <div class="row">        <div class="col-md-4 col-md-offt-4" style="margin-top: 70px">            <h2 class="text-center">欢迎登录</h2>            <form>                <div class="form-group">                    <label for="exampleinputemail1">邮箱</label>                    <input type="email" class="form-control" id="exampleinputemail1" placeholder="email">                    <span class="help-block"></span>                </div>                <div class="form-group">                    <label for="exampleinputpassword1">密码</label>                    <input type="password" class="form-control" id="exampleinputpassword1" placeholder="password">                    <span class="help-block"></span>                </div>                <div class="checkbox">                    <label>                        <input type="checkbox"> 记住                    </label>                </div>                <button type="submit" id="login-btn" class="btn btn-success btn-block">登录</button>            </form>        </div>    </div></div><script src="jquery.js"></script><script>    // 给登录按钮绑定点击事件    $('#login-btn').click(function () {        // 定义一个是否允许提交的标志位         var flag = true;        // 1. 找到登录框中所有的input框,判断值是否为空        $('form input').each(function () {            var value = $(this).val();            if (value.length===0){                // 2. 为空就显示提示信息                // 2.1 给下面的span标签设置文本提示信息                var errmsg = $(this).prev().text() + '不能为空';                $(this).next().text(errmsg);                // 2.2 给父标签设置has-error的样式                $(this).parent().addclass('has-error');                // 2.3 阻止表单提交                flag = fal;                return fal;            }        });        return flag;    });    // 给input框绑定focus事件    $('form input').focus(function () {        // 1. 去掉当前input框后面的span标签的文本        $(this).next().text('');        // 2. 去掉父标签的has-error样式        $(this).parent().removeclass('has-error');    })</script></body></html>

常用bootstrap组件(就是一些搭配起来的效果,也涉及到一些动作相关的,所以需要引入js文件了)

字体图标(fontawesome里面比较全)下拉菜单按钮组输入框俎导航分页标签和徽章页头缩率图进度条

  

  

  作业:来实现这么一个页面

    

    就在bootstrap官网的全局css样式里面的右边这个地方找你需要使用的功能。

      

<!doctype html><html lang="zh-cn"><head>    <meta chart="utf-8">    <title>title</title>    <link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.css"></head><body><div class="container">    <div class="row">        <div class="col-md-12">            <div class="page-header">                <h1>信息收集卡                    <small>共三步</small>                </h1>            </div>            <div class="progress">                <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="60" aria-valuemin="0"                     aria-valuemax="100" style="width: 33.33%;">                    1/3                </div>            </div>            <!--面板-->            <div class="panel 最小值怎么求panel-primary">                <div class="panel-heading">                    <h3 class="panel-title">基本信息<span class="glyphicon glyphicon-pushpin pull-right"></span></h3>                </div>                <div class="panel-body">                    <!--表单-->                    <form class="form-horizontal">                        <div class="form-group">                            <label for="inputemail1" class="col-sm-2 control-label">email</label>                            <div class="col-sm-4">                                <input type="email" class="form-control" id="inputemail1" placeholder="email">                            </div>                        </div>                        <div class="form-group">                            <label for="inputpassword2" class="col-sm-2 control-label">password</label>                            <div class="col-sm-4">                                <input type="password" class="form-control" id="inputpassword2" placeholder="password">                            </div>                        </div>                        <div class="form-group">                            <label for="inputemail3" class="col-sm-2 control-label">email</label>                            <div class="col-sm-4">                                <input type="email" class="form-control" id="inputemail3" placeholder="email">                            </div>                        </div>                        <div class="form-group">                            <label for="inputpassword3" class="col-sm-2 control-label">password</label>                            <div class="col-sm-4">                                <input type="password" class="form-control" id="inputpassword3" placeholder="password">                            </div>                        </div>                        <div class="form-group">                            <label for="inputfile" class="col-sm-2 control-label">password</label>                            <div class="col-sm-4">                                <input type="file" class="" id="inputfile" placeholder="password">                                <span class="help-block">只支持png</span>                            </div>                        </div>                        <hr>                        <div class="form-group">                            <div class="col-sm-2 control-label">属性</div>                            <div class="col-sm-4">                                <div class="radio">                                    <label>                                        <input type="radio" name="optionsradios" id="optionsradios1" value="option1"                                               checked>                                        我是一个好人                                    </label>                                </div>                                <div class="radio">                                    <label>                                        <input type="radio" name="optionsradios" id="optionsradios2" value="option2">                                         我是一个坏人                                    </label>                                </div>                                <div class="radio disabled">                                    <label>                                        <input type="radio" name="optionsradios" id="optionsradios3" value="option3"                                               disabled>                                        我不是一个人                                    </label>                                </div>                            </div>                        </div>                    </form>                </div>            </div>            <!--下一步按钮-->            <div>                <button class="btn btn-success pull-right">下一步</button>            </div>        </div>    </div></div><script src="jquery.js"></script><script src="bootstrap-3.3.7/js/bootstrap.js"></script></body></html>

  模拟滚动的进度条:

var $d1 = $("#d1");var width = 0;var theid = tinterval(tvalue, 200);function tvalue() {  if (width === 100) {    clearinterval(theid);  } el {    width++;    $d1.css("width", width+"%").text(width+"%");  }} 

  关于fontawesome的使用

    

    下载解压,然后放到我们的项目目录里面去,直接引用就行了

    

    css文件夹和fonts文件夹必须是同一级目录,因为那个css里面的内容就是通过相对路径来找fonts里面的内容的

    

    找个微信图标看看:

    

    

   

    咱们大家再看看font awesome里面的一些用法,比bootstrap里面的图标用起来更高级一些,并且和bootstrap完美兼容。

    

    

  pycharm中设置html的模板样式:

    

  京东的标签页:

    

    

    

    标签页示例:

<!doctype html><html lang="zh-cn"><head>    <meta chart="utf-8">    <title>title</title>    <link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.css"></head><body><div class="container">    <div>        <!-- nav tabs -->        <ul class="nav nav-tabs nav-justified" role="tablist">            <li role="prentation" class="active">                <a href="#home" aria-controls="home" role="tab" data-toggle="tab">主页</a>            </li>            <li role="prentation">                <a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">详情页</a>            </li>            <li role="prentation">                <a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">售后服务</a>            </li>            <li role="prentation">                <a href="#ttings" aria-controls="ttings" role="tab" data-toggle="tab">评论专区</a>            </li>        </ul>        <!-- tab panes -->        <div class="tab-content">            <div role="tabpanel" class="tab-pane active" id="home">这是主页的内容</div>            <div role="tabpanel" class="tab-pane" id="profile">这是详情页的内容</div>            <div role="tabpanel" class="tab-pane" id="messages">这是售后服务专区的内容</div>            <div role="tabpanel" class="tab-pane" id="ttings">这是评论区的内容</div>        </div>    </div></div><script src="jquery.js"></script><script src="bootstrap-3.3.7/js/bootstrap.js"></script></body></html>

  巨幕:

    

  进度条  

<!doctype html><html lang="zh-cn"><head>    <meta chart="utf-8">    <title>title</title>    <link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.css"></head><body><div class="container">    <div class="progress">      <div id="p1" class="progress-bar progress-bar-info progress-bar-striped active" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 0%;min-width: 2%">        0%      </div>    </div>    <button class="btn btn-success btn-sm" id="b1">开始</button></div><script src="jquery.js"></script><script src="bootstrap-3.3.7/js/bootstrap.js"></script><script>        var n = 0;        var t;    // jquery操作标签的css属性        function foo(){            $('#p1').css('width', n+'%').text(n+'%');            n += 1;            if (n > 100){                clearinterval(t);            }        }    // 点击开始按钮,让滚动条滚动起来    $('#b1').click(function () {        // 每隔一秒钟执行一下上面的代码        t = tinterval(foo, 100);    });</script></body></html>

  保存网页的方法:

  

  

响应式开发

为什么要进行响应式开发?

    随着移动设备的流行,网页设计必须要考虑到移动端的设计。同一个网站为了兼容pc端和移动端显示,就需要进行响应式开发。

什么是响应式?

    利用媒体查询,让同一个网站兼容不同的终端(pc端、移动端)呈现不同的页面布局。

用到的技术:

    css3@media查询

    用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸、是否可触摸、屏幕精度、横屏竖屏等信息。

    常见属性:

      1.device-width, device-height 屏幕宽、高

      2.width,height 渲染窗口宽、高

      3.orientation 设备方向

      4.resolution 设备分辨率

      语法:

@media mediatype and|not|only (media feature) {    css-code;}

    不同的媒体使用不同的stylesheet

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

    viewport

      手机浏览器是把页面放在一个虚拟的”窗口”(viewport)中,通常这个虚拟的”窗口”(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。

      设置viewport

      一个常用的针对移动网页优化过的页面的 viewport meta 标签大致如下:

<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″>
width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 css 的像素)。height:和 width 相对应,指定高度。initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。maximum-scale:允许用户缩放到的最大比例。minimum-scale:允许用户缩放到的最小比例。ur-scalable:用户是否可以手动缩放。

    bootstrap的栅格系统

containerrowcolumn

    注意事项: 使用bootstrap的时候不要让自己的名字与bootstrap的类名冲突。

javascript插件

常用的bootstrap自带插件

bootstrap实例精选:

封面图caroul博客页面控制台登录页offcanvas

补充一些内容:

  pycharm如何连接上数据库

  

  

  

  

  

  然后就可以在pycharm上看到这个库和里面的表了

  

  

  还可以在里面写sql语句

  

  我们设计三张表,书籍、作者、出版社,方便之后django的学习:

    

    

    大家通过sql语句将表和表关系创建出来吧(使用上foreign key吧)

    

    

课后作业

  修改成下面这样的效果

    

后台管理页面(修改dashbord,https://v3.bootcss.com/examples/dashboard/)常用组件练习

本文发布于:2023-04-07 04:46:15,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/e1f2bb67ffd2ed74090725946b92af4f.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:06.前端之BootStrap.doc

本文 PDF 下载地址:06.前端之BootStrap.pdf

标签:样式   标题   页面   按钮
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图