简介

利用 BootstrapCDN 和一个最简模板快速上手 Bootstrap。Bootstrap 是全球最流行的前端框架,用于构建响应式、移动设备优先的 WEB 站点。

快速入门

是否还不知道如何快速将 Bootstrap 引入到你的项目中?使用 StackPath 支持的 BootstrapCDN 就 O 了。使用包管理工具还是下载源文件?请 前往下载页面 了解详情。

CSS 文件

将 Bootstrap 的 CSS 文件以 <link> 标签的形式添加到 <head> 标签中,并放置在所有其它样式表之前就行了。

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

JS 文件

Bootstrap 所提供的许多组件都依赖 JavaScript 才能运行。具体来说,这些组件都依赖 jQueryPopper.js 以及我们自己的 JavaScript 插件。将以下 <script> 标签放到页面尾部且在 </body> 标签之前即可起作用。他们之间的顺序是: jQuery 必须排在第一位,然后是 Popper.js,最后是我们的 JavaScript 插件。

我们使用的是 jQuery 的 slim(瘦身) 版本,完整版也是支持的。

<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

是否想知道哪些组件明确的依赖 jQuery、我们自己的 JS 插件以及 Popper.js?单击下面的“显示依赖 JavaScript 的组件列表”链接了解详情。如果你对一般的页面结构还不了解,请继续了解示例页面模板。

Bootstrap 所提供的 bootstrap.bundle.jsbootstrap.bundle.min.js 文件中包含了 Popper,但不包含 jQuery。有关 Bootstrap 中包含了哪些内容,请参阅 内容 章节。

显示依赖 JavaScript 的组件列表
  • Alerts for dismissing
  • Buttons for toggling states and checkbox/radio functionality
  • Carousel for all slide behaviors, controls, and indicators
  • Collapse for toggling visibility of content
  • Dropdowns for displaying and positioning (also requires Popper.js)
  • Modals for displaying, positioning, and scroll behavior
  • Navbar for extending our Collapse plugin to implement responsive behavior
  • Tooltips and popovers for displaying and positioning (also requires Popper.js)
  • Scrollspy for scroll behavior and navigation updates

最基本的模板

请确保你的页面遵循了最新的设计和开发标准。也就是说,使用 HTML5 doctype 并包含 viewport meta 标签以实现正确的响应式行为。把这些东西攒在一起,你的页面应该是这样的:

<!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://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" 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://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
  </body>
</html>

以上就是一个完整的页面所需要的全部内容。请参阅 布局 章节或 官方示例 ,并尝试自己动手添加组件和内容构建一个网站。

重要的全局样式

Bootstrap 使用了一些重要的全局样式和设置,你在使用它们的时候要留意,这些全局样式和设置几乎都是专门针对跨浏览器样式的 标准化(normalization) 为目标的。下面就让我们一起来了解吧。

HTML5 doctype

Bootstrap 要求使用 HTML5 doctype。如果不使用,你会看到一些奇怪的不完整的样式,但使用之后就不会导致任何错误了。

<!doctype html>
<html lang="en">
  ...
</html>

响应式 meta 标签

Bootstrap 天生就是 移动设备优先 的,依照这一策略,我们首先为移动设备优化代码,然后根据需要,基于 CSS 媒体查询来对组件进行缩小或放大。为了确保所有设备能够正确渲染和触摸缩放,请将响应式 viewport meta 标签 添加到 <head> 标签中。

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

你可以在 最基本的模板 中看到这个标签的使用示例。

Box-sizing

为了能够在 CSS 中直接调整尺寸,我们将全局的 box-sizingcontent-box 切换为 border-box。这就确保了 padding 不会影响元素最终的宽度计算,但是这可能会导致第三方软件出现问题,例如 Google 地图和 Google 自定义搜索引擎。

虽然需要覆盖这一设置的情况极少,但是需要重置时,请使用以下代码:

.selector-for-some-widget {
  box-sizing: content-box;
}

通过上述代码片段,嵌套元素(包括利用 ::before::after 生成的内容)都将继承为 .selector-for-some-widget 所设定的 box-sizing 属性。

在 CSS Tricks 网站上学习有关 盒模型和 box-sizing 的知识。

Reboot

为了提升跨浏览的渲染效果,我们使用了 Reboot 用以修正跨浏览器和设备的不一致性,并且对常用 HTML 元素设置了我们认为最合适的预设样式。

社区

通过下面这些有用的资源,你可以跟进 Bootstrap 的最新进展并接触到整个社区。

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

You can also follow @getbootstrap on Twitter for the latest gossip and awesome music videos.