06_bootstrap
|Word count:1.8k|Reading time:8min|Post View:
1 需求
2 简介
Bootstrap_ 是 Twitter 推出的前端开发的开源工具包。
具体控件长什么样,全靠设 class。
bootstrap 都是基于 jquery 的。
bootstrap 主要需要引用 css 和 js 两个文件。
3 具体用法
3.1 Blog 博客
3.2 Chart 画图
https://chartjs.bootcss.com/docs/
3.3 Table 表
https://getbootstrap.com/docs/5.1/content/tables/
3.4 SlideBar 侧栏
3.5 Model 弹框
关键字 Modal
模态框(Modal)是覆盖在父窗体上的子窗体。
引例程为 bootstrap5,请注意与 js 版本匹配
具体方法:https://www.runoob.com/bootstrap5/bootstrap5-modal.htmll
需要在调出它的控件中设置形如
1 2 3
| <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#myModal"> xxx </button>
|
框中内容形如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <div class="modal" id="myModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">模态框标题</h4> <button type="button" class="btn-close" data-bs-dismiss="modal"></button> </div> <div class="modal-body"> 模态框内容.. </div> <div class="modal-footer"> <button type="button" class="btn btn-danger" data-bs-dismiss="modal">关闭</button> </div> </div> </div> </div>
|
注意要将 class 设置为模态框 modal
关模态框
1
| $('#myModal').modal('hide');
|
显示框
1
| $('#myModal').modal('show');
|
3.6 bootstrap-table
官方文档:[https://bootstrap-table.com/][https://bootstrap-table.com/]
它之所以要从 url 取数据是因为,在分页的情况下,每次只取其中 N
条数据
Table 用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| <!doctype html> <html lang="en"> <head> <meta name="viewport" content="width=device-width" /> <title>BootStrap Table使用</title>
<script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.15.3/dist/bootstrap-table.min.css"> <script src="https://unpkg.com/bootstrap-table@1.15.3/dist/bootstrap-table.min.js"></script> <script src="https://unpkg.com/bootstrap-table@1.15.3/dist/locale/bootstrap-table-zh-CN.min.js"></script> </head> <body>
<div style="width: 80%;margin: 0 auto"> <table id="table" ></table> </div>
<script type="text/javascript"> $(function () { $('#table').bootstrapTable({ url: '/jsondata', dataType: "json", pagination: true, singleSelect: false, search: true, toolbar: '#toolbar', striped: true, cache: false, pageNumber: 1, pageSize: 10, pageList: [10, 20, 50, 100], strictSearch: true, showColumns: true, showRefresh: true, minimumCountColumns: 2, clickToSelect: true, height: 500, uniqueId: "id", showToggle: true, cardView: false, detailView: true, sidePagination: "server", columns: [{
field: 'id', title: '序号', align: 'center', width: '200px' }, { field: 'name', title: '名称', align: 'center' }, { field: 'price', title: '价格', align: 'center',
}, { title: '操作', field: 'id', align: 'center', formatter: function (value, row, index) { var e = '<a href="#" mce_href="#" onclick="edit(\'' + row.id + '\')">编辑</a> '; var d = '<a href="#" mce_href="#" onclick="del(\'' + row.id + '\')">删除</a> '; return e + d; } } ], }); }); </script> </body> </html>
|
还可以通过以下方法再加参数(它与 "url:" 平级):
1 2 3 4 5
| queryParams: function (params) { params.search = document.getElementById('dept_text').value; params.test = '888' return params; },
|
4 示例
https://getbootstrap.com/docs/5.1/examples/
5 风格
https://themes.getbootstrap.com/
一般都卖 49$
5.1 加一个看着差不多的边框
1 2 3
| <div class="container mt-3"> 内容 <div>
|
6 边框
影响元素之间的间距是可以通过 style 的 margin 或 padding
属性来实现,在 bootstrap 中使用 m-x 和 p-x 来设置:
m-0 |
等价于{margin:0!important} |
m-1 |
等价于{margin:0.25rem!important} |
m-2 |
等价于{margin:0.5rem!important} |
m-3 |
等价于{margin:1rem!important} |
m-4 |
等价于{margin:1.5rem!important} |
m-5 |
等价于{margin:3rem!important} |
m-auto |
等价于{margin:auto!important} |
p-0 |
等价于{padding:0!important} |
p-1 |
等价于{padding:0.25rem!important} |
p-2 |
等价于{padding:0.5rem!important} |
p-3 |
等价于{padding:1rem!important} |
p-4 |
等价于{padding:1.5rem!important} |
p-5 |
等价于{padding:3rem!important} |
p-auto |
等价于{padding:auto!important} |
如需要调整具体的上下左右,可使用 mt-n,mb-n,mr-n,ml-n,padding
同理。
7 栅栏布局
.col-xs-* |
超小屏幕 手机 (<768px) |
.col-sm-* |
小屏幕 平板 (≥768px) |
.col-md-* |
中等屏幕 桌面显示器 (≥992px) |
.col-lg-* |
大屏幕 大桌面显示器 (≥1200px) |
8 BootStrap 的 Flex 布局
一般不直接设定 style,而使用 class 方法设置。它的名称和 style
名字很类似。
https://www.runoob.com/bootstrap4/bootstrap4-flex.html
9 其它说明
- Bootstrap 插件全部依赖 jQuery
- Grunt 用于编译
10 问题与解答
10.1 问题一
11 参考