下载

Bootstrap(当前版本 v3.3.5)有几种快速开始使用的简单方法,每种方法都适合不同的技能水平和使用场景。请仔细阅读以找到适合您特定需求的方法。

Bootstrap

编译和压缩的CSS、JavaScript和字体。不包含文档或原始源文件。

下载 Bootstrap

源代码

Less、JavaScript和字体源文件,以及我们的文档。需要Less编译器和一些设置。

下载源代码

Sass

Bootstrap从Less移植到Sass,便于在Rails、Compass或仅Sass的项目中包含。

下载 Sass

Bootstrap CDN

MaxCDN的朋友们慷慨地为Bootstrap的CSS和JavaScript提供CDN支持。只需使用这些Bootstrap CDN链接。

<!-- 最新编译和压缩的 CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">

<!-- 可选主题 -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">

<!-- 最新编译和压缩的 JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

使用 Bower 安装

您也可以使用 Bower 安装和管理Bootstrap的Less、CSS、JavaScript和字体:

$ bower install bootstrap

使用 npm 安装

您也可以使用 npm 安装Bootstrap:

$ npm install bootstrap

require('bootstrap') 会将Bootstrap的所有jQuery插件加载到jQuery对象上。bootstrap模块本身不导出任何内容。您可以通过加载包顶级目录下的/js/*.js文件来手动单独加载Bootstrap的jQuery插件。

Bootstrap的package.json包含以下键下的额外元数据:

  • less - Bootstrap主要Less源文件的路径
  • style - 使用默认设置预编译的Bootstrap非压缩CSS的路径(无自定义)

使用 Composer 安装

您也可以使用 Composer 安装和管理Bootstrap的Less、CSS、JavaScript和字体:

$ composer require twbs/bootstrap

Less/Sass 需要 Autoprefixer

Bootstrap使用Autoprefixer来处理CSS供应商前缀。如果您从Less/Sass源代码编译Bootstrap且不使用我们的Gruntfile,您需要自己将Autoprefixer集成到构建过程中。如果您使用预编译的Bootstrap或使用我们的Gruntfile,您不需要担心这个问题,因为Autoprefixer已经集成到我们的Gruntfile中。

包含内容

Bootstrap有两种可下载形式,其中包含以下目录和文件,逻辑上分组常见资源并提供编译和压缩的变体。

需要 jQuery

请注意,所有JavaScript插件都需要包含jQuery,如启动模板中所示。查看我们的bower.json以了解支持的jQuery版本。

预编译 Bootstrap

下载后,解压缩压缩文件夹以查看(编译的)Bootstrap的结构。您将看到类似这样的内容:

bootstrap/
├── css/
│   ├── bootstrap.css
│   ├── bootstrap.css.map
│   ├── bootstrap.min.css
│   ├── bootstrap-theme.css
│   ├── bootstrap-theme.css.map
│   └── bootstrap-theme.min.css
├── js/
│   ├── bootstrap.js
│   └── bootstrap.min.js
└── fonts/
    ├── glyphicons-halflings-regular.eot
    ├── glyphicons-halflings-regular.svg
    ├── glyphicons-halflings-regular.ttf
    ├── glyphicons-halflings-regular.woff
    └── glyphicons-halflings-regular.woff2

这是Bootstrap最基本的形式:预编译文件,可在几乎任何Web项目中快速使用。我们提供编译的CSS和JS(bootstrap.*),以及编译和压缩的CSS和JS(bootstrap.min.*)。CSS源映射bootstrap.*.map)可用于某些浏览器的开发者工具。包含来自Glyphicons的字体,以及可选的Bootstrap主题。

Bootstrap 源代码

Bootstrap源代码下载包括预编译的CSS、JavaScript和字体资源,以及Less、JavaScript和文档的源代码。更具体地说,它包括以下内容及更多:

bootstrap/
├── less/
├── js/
├── fonts/
├── dist/
│   ├── css/
│   ├── js/
│   └── fonts/
└── docs/
    └── examples/

less/js/fonts/是我们的CSS、JS和图标字体的源代码(分别)。dist/文件夹包含上面预编译下载部分中列出的所有内容。docs/文件夹包含我们文档的源代码,以及Bootstrap使用examples/。除此之外,任何其他包含的文件都提供对包、许可证信息和开发的支持。

编译 CSS 和 JavaScript

Bootstrap使用Grunt作为其构建系统,提供了使用框架的便捷方法。这是我们编译代码、运行测试等的方式。

安装 Grunt

要安装Grunt,您必须首先下载并安装node.js(包括npm)。npm代表node打包模块,是通过node.js管理开发依赖的一种方式。

然后,从命令行:
  1. 使用npm install -g grunt-cli全局安装grunt-cli
  2. 导航到根目录/bootstrap/,然后运行npm install。npm将查看package.json文件并自动安装那里列出的必要本地依赖。

完成后,您将能够从命令行运行提供的各种Grunt命令。

可用的 Grunt 命令

grunt dist(仅编译CSS和JavaScript)

使用编译和压缩的CSS和JavaScript文件重新生成/dist/目录。作为Bootstrap用户,这通常是您想要的命令。

grunt watch(监视)

监视Less源文件,并在您保存更改时自动将它们重新编译为CSS。

grunt test(运行测试)

运行JSHint并在PhantomJS中无头运行QUnit测试。

grunt docs(构建和测试文档资源)

构建和测试通过jekyll serve在本地运行文档时使用的CSS、JavaScript和其他资源。

grunt(构建所有内容并运行测试)

编译和压缩CSS和JavaScript,构建文档网站,对文档运行HTML5验证器,重新生成Customizer资源,等等。需要Jekyll。通常只有在您自己修改Bootstrap时才需要。

故障排除

如果您在安装依赖项或运行Grunt命令时遇到问题,请首先删除npm生成的/node_modules/目录。然后,重新运行npm install

基本模板

从这个基本HTML模板开始,或修改这些示例。我们希望您能自定义我们的模板和示例,使它们适应您的需求。

复制下面的HTML以开始使用最小的Bootstrap文档。

<!DOCTYPE html>
<html lang="en">
  <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标签*必须*在head中首先出现;任何其他head内容必须*在这些标签之后*出现 -->
    <title>Bootstrap 101 模板</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 shim 和 Respond.js,用于 IE8 支持 HTML5 元素和媒体查询 -->
    <!-- 警告:如果您通过 file:// 查看页面,Respond.js 不工作 -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <h1>你好,世界!</h1>

    <!-- jQuery(Bootstrap的JavaScript插件必需) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <!-- 包含所有编译的插件(下面),或根据需要包含单独的文件 -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>

示例

在基本模板的基础上使用Bootstrap的许多组件进行构建。我们鼓励您自定义和调整Bootstrap以适应您个人项目的需求。

使用框架

Starter template example

启动模板

只有基础知识:编译的CSS和JavaScript以及容器。

Bootstrap theme example

Bootstrap 主题

加载可选的Bootstrap主题以获得视觉增强体验。

Multiple grids example

网格

具有所有四个层级、嵌套等的网格布局的多个示例。

Jumbotron example

Jumbotron

围绕jumbotron构建,包含导航栏和一些基本网格列。

Narrow jumbotron example

窄 jumbotron

通过缩小默认容器和jumbotron来构建更自定义的页面。

导航栏实战

Navbar example

导航栏

包含导航栏和一些额外内容的超级基本模板。

Static top navbar example

静态顶部导航栏

包含静态顶部导航栏和一些额外内容的超级基本模板。

Fixed navbar example

固定导航栏

包含固定顶部导航栏和一些额外内容的超级基本模板。

自定义组件

A one-page template example

封面

用于构建简单而美丽主页的单页模板。

Carousel example

轮播

自定义导航栏和轮播,然后添加一些新组件。

Blog layout example

博客

具有自定义导航、标题和类型的简单两列博客布局。

Dashboard example

仪表板

具有固定侧边栏和导航栏的管理仪表板的基本结构。

Sign-in page example

登录页面

简单登录表单的自定义表单布局和设计。

Justified nav example

两端对齐导航

创建具有两端对齐链接的自定义导航栏。注意!对Safari不太友好。

Sticky footer example

粘性页脚

当内容比视口短时,将页脚附加到视口底部。

Sticky footer with navbar example

带导航栏的粘性页脚

将页脚附加到视口底部,顶部有固定导航栏。

实验

Non-responsive example

非响应式 Bootstrap

根据我们的文档轻松禁用Bootstrap的响应式功能。

Off-canvas navigation example

画布外

构建一个可切换的画布外导航菜单,用于Bootstrap。

工具

Bootlint

Bootlint是官方的Bootstrap HTML代码检查工具。它自动检查以相当"原生"方式使用Bootstrap的网页中的几个常见HTML错误。原生Bootstrap的组件/小部件要求其DOM部分符合某些结构。Bootlint检查Bootstrap组件实例是否具有正确结构的HTML。考虑将Bootlint添加到您的Bootstrap Web开发工具链中,这样常见的错误就不会减慢您项目的开发速度。

社区

通过这些有用的资源了解Bootstrap开发的最新动态并与社区联系。

您还可以在Twitter上关注@getbootstrap以获取最新的八卦和精彩的音乐视频。

禁用响应式

Bootstrap自动调整您的页面以适应各种屏幕尺寸。 以下是如何禁用此功能,使您的页面像这个非响应式示例一样工作。

禁用页面响应式的步骤

  1. 省略CSS文档中提到的viewport <meta>
  2. 为每个网格层级用单一宽度覆盖.container上的width,例如width: 970px !important;确保这在默认Bootstrap CSS之后。您可以选择使用媒体查询或一些选择器技巧来避免!important
  3. 如果使用导航栏,请移除所有导航栏折叠和展开行为。
  4. 对于网格布局,使用.col-xs-*类来补充或替代中等/大型的类。别担心,超小设备网格会缩放到所有分辨率。

您仍然需要Respond.js来支持IE8(因为我们的媒体查询仍然存在并且需要处理)。 这会禁用Bootstrap的"移动站点"方面。

禁用响应式的Bootstrap模板

我们已将这些步骤应用到一个示例中。阅读其源代码以查看实现的具体更改。

查看非响应式示例

从 v2.x 迁移到 v3.x

想要从旧版本的Bootstrap迁移到v3.x?查看我们的迁移指南

浏览器和设备支持

Bootstrap构建为在最新的桌面和移动浏览器中工作最佳,这意味着较旧的浏览器可能会显示不同样式的某些组件渲染,尽管功能完全正常。

支持的浏览器

具体来说,我们支持以下浏览器和平台的最新版本。在Windows上,我们支持Internet Explorer 8-11。下面提供了更具体的支持信息。

Chrome Firefox Internet Explorer Opera Safari
Android 支持 支持 不适用 不支持 不适用
iOS 支持 不适用 不支持 支持
Mac OS X 支持 支持 支持 支持
Windows 支持 支持 支持 支持 不支持

Unofficially, Bootstrap should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 7, though they are not officially supported.

For a list of some of the browser bugs that Bootstrap has to grapple with, see our Wall of browser bugs.

Internet Explorer 8 and 9

Internet Explorer 8 and 9 are also supported, however, please be aware that some CSS3 properties and HTML5 elements are not fully supported by these browsers. In addition, Internet Explorer 8 requires the use of Respond.js to enable media query support.

Feature Internet Explorer 8 Internet Explorer 9
border-radius Not supported Supported
box-shadow Not supported Supported
transform Not supported Supported, with -ms prefix
transition Not supported
placeholder Not supported

Visit Can I use... for details on browser support of CSS3 and HTML5 features.

Internet Explorer 8 and Respond.js

在Internet Explorer 8的开发和生产环境中使用Respond.js时,请注意以下注意事项。

Respond.js 和跨域 CSS

在跨域(子域)上托管CSS时使用Respond.js(例如在CDN上)需要一些额外的设置。详情请参阅Respond.js文档

Respond.js 和 file://

由于浏览器安全规则,Respond.js不适用于通过file://协议查看的页面(例如打开本地HTML文件时)。要在IE8中测试响应式功能,请通过HTTP(S)查看您的页面。详情请参阅Respond.js文档

Respond.js 和 @import

Respond.js不适用于通过@import引用的CSS。特别是,已知某些Drupal配置使用@import。详情请参阅Respond.js文档

Internet Explorer 8 和 box-sizing

IE8在与min-widthmax-widthmin-heightmax-height结合使用时,不完全支持box-sizing: border-box;。因此,从v3.0.1开始,我们不再在.container上使用max-width

Internet Explorer 8 和 @font-face

IE8在与:before结合使用时,@font-face存在一些问题。Bootstrap在其Glyphicons中使用这种组合。如果页面被缓存,并且在没有鼠标悬停在窗口上的情况下加载(即点击刷新按钮或在iframe中加载某些内容),则页面会在字体加载之前渲染。悬停在页面(body)上会显示一些图标,悬停在其余图标上也会显示这些图标。详情请参阅问题 #13863

IE 兼容模式

Bootstrap在旧的Internet Explorer兼容模式下不受支持。为确保您使用IE的最新渲染模式,请考虑在页面中包含适当的<meta>标签:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

通过打开调试工具确认文档模式:按F12并检查"文档模式"。

此标签包含在Bootstrap的所有文档和示例中,以确保在每个受支持的Internet Explorer版本中都能获得最佳渲染效果。

更多信息请参阅这个StackOverflow问题

Windows 8 和 Windows Phone 8 中的 Internet Explorer 10

Internet Explorer 10不区分设备宽度视口宽度,因此无法正确应用Bootstrap CSS中的媒体查询。通常您只需添加一个快速的CSS片段来修复此问题:

@-ms-viewport       { width: device-width; }

但是,这不适用于运行早于更新3(又名GDR3)的Windows Phone 8版本的设备,因为它会导致此类设备显示主要是桌面视图而不是窄"手机"视图。要解决此问题,您需要包含以下CSS和JavaScript来绕过此错误

@-webkit-viewport   { width: device-width; }
@-moz-viewport      { width: device-width; }
@-ms-viewport       { width: device-width; }
@-o-viewport        { width: device-width; }
@viewport           { width: device-width; }
// 版权所有 2014-2015 Twitter, Inc.
// 基于 MIT 许可证授权 (https://github.com/twbs/bootstrap/blob/master/LICENSE)
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
  var msViewportStyle = document.createElement('style')
  msViewportStyle.appendChild(
    document.createTextNode(
      '@-ms-viewport{width:auto!important}'
    )
  )
  document.querySelector('head').appendChild(msViewportStyle)
}

For more information and usage guidelines, read Windows Phone 8 and Device-Width.

As a heads up, we include this in all of Bootstrap's documentation and examples as a demonstration.

Safari 百分比舍入

OS X的Safari v7.1之前版本和iOS的Safari v8.0之前的渲染引擎在我们的.col-*-1网格类中使用的小数位数存在问题。因此,如果您有12个单独的网格列,您会注意到它们与其他行相比显得不足。除了升级Safari/iOS之外,您还有一些解决方法选择:

  • 在最后一个网格列中添加.pull-right以获得硬右对齐
  • 手动调整百分比以获得Safari的完美舍入(比第一个选项更困难)

模态框、导航栏和虚拟键盘

溢出和滚动

在iOS和Android上,对<body>元素上overflow: hidden的支持非常有限。因此,当您在这些设备的浏览器中滚动超过模态框的顶部或底部时,<body>内容将开始滚动。

虚拟键盘

另外,请注意,如果您使用固定导航栏或在模态框内使用输入框,iOS存在一个渲染错误,当虚拟键盘被触发时不会更新固定元素的位置。一些解决方法包括将元素转换为position: absolute或在焦点上调用计时器以尝试手动纠正定位。Bootstrap不处理这个问题,所以由您决定哪种解决方案最适合您的应用程序。

导航栏下拉菜单

由于z-index的复杂性,.dropdown-backdrop元素在iOS的导航中不使用。因此,要关闭导航栏中的下拉菜单,您必须直接点击下拉元素(或在iOS中会触发点击事件的任何其他元素)。

浏览器缩放

页面缩放在某些组件中不可避免地呈现渲染伪影,无论是在Bootstrap中还是在网络的其余部分。根据问题,我们可能能够修复它(先搜索,然后如果需要的话打开问题)。但是,我们倾向于忽略这些,因为它们通常除了黑客式的解决方法之外没有直接的解决方案。

移动设备上的粘性 :hover/:focus

尽管在大多数触摸屏上不可能真正悬停,但大多数移动浏览器模拟悬停支持并使:hover"粘性"。换句话说,:hover样式在点击元素后开始应用,只有在用户点击其他元素后才停止应用。这可能导致Bootstrap的:hover状态在此类浏览器中不必要地"卡住"。一些移动浏览器也使:focus类似地粘性。目前除了完全删除此类样式之外,没有简单的解决方法来解决这些问题。

打印

即使在一些现代浏览器中,打印也可能很古怪。

特别是,从Chrome v32开始,无论边距设置如何,Chrome在打印网页时解析媒体查询时使用的视口宽度明显比物理纸张尺寸窄。这可能导致Bootstrap的超小网格在打印时意外激活。详情请参阅 #12078。建议的解决方法:

  • 接受超小网格并确保您的页面在其下看起来可接受。
  • 自定义@screen-* Less变量的值,使您的打印机纸张被认为大于超小。
  • 添加自定义媒体查询以仅更改打印媒体的网格大小断点。

另外,从Safari v8.0开始,固定宽度的.container可能导致Safari在打印时使用异常小的字体大小。更多详情请参阅#14868。一个潜在的解决方法是添加以下CSS:

@media print {
  .container {
    width: auto;
  }
}

Android stock browser

Out of the box, Android 4.1 (and even some newer releases apparently) ship with the Browser app as the default web browser of choice (as opposed to Chrome). Unfortunately, the Browser app has lots of bugs and inconsistencies with CSS in general.

Select menus

On <select> elements, the Android stock browser will not display the side controls if there is a border-radius and/or border applied. (See this StackOverflow question for details.) Use the snippet of code below to remove the offending CSS and render the <select> as an unstyled element on the Android stock browser. The user agent sniffing avoids interference with Chrome, Safari, and Mozilla browsers.

<script>
$(function () {
  var nua = navigator.userAgent
  var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1)
  if (isAndroid) {
    $('select.form-control').removeClass('form-control').css('width', '100%')
  }
})
</script>

Want to see an example? Check out this JS Bin demo.

Validators

In order to provide the best possible experience to old and buggy browsers, Bootstrap uses CSS browser hacks in several places to target special CSS to certain browser versions in order to work around bugs in the browsers themselves. These hacks understandably cause CSS validators to complain that they are invalid. In a couple places, we also use bleeding-edge CSS features that aren't yet fully standardized, but these are used purely for progressive enhancement.

These validation warnings don't matter in practice since the non-hacky portion of our CSS does fully validate and the hacky portions don't interfere with the proper functioning of the non-hacky portion, hence why we deliberately ignore these particular warnings.

Our HTML docs likewise have some trivial and inconsequential HTML validation warnings due to our inclusion of a workaround for a certain Firefox bug.

第三方支持

虽然我们不正式支持任何第三方插件或附加组件,但我们确实提供一些有用的建议来帮助避免项目中的潜在问题。

Box-sizing

一些第三方软件,包括Google Maps和Google Custom Search Engine,由于* { box-sizing: border-box; }规则与Bootstrap冲突,该规则使得padding不影响元素的最终计算宽度。在CSS Tricks上了解更多关于盒模型和尺寸的信息

根据上下文,您可以根据需要覆盖(选项1)或重置整个区域的box-sizing(选项2)。

/* Box-sizing resets
 *
 * Reset individual elements or override regions to avoid conflicts due to
 * global box model settings of Bootstrap. Two options, individual overrides and
 * region resets, are available as plain CSS and uncompiled Less formats.
 */

/* Option 1A: Override a single element's box model via CSS */
.element {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}

/* Option 1B: Override a single element's box model by using a Bootstrap Less mixin */
.element {
  .box-sizing(content-box);
}

/* Option 2A: Reset an entire region via CSS */
.reset-box-sizing,
.reset-box-sizing *,
.reset-box-sizing *:before,
.reset-box-sizing *:after {
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
}

/* Option 2B: Reset an entire region with a custom Less mixin */
.reset-box-sizing {
  &,
  *,
  *:before,
  *:after {
    .box-sizing(content-box);
  }
}
.element {
  .reset-box-sizing();
}

无障碍性

Bootstrap遵循通用Web标准,并且——只需最少的额外努力——可用于创建对使用AT的人无障碍的网站。

跳过导航

如果您的导航包含许多链接并且在DOM中位于主要内容之前,请在导航之前添加一个跳转到主要内容链接(简单说明,请参阅这篇A11Y项目关于跳过导航链接的文章)。使用.sr-only类将在视觉上隐藏跳过链接,而.sr-only-focusable类将确保链接在获得焦点时变得可见(对于有视力的键盘用户)。

<body>
  <a href="#content" class="sr-only sr-only-focusable">Skip to main content</a>
  ...
  <div class="container" id="content" tabindex="-1">
    <!-- The main page content -->
  </div>
</body>

嵌套标题

在嵌套标题(<h1> - <h6>)时,您的主要文档标题应该是<h1>。后续标题应该逻辑地使用<h2> - <h6>,以便屏幕阅读器可以为您的页面构建目录。

HTML CodeSniffer宾夕法尼亚州立大学的AccessAbility了解更多信息。

颜色对比度

目前,Bootstrap中可用的一些默认颜色组合(例如各种样式按钮类、用于基本代码块的一些代码高亮颜色、.bg-primary 上下文背景辅助类,以及在白色背景上使用时的默认链接颜色)具有低对比度比率(低于推荐的4.5:1比率)。这可能对视力低下或色盲的用户造成问题。这些默认颜色可能需要修改以提高其对比度和可读性。

附加资源

许可证常见问题

Bootstrap在MIT许可证下发布,版权归2015年Twitter所有。简化为较小的部分,可以用以下条件描述。

它要求您:

  • 在您的作品中使用Bootstrap的CSS和JavaScript文件时,保留其中包含的许可证和版权声明

它允许您:

  • 免费下载和使用Bootstrap的全部或部分,用于个人、私人、公司内部或商业目的
  • 在您创建的包或分发中使用Bootstrap
  • 修改源代码
  • 授予子许可证以修改和分发Bootstrap给许可证中未包含的第三方

它禁止您:

  • 由于Bootstrap无担保提供,追究作者和许可证所有者的损害赔偿责任
  • 追究Bootstrap创建者或版权持有者的责任
  • 在没有适当归属的情况下重新分发Bootstrap的任何部分
  • 以任何可能声明或暗示Twitter认可您的分发的方式使用Twitter拥有的任何商标
  • 以任何可能声明或暗示您创建了相关Twitter软件的方式使用Twitter拥有的任何商标

它不要求您:

  • 在您可能组装的包含它的任何重新分发中包含Bootstrap本身的源代码,或您可能对其进行的任何修改
  • 将您对Bootstrap所做的更改提交回Bootstrap项目(尽管鼓励此类反馈)

完整的Bootstrap许可证位于项目仓库中以获取更多信息。

翻译

社区成员已将Bootstrap的文档翻译成各种语言。这些都不是官方支持的,可能并不总是最新的。

我们不帮助组织或托管翻译,我们只是链接到它们。

完成了新的或更好的翻译?打开拉取请求将其添加到我们的列表中。