Bootstrap是当前世界最受欢迎的响应式、移动设备优先的门户和应用前端框架。在其中,你将发现高质量的HTML、CSS以及JavaScript,使您的WEB工程项目变得无比简单,包括官方的CDN和启动器服务。
快速部署
使用 Bootstrap CDN嵌入4行代码就能完成导入! 点此这里下载离线包及源码 。
1行 CSS
复制下面的 <link>
样式表粘贴到网页 <head>
里面,并放在其它CSS文件之前.
<link rel= "stylesheet" href= "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity= "sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin= "anonymous" >
3行 JS
全局组件运行在 jQuery 组件上,其中包括 Popper.js , 以及系统内置 JavaScript 插件. 建议将 <script>
的结束放在页面的 </body>
之前以符合新移动WEB规范,并遵循下面代码的先后顺序。
您可以引用 jQuery 精简版 ,兼容完整版,并无二异。
<script src= "https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity= "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin= "anonymous" ></script>
<script src= "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity= "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin= "anonymous" ></script>
<script src= "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity= "sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin= "anonymous" ></script>
这里列出了需要JQuery、Bootstrap.js、Popper.js组件清单,如果你不熟悉组件可以继续查看本文档的其它部份的示例源码。
查看需要JavsScript的组件
组件提示
按钮点击状态、勾(复)选框
幻灯片、指标器
折叠面板控制内容是否显示
下拉菜单、显示定位事件(主要Popper.js )
显示模态和浏览器侦听
导航条以及响应式适配
工具提示和移动事件 (主要 Popper.js )
滚动侦听和导航事件
Hello, World!模板
使用H5标准构建一个最精简的模板,推荐规范如下(其中第2行在英文站点中使用<html lang= "en" >
)替换:
<!doctype html>
<html lang= "en" >
<head>
<!-- Required meta tags -->
<meta charset= "utf-8" >
<meta name= "viewport" content= "width=device-width, initial-scale=1, shrink-to-fit=no" >
<!-- Bootstrap CSS -->
<link rel= "stylesheet" href= "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity= "sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin= "anonymous" >
<title> Hello, world!</title>
</head>
<body>
<h1> Hello, world!</h1>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src= "https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity= "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin= "anonymous" ></script>
<script src= "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity= "sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin= "anonymous" ></script>
<script src= "https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity= "sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin= "anonymous" ></script>
</body>
</html>
拷贝上面代码,然后按照本文档的 布局 来构建你的组件和内容.
重要提示
Bootstrap 推荐全局样式和设置统一,使之标准化,让我们深入了解它们。
HTML5 doctype头部规范
HTML5标准的 doctype 头部定义是首要的,否则会导致样式失真(中国码农往往直接抄国外站点将lang写成en的小细节也要注意以免贻笑大方)。
<!doctype html>
<html lang= "zh-cn" >
...
</html>
移动设备优先 , Bootstrap 4 不同于历史版本,它首先为移动设备优化代码,然后用CSS媒体查询来扩展组件。为了确保所有的设备的渲染和触摸效果,必须在网页的<head>
区添加响应式的视图标签,简要的说就是优先引入下面一行。
<meta name= "viewport" content= "width=device-width, initial-scale=1, shrink-to-fit=no" >
Hello, World!模板 中作了明确的示例。
盒尺寸
为了更直观地用BootStrap的尺寸规范(而不受各浏览标准影响),我们把将全局box-sizing
的值由默认的content-box
重定义为border-box
,以保证padding
不会影响元素的最后计算宽度。但在页面引用Google自定义搜索、Google Map地图等第三方产品时会出现兼容性问题。
对此你可以使用下面的方法来重置盒尺寸:
.selector-for-some-widget {
box-sizing : content-box ;
}
用了上面方法重定义后,所有嵌套在内的元素-包括通过:before
以及:after
产生的内容,都会继承.selector-for-some-widget
所指定的box-sizing。
box model and sizing 盒框型技巧扩展学习 .
初始化与CSS重置
为了解决跨浏览器的渲染差异, BootStrap使用了 初始化与CSS重置 对常用CSS组件进行了重新初始化,以更正浏览器和设备之间的各种厂商私有定义的缺陷。
这是一些官方推荐的社区支持(境外站点可能会出现无法访问)。
Follow @getbootstrap on Twitter .
Read and subscribe to The Official Bootstrap Blog .
Join the official Slack room .
Chat with fellow Bootstrappers in IRC. On the irc.freenode.net
server, in the ##bootstrap
channel.
Implementation help may be found at Stack Overflow (tagged bootstrap-4
).
Developers should use the keyword bootstrap
on packages which modify or add to the functionality of Bootstrap when distributing through npm or similar delivery mechanisms for maximum discoverability.
官方推特关注 @getbootstrap on Twitter .