Bootstrap框架和inconfont、font-awesome使用

Bootstrap框架和inconfont、font-awesome使用

iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.html

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 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>

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

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

 效果:

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

还有:

 

 列偏移

 

关于媒体查询:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <meta name="viewport" content="width=device-width, initial-scale=1">
 7     <style>
 8         body {
 9             margin: 0;
10         }
11         .c1 {
12             background-color: red;
13             height: 200px;
14         }
15         /*媒体查询,捕捉显示屏幕的宽度,来显示不同的定制效果*/
16         @media screen and (max-width: 700px) {
17             .c1 {
18                 background-color: green;
19             }
20         }
21     </style>
22 </head>
23 <body>
24 
25 <div class="c1">
26 
27 </div>
28 </body>
29 </html>

媒体查询的使用

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4     <meta charset="utf-8">
 5     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 6     <meta name="viewport" content="width=device-width, initial-scale=1">
 7     <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
 8     <title>Bootstrap 101 Template</title>
 9 
10     <!-- Bootstrap -->
11     <link href="bootstrap/css/bootstrap.css" rel="stylesheet">
12 
13     <style>
14         #con1{
15             /*background-color: red;*/
16             /*height: 600px;*/
17         }
18         .c1{
19             background-color: red;
20             height: 40px;
21         }
22         .c2{
23             background-color: green;
24             height: 40px;
25         }
26         @media screen and (min-width: 700px) {
27             .c1{
28                 background-color: yellow;
29                 height: 40px;
30             }
31             .c2{
32                 background-color: blue;
33                 height: 40px;
34             }
35         }
36 
37 
38     </style>
39 
40 </head>
41 <body>
42 <!--<h1>你好,世界!</h1>-->
43 
44 
45 <!--<div id="con1" class="container"></div>-->
46 <!--<div id="con1" class="container-fluid">-->
47     <!--<div class="row">-->
48         <!--<div class="col-md-2 col-xs-2 c1 col-md-offset-1 col-xs-offset-1">-->
49 
50         <!--</div>-->
51         <!--<div class="col-md-8 col-xs-8 c2">-->
52 
53         <!--</div>-->
54     <!--</div>-->
55 
56 <!--</div>-->
57 <div id="con1" class="container-fluid">
58     <div class="row">
59         <div class="col-md-2 col-xs-2 c1 col-md-offset-1 col-xs-offset-1">
60 
61         </div>
62         <div class="col-md-8 col-xs-8 c2">
63 
64         </div>
65     </div>
66 
67 </div>
68 
69 
70 
71 
72 
73 <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
74 <script src="jquery.js"></script>
75 <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
76 <script src="bootstrap/js/bootstrap.js"></script>
77 </body>
78 </html>

 标题相关

    标题

 1 <h1>一级标题36px</h1>
 2 <h2>二级标题30px</h2>
 3 <h3>三级标题24px</h3>
 4 <h4>四级标题18px</h4>
 5 <h5>五级标题14px</h5>
 6 <h6>六级标题12px</h6>
 7 <!--除了使用h标签,Bootstrap内置了相应的全局样式-->
 8 <!--内联标签应用标题样式-->
 9 <span class="h1">一级标题36px</span>
10 <span class="h2">二级标题30px</span>
11 <span class="h3">三级标题24px</span>
12 <span class="h4">四级标题18px</span>
13 <span class="h5">五级标题14px</span>
14 <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-lowercase">Lowercased text.</p>
<p class="text-uppercase">Uppercased text.</p>
<p class="text-capitalize">Capitalized text.</p>

  表格

  状态类

   表单

    内联表单

    表单状态

    带图标的表单

  按钮

<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 set 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="close" aria-label="Close"><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 charset="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-offset-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 = false;
                return false;
            }
        });
        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文件了)

  1. 字体图标(fontawesome里面比较全)
  2. 下拉菜单
  3. 按钮组
  4. 输入框俎
  5. 导航
  6. 分页
  7. 标签和徽章
  8. 页头
  9. 缩率图
  10. 进度条

 

实现页面

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

  1 <!DOCTYPE html>
  2 <html lang="zh-CN">
  3 <head>
  4     <meta charset="utf-8">
  5     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6     <meta name="viewport" content="width=device-width, initial-scale=1">
  7     <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
  8     <title>Bootstrap 101 Template</title>
  9 
 10     <!-- Bootstrap -->
 11     <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
 12 
 13 </head>
 14 
 15 <body>
 16 <div class="container">
 17     <div class="row">
 18         <div class="col-md-12">
 19             <div class="page-header">
 20                 <h1>国家统一信息采集系统
 21                     <small>共三步</small>
 22                 </h1>
 23             </div>
 24             <div class="progress">
 25                 <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="60" aria-valuemin="0"
 26                      aria-valuemax="100" style="width: 33.33%;">
 27                     1/3
 28                 </div>
 29             </div>
 30             <!--面板-->
 31             <div class="panel panel-primary">
 32                 <div class="panel-heading">
 33                     <h3 class="panel-title">基本信息<span class="glyphicon glyphicon-pushpin pull-right"></span></h3>
 34 
 35                 </div>
 36                 <div class="panel-body">
 37                     <!--表单-->
 38                     <form class="form-horizontal">
 39                         <div class="form-group">
 40                             <label for="inputEmail1" class="col-sm-2 control-label">姓名</label>
 41                             <div class="col-sm-4">
 42                                 <input type="email" class="form-control" id="inputEmail1" placeholder="name">
 43                             </div>
 44                         </div>
 45                         <div class="form-group">
 46                             <label for="inputPassword2" class="col-sm-2 control-label">性别</label>
 47                             <div class="col-sm-4">
 48                                 <input type="password" class="form-control" id="inputPassword2" placeholder="sex">
 49                             </div>
 50                         </div>
 51                         <div class="form-group">
 52                             <label for="inputEmail3" class="col-sm-2 control-label">联系方式</label>
 53                             <div class="col-sm-4">
 54                                 <input type="email" class="form-control" id="inputEmail3" placeholder="contact information">
 55                             </div>
 56                         </div>
 57                         <div class="form-group">
 58                             <label for="inputPassword3" class="col-sm-2 control-label">身份证号码</label>
 59                             <div class="col-sm-4">
 60                                 <input type="password" class="form-control" id="inputPassword3" placeholder="identification card">
 61                             </div>
 62                         </div>
 63                         <div class="form-group">
 64                             <label for="inputFile" class="col-sm-2 control-label">一寸蓝底照片</label>
 65                             <div class="col-sm-4">
 66                                 <input type="file" class="" id="inputFile" placeholder="Password">
 67                                 <span class="help-block">只支持png</span>
 68                             </div>
 69                         </div>
 70                         <hr>
 71                         <div class="form-group">
 72                             <div class="col-sm-2 control-label">身份说明</div>
 73                             <div class="col-sm-4">
 74                                 <div class="radio">
 75                                     <label>
 76                                         <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1"
 77                                                checked>
 78                                         农产品生产者
 79                                     </label>
 80                                 </div>
 81                                 <div class="radio">
 82                                     <label>
 83                                         <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">
 84                                          城市构建者
 85                                     </label>
 86                                 </div>
 87                                 <div class="radio disabled">
 88                                     <label>
 89                                         <input type="radio" name="optionsRadios" id="optionsRadios3" value="option3"
 90                                                disabled>
 91                                         国家单位从业者
 92                                     </label>
 93                                 </div>
 94                             </div>
 95                         </div>
 96                     </form>
 97                 </div>
 98             </div>
 99             <!--下一步按钮-->
100             <div>
101                 <button class="btn btn-success pull-right">下一步</button>
102             </div>
103         </div>
104     </div>
105 </div>
106 
107 <script src="jquery.js"></script>
108 <script src="bootstrap/js/bootstrap.min.js"></script>
109 
110 </body>
111 </html>

模拟滚动的进度条:

var $d1 = $("#d1");
var width = 0;
var theID = setInterval(setValue, 200);

function setValue() {
  if (width === 100) {
    clearInterval(theID);
  } else {
    width++;
    $d1.css("width", width+"%").text(width+"%");
  }
}

关于fontawesome的使用

 

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

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

找个微信图标看看:

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

pycharm中设置HTML的模板样式:

  京东的标签页:

  标签页示例:

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.css">
 7 </head>
 8 <body>
 9 
10 
11 <div class="container">
12     <div>
13         <!-- Nav tabs -->
14         <ul class="nav nav-tabs nav-justified" role="tablist">
15             <li role="presentation" class="active">
16                 <a href="#home" aria-controls="home" role="tab" data-toggle="tab">主页</a>
17             </li>
18             <li role="presentation">
19                 <a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">详情页</a>
20             </li>
21             <li role="presentation">
22                 <a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">售后服务</a>
23             </li>
24             <li role="presentation">
25                 <a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">评论专区</a>
26             </li>
27         </ul>
28 
29         <!-- Tab panes -->
30         <div class="tab-content">
31             <div role="tabpanel" class="tab-pane active" id="home">这是主页的内容</div>
32             <div role="tabpanel" class="tab-pane" id="profile">这是详情页的内容</div>
33             <div role="tabpanel" class="tab-pane" id="messages">这是售后服务专区的内容</div>
34             <div role="tabpanel" class="tab-pane" id="settings">这是评论区的内容</div>
35         </div>
36 
37     </div>
38 </div>
39 <script src="jquery.js"></script>
40 <script src="bootstrap-3.3.7/js/bootstrap.js"></script>
41 </body>
42 </html>

  巨幕:

  进度条

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.css">
 7 </head>
 8 <body>
 9 
10 
11 <div class="container">
12     <div class="progress">
13       <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%">
14         0%
15       </div>
16     </div>
17     <button class="btn btn-success btn-sm" id="b1">开始</button>
18 </div>
19 
20 
21 <script src="jquery.js"></script>
22 <script src="bootstrap-3.3.7/js/bootstrap.js"></script>
23 <script>
24         var n = 0;
25         var t;
26     // jQuery操作标签的CSS属性
27         function foo(){
28             $('#p1').css('width', n+'%').text(n+'%');
29             n += 1;
30             if (n > 100){
31                 clearInterval(t);
32             }
33         }
34     // 点击开始按钮,让滚动条滚动起来
35     $('#b1').click(function () {
36         // 每隔一秒钟执行一下上面的代码
37         t = setInterval(foo, 100);
38     });
39 
40 </script>
41 </body>
42 </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:允许用户缩放到的最小比例。
  • user-scalable:用户是否可以手动缩放。

    Bootstrap的栅格系统

  • container
  • row
  • column

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

JavaScript插件

常用的Bootstrap自带插件

其他常用插件

Bootstrap实例精选:

  • 封面图
  • Carousel
  • 博客页面
  • 控制台
  • 登录页
  • Offcanvas

补充一些内容:

  pycharm如何连接上数据库

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

还可以在里面写sql语句

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

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

 

posted @ 2019-02-20 22:01  Yeokrin  阅读(805)  评论(0编辑  收藏  举报