前端之Bootstrap

本是古典 何须时尚 2023-08-17 17:18 229阅读 0赞

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环境搭建

目录结构:

ContractedBlock.gif ExpandedBlockStart.gif

  1. bootstrap-3.3.7-dist/
  2. ├── css // CSS文件
  3. ├── bootstrap-theme.css // Bootstrap主题样式文件,官方提供的,一般不用
  4. ├── bootstrap-theme.css.map
  5. ├── bootstrap-theme.min.css // 主题相关样式压缩文件
  6. ├── bootstrap-theme.min.css.map
  7. ├── bootstrap.css //引用的时候,引用这一个或者下面那个bootstrap.min.css文件就可以了
  8. ├── bootstrap.css.map
  9. ├── bootstrap.min.css // 核心CSS样式压缩文件,其他的文件都是在这个核心文件的基础上加了一些其他的样式
  10. └── bootstrap.min.css.map
  11. ├── fonts // 字体文件
  12. ├── glyphicons-halflings-regular.eot
  13. ├── glyphicons-halflings-regular.svg
  14. ├── glyphicons-halflings-regular.ttf
  15. ├── glyphicons-halflings-regular.woff
  16. └── glyphicons-halflings-regular.woff2
  17. └── js // JS文件
  18. ├── bootstrap.js
  19. ├── bootstrap.min.js // 核心JS压缩文件
  20. └── npm.js

处理依赖

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

引入:

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

    988061-20190212154036868-1603171112.png

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

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

    988061-20190212154159596-971708048.png

Bootstrap全局样式

  988061-20190212150207724-96437654.png

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

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

基础模板:简单看看结构

ContractedBlock.gif ExpandedBlockStart.gif

  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. <!-- Bootstrap -->
  10. <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
  11. <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
  12. <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
  13. <!--[if lt IE 9]>
  14. <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
  15. <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
  16. <![endif]-->
  17. </head>
  18. <body>
  19. <h1>你好,世界!</h1>
  20. <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
  21. <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
  22. <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
  23. <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
  24. </body>
  25. </html>

  988061-20190212155314635-1174684386.png

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

  988061-20190212160127448-140756534.png

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

    988061-20190212160720357-328395774.png

效果:

    988061-20190212160813218-2044476748.png

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

    988061-20190212161105807-909503549.png

    img

还有:

    988061-20190212161304815-1598512867.png

列偏移  

关于媒体查询: 

ContractedBlock.gif ExpandedBlockStart.gif

  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. <div class="c1">
  25. </div>
  26. </body>
  27. </html>

媒体查询的使用

ContractedBlock.gif ExpandedBlockStart.gif

  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. <!-- Bootstrap -->
  10. <link href="bootstrap/css/bootstrap.css" rel="stylesheet">
  11. <style>
  12. #con1{
  13. /*background-color: red;*/
  14. /*height: 600px;*/
  15. }
  16. .c1{
  17. background-color: red;
  18. height: 40px;
  19. }
  20. .c2{
  21. background-color: green;
  22. height: 40px;
  23. }
  24. @media screen and (min-width: 700px) {
  25. .c1{
  26. background-color: yellow;
  27. height: 40px;
  28. }
  29. .c2{
  30. background-color: blue;
  31. height: 40px;
  32. }
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <!--<h1>你好,世界!</h1>-->
  38. <!--<div id="con1" class="container"></div>-->
  39. <!--<div id="con1" class="container-fluid">-->
  40. <!--<div class="row">-->
  41. <!--<div class="col-md-2 col-xs-2 c1 col-md-offset-1 col-xs-offset-1">-->
  42. <!--</div>-->
  43. <!--<div class="col-md-8 col-xs-8 c2">-->
  44. <!--</div>-->
  45. <!--</div>-->
  46. <!--</div>-->
  47. <div id="con1" class="container-fluid">
  48. <div class="row">
  49. <div class="col-md-2 col-xs-2 c1 col-md-offset-1 col-xs-offset-1">
  50. </div>
  51. <div class="col-md-8 col-xs-8 c2">
  52. </div>
  53. </div>
  54. </div>
  55. <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
  56. <script src="jquery.js"></script>
  57. <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
  58. <script src="bootstrap/js/bootstrap.js"></script>
  59. </body>
  60. </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>

副标题

  1. <!--一级标题中嵌入小标题-->
  2. <h1>一级标题<small>小标题</small></h1>

文本对齐

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

文本大小写

  1. <!--大小写-->
  2. <p class="text-lowercase">Lowercased text.</p>
  3. <p class="text-uppercase">Uppercased text.</p>
  4. <p class="text-capitalize">Capitalized text.</p>

表格






























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

状态类






























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

表单

内联表单

表单状态

带图标的表单

按钮

  1. <a class="btn btn-default" href="#" role="button">Link</a>
  2. <button class="btn btn-default" type="submit">Button</button>
  3. <input class="btn btn-default" type="button" value="Input">
  4. <input class="btn btn-default" type="submit" value="Submit">

按钮样式

ContractedBlock.gif ExpandedBlockStart.gif

  1. <!-- Standard button -->
  2. <button type="button" class="btn btn-default">(默认样式)Default</button>
  3. <!-- Provides extra visual weight and identifies the primary action in a set of buttons -->
  4. <button type="button" class="btn btn-primary">(首选项)Primary</button>
  5. <!-- Indicates a successful or positive action -->
  6. <button type="button" class="btn btn-success">(成功)Success</button>
  7. <!-- Contextual button for informational alert messages -->
  8. <button type="button" class="btn btn-info">(一般信息)Info</button>
  9. <!-- Indicates caution should be taken with this action -->
  10. <button type="button" class="btn btn-warning">(警告)Warning</button>
  11. <!-- Indicates a dangerous or potentially negative action -->
  12. <button type="button" class="btn btn-danger">(危险)Danger</button>
  13. <!-- Deemphasize a button by making it look like a link while maintaining button behavior -->
  14. <button type="button" class="btn btn-link">(链接)Link</button

按钮大小

ContractedBlock.gif ExpandedBlockStart.gif

  1. <p>
  2. <button type="button" class="btn btn-primary btn-lg">(大按钮)Large button</button>
  3. <button type="button" class="btn btn-default btn-lg">(大按钮)Large button</button>
  4. </p>
  5. <p>
  6. <button type="button" class="btn btn-primary">(默认尺寸)Default button</button>
  7. <button type="button" class="btn btn-default">(默认尺寸)Default button</button>
  8. </p>
  9. <p>
  10. <button type="button" class="btn btn-primary btn-sm">(小按钮)Small button</button>
  11. <button type="button" class="btn btn-default btn-sm">(小按钮)Small button</button>
  12. </p>
  13. <p>
  14. <button type="button" class="btn btn-primary btn-xs">(超小尺寸)Extra small button</button>
  15. <button type="button" class="btn btn-default btn-xs">(超小尺寸)Extra small button</button>
  16. </p>

图片

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

图片形状

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

辅助类

文本颜色

  1. <p class="text-muted">...</p>
  2. <p class="text-primary">...</p>
  3. <p class="text-success">...</p>
  4. <p class="text-info">...</p>
  5. <p class="text-warning">...</p>
  6. <p class="text-danger">...</p>

背景颜色

  1. <p class="bg-primary">...</p>
  2. <p class="bg-success">...</p>
  3. <p class="bg-info">...</p>
  4. <p class="bg-warning">...</p>
  5. <p class="bg-danger">...</p>

关闭按钮

  1. <button type="button" class="close" aria-label="Close"><span aria-hidden="true">×</span></button>

下拉三角

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

快速浮动

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

内容块居中

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

清除浮动

  1. <!-- Usage as a class -->
  2. <div class="clearfix">...</div>

显示与隐藏

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

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

ContractedBlock.gif ExpandedBlockStart.gif

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>登录页面</title>
  6. <link rel="stylesheet" href="bootstrap-3.3.7/css/bootstrap.css">
  7. <style>
  8. body {
  9. background-color: #eeeeee;
  10. }
  11. </style>
  12. </head>
  13. <body>
  14. <div class="container">
  15. <div class="row">
  16. <div class="col-md-4 col-md-offset-4" style="margin-top: 70px">
  17. <h2 class="text-center">欢迎登录</h2>
  18. <form>
  19. <div class="form-group">
  20. <label for="exampleInputEmail1">邮箱</label>
  21. <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
  22. <span class="help-block"></span>
  23. </div>
  24. <div class="form-group">
  25. <label for="exampleInputPassword1">密码</label>
  26. <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
  27. <span class="help-block"></span>
  28. </div>
  29. <div class="checkbox">
  30. <label>
  31. <input type="checkbox"> 记住
  32. </label>
  33. </div>
  34. <button type="submit" id="login-btn" class="btn btn-success btn-block">登录</button>
  35. </form>
  36. </div>
  37. </div>
  38. </div>
  39. <script src="jquery.js"></script>
  40. <script>
  41. // 给登录按钮绑定点击事件
  42. $('#login-btn').click(function () {
  43. // 定义一个是否允许提交的标志位
  44. var flag = true;
  45. // 1. 找到登录框中所有的input框,判断值是否为空
  46. $('form input').each(function () {
  47. var value = $(this).val();
  48. if (value.length===0){
  49. // 2. 为空就显示提示信息
  50. // 2.1 给下面的span标签设置文本提示信息
  51. var errMsg = $(this).prev().text() + '不能为空';
  52. $(this).next().text(errMsg);
  53. // 2.2 给父标签设置has-error的样式
  54. $(this).parent().addClass('has-error');
  55. // 2.3 阻止表单提交
  56. flag = false;
  57. return false;
  58. }
  59. });
  60. return flag;
  61. });
  62. // 给input框绑定focus事件
  63. $('form input').focus(function () {
  64. // 1. 去掉当前input框后面的span标签的文本
  65. $(this).next().text('');
  66. // 2. 去掉父标签的has-error样式
  67. $(this).parent().removeClass('has-error');
  68. })
  69. </script>
  70. </body>
  71. </html>

常用Bootstrap组件

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

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

  988061-20190213133732924-1770564.png

  988061-20190213133747628-47291732.png

来实现这么一个页面

    988061-20190212220303882-288963531.png

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

      988061-20190212220418125-970451954.png

ContractedBlock.gif ExpandedBlockStart.gif

  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. <div class="container">
  10. <div class="row">
  11. <div class="col-md-12">
  12. <div class="page-header">
  13. <h1>信息收集卡
  14. <small>共三步</small>
  15. </h1>
  16. </div>
  17. <div class="progress">
  18. <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="60" aria-valuemin="0"
  19. aria-valuemax="100" style="width: 33.33%;">
  20. 1/3
  21. </div>
  22. </div>
  23. <!--面板-->
  24. <div class="panel panel-primary">
  25. <div class="panel-heading">
  26. <h3 class="panel-title">基本信息<span class="glyphicon glyphicon-pushpin pull-right"></span></h3>
  27. </div>
  28. <div class="panel-body">
  29. <!--表单-->
  30. <form class="form-horizontal">
  31. <div class="form-group">
  32. <label for="inputEmail1" class="col-sm-2 control-label">Email</label>
  33. <div class="col-sm-4">
  34. <input type="email" class="form-control" id="inputEmail1" placeholder="Email">
  35. </div>
  36. </div>
  37. <div class="form-group">
  38. <label for="inputPassword2" class="col-sm-2 control-label">Password</label>
  39. <div class="col-sm-4">
  40. <input type="password" class="form-control" id="inputPassword2" placeholder="Password">
  41. </div>
  42. </div>
  43. <div class="form-group">
  44. <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
  45. <div class="col-sm-4">
  46. <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
  47. </div>
  48. </div>
  49. <div class="form-group">
  50. <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
  51. <div class="col-sm-4">
  52. <input type="password" class="form-control" id="inputPassword3" placeholder="Password">
  53. </div>
  54. </div>
  55. <div class="form-group">
  56. <label for="inputFile" class="col-sm-2 control-label">Password</label>
  57. <div class="col-sm-4">
  58. <input type="file" class="" id="inputFile" placeholder="Password">
  59. <span class="help-block">只支持png</span>
  60. </div>
  61. </div>
  62. <hr>
  63. <div class="form-group">
  64. <div class="col-sm-2 control-label">属性</div>
  65. <div class="col-sm-4">
  66. <div class="radio">
  67. <label>
  68. <input type="radio" name="optionsRadios" id="optionsRadios1" value="option1"
  69. checked>
  70. 我是一个好人
  71. </label>
  72. </div>
  73. <div class="radio">
  74. <label>
  75. <input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">
  76. 我是一个坏人
  77. </label>
  78. </div>
  79. <div class="radio disabled">
  80. <label>
  81. <input type="radio" name="optionsRadios" id="optionsRadios3" value="option3"
  82. disabled>
  83. 我不是一个人
  84. </label>
  85. </div>
  86. </div>
  87. </div>
  88. </form>
  89. </div>
  90. </div>
  91. <!--下一步按钮-->
  92. <div>
  93. <button class="btn btn-success pull-right">下一步</button>
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. <script src="jquery.js"></script>
  99. <script src="bootstrap-3.3.7/js/bootstrap.js"></script>
  100. </body>
  101. </html>

模拟滚动的进度条:

ContractedBlock.gif ExpandedBlockStart.gif

  1. var $d1 = $("#d1");
  2. var width = 0;
  3. var theID = setInterval(setValue, 200);
  4. function setValue() {
  5. if (width === 100) {
  6. clearInterval(theID);
  7. } else {
  8. width++;
  9. $d1.css("width", width+"%").text(width+"%");
  10. }
  11. }

关于fontawesome的使用

    988061-20190213131313924-840968377.png

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

    988061-20190213131401354-2118848621.png

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

    988061-20190213131616708-565710695.png

 找个微信图标看看:

    988061-20190213131941249-1526267016.png

    988061-20190213131755756-1544951964.png

   988061-20190213132014608-118857166.png

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

    988061-20190213133239959-1152513839.png

    988061-20190213133247194-803116647.png

pycharm中设置HTML的模板样式:

    988061-20190213145943906-726201258.png

京东的标签页:

    988061-20190213150256493-216740084.png

    988061-20190213150306012-1773504873.png

    988061-20190213150350544-872767775.png

标签页示例:

ContractedBlock.gif ExpandedBlockStart.gif

  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. <div class="container">
  10. <div>
  11. <!-- Nav tabs -->
  12. <ul class="nav nav-tabs nav-justified" role="tablist">
  13. <li role="presentation" class="active">
  14. <a href="#home" aria-controls="home" role="tab" data-toggle="tab">主页</a>
  15. </li>
  16. <li role="presentation">
  17. <a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">详情页</a>
  18. </li>
  19. <li role="presentation">
  20. <a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">售后服务</a>
  21. </li>
  22. <li role="presentation">
  23. <a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">评论专区</a>
  24. </li>
  25. </ul>
  26. <!-- Tab panes -->
  27. <div class="tab-content">
  28. <div role="tabpanel" class="tab-pane active" id="home">这是主页的内容</div>
  29. <div role="tabpanel" class="tab-pane" id="profile">这是详情页的内容</div>
  30. <div role="tabpanel" class="tab-pane" id="messages">这是售后服务专区的内容</div>
  31. <div role="tabpanel" class="tab-pane" id="settings">这是评论区的内容</div>
  32. </div>
  33. </div>
  34. </div>
  35. <script src="jquery.js"></script>
  36. <script src="bootstrap-3.3.7/js/bootstrap.js"></script>
  37. </body>
  38. </html>

巨幕:

    988061-20190213153643468-2003875814.png

进度条

ContractedBlock.gif ExpandedBlockStart.gif

  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. <div class="container">
  10. <div class="progress">
  11. <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%">
  12. 0%
  13. </div>
  14. </div>
  15. <button class="btn btn-success btn-sm" id="b1">开始</button>
  16. </div>
  17. <script src="jquery.js"></script>
  18. <script src="bootstrap-3.3.7/js/bootstrap.js"></script>
  19. <script>
  20. var n = 0;
  21. var t;
  22. // jQuery操作标签的CSS属性
  23. function foo(){
  24. $('#p1').css('width', n+'%').text(n+'%');
  25. n += 1;
  26. if (n > 100){
  27. clearInterval(t);
  28. }
  29. }
  30. // 点击开始按钮,让滚动条滚动起来
  31. $('#b1').click(function () {
  32. // 每隔一秒钟执行一下上面的代码
  33. t = setInterval(foo, 100);
  34. });
  35. </script>
  36. </body>
  37. </html>

保存网页的方法:

  988061-20190213162853903-590732687.png

  988061-20190213163119421-1139294081.png

响应式开发

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

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

什么是响应式?

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

用到的技术:

CSS3@media查询

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

常见属性:

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

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

      3.orientation 设备方向

      4.resolution 设备分辨率

语法:

  1. @media mediatype and|not|only (media feature) {
  2. CSS-Code;
  3. }

不同的媒体使用不同的stylesheet

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

viewport

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

设置viewport

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

  1. <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如何连接上数据库

  988061-20190213122246384-1299651798.png

  988061-20190213122336693-400210768.png

  988061-20190213122418613-1162456324.png

  988061-20190213122550283-1840700978.png

  988061-20190213122634987-953835999.png

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

  988061-20190213122727952-532451495.png

  988061-20190213122930783-822988179.png

还可以在里面写sql语句

  988061-20190213123412678-1864001066.png

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

    988061-20190213123258158-316793110.png

    988061-20190213124824441-1903259483.png

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

    988061-20190213125401348-808152711.png

    988061-20190213125417339-1866473179.png

修改成下面这样的效果

    988061-20190213171823109-1386351672.png

  

转载于:https://www.cnblogs.com/sundawei7/p/11558149.html

发表评论

表情:
评论列表 (有 0 条评论,229人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Bootstrap前端框架

    Bootstrap简介 Bootstrap 是快速开发 Web 应用程序的前端工具包。它是一个 CSS,HTML 和 JS 的集合,它使用了最新的浏览器技术,给你的 We

    相关 Bootstrap前端开发框架

    > 在那一刻,我意识到,我必须选择,要么对一切屈服,得过且过地生活,要么就得努力,争取梦想的生活。你好,我是梦阳辰!快来和我一起学习吧! 文章目录 01.响应式开