Bootstrap 使用了一些 HTML5 元素和 CSS 属性。为了让这些正常工做,您须要使用 HTML5 文档类型(Doctype)。 所以,请在使用 Bootstrap 项目的开头包含下面的代码段。css
<!DOCTYPE html> <html> .... </html>
若是在 Bootstrap 建立的网页开头不使用 HTML5 的文档类型(Doctype),您可能会面临一些浏览器显示不一致的问题,甚至可能面临一些特定情境下的不一致,以至于您的代码不能经过 W3C 标准的验证。html
移动设备优先是 Bootstrap 3 的最显著的变化。git
在以前的 Bootstrap 版本中(直到 2.x),您须要手动引用另外一个 CSS,才能让整个项目友好的支持移动设备。github
如今不同了,Bootstrap 3 默认的 CSS 自己就对移动设备友好支持。web
Bootstrap 3 的设计目标是移动设备优先,而后才是桌面设备。这其实是一个很是及时的转变,由于如今愈来愈多的用户使用移动设备。bootstrap
为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放,须要在网页的 head 之中添加 viewport meta 标签,以下所示:浏览器
<meta name="viewport" content="width=device-width, initial-scale=1.0">
width 属性控制设备的宽度。假设您的网站将被带有不一样屏幕分辨率的设备浏览,那么将它设置为 device-width 能够确保它能正确呈如今不一样设备上。less
initial-scale=1.0 确保网页加载时,以 1:1 的比例呈现,不会有任何的缩放。布局
在移动设备浏览器上,经过为 viewport meta 标签添加 user-scalable=no 能够禁用其缩放(zooming)功能。字体
一般状况下,maximum-scale=1.0 与 user-scalable=no 一块儿使用。这样禁用缩放功能后,用户只能滚动屏幕,就能让您的网站看上去更像原生应用的感受。
注意,这种方式咱们并不推荐全部网站使用,仍是要看您本身的状况而定!
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<img src="..." class="img-responsive" alt="响应式图像">
经过添加 img-responsive class 可让 Bootstrap 3 中的图像对响应式布局的支持更友好。
接下来让咱们看下这个 class 包含了哪些 css 属性。
在下面的代码中,能够看到img-responsive class 为图像赋予了 max-width: 100%; 和 height: auto; 属性,可让图像按比例缩放,不超过其父元素的尺寸。
.img-responsive { display: inline-block; height: auto; max-width: 100%; }
这代表相关的图像呈现为 inline-block。当您把元素的 display 属性设置为 inline-block,元素相对于它周围的内容之内联形式呈现,但与内联不一样的是,这种状况下咱们能够设置宽度和高度。
设置 height:auto,相关元素的高度取决于浏览器。
设置 max-width 为 100% 会重写任何经过 width 属性指定的宽度。这让图片对响应式布局的支持更友好。
Bootstrap 3 使用 body {margin: 0;} 来移除 body 的边距。
请看下面有关 body 的设置:
body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.428571429; color: #333333; background-color: #ffffff; }
第一条规则设置 body 的默认字体样式为 "Helvetica Neue", Helvetica, Arial, sans-serif。
第二条规则设置文本的默认字体大小为 14 像素。
第三条规则设置默认的行高度为 1.428571429。
第四条规则设置默认的文本颜色为 #333333。
最后一条规则设置默认的背景颜色为白色。
使用 @font-family-base、 @font-size-base 和 @line-height-base 属性做为排版样式。
经过属性 @link-color 设置全局连接的颜色。
对于连接的默认样式,以下设置:
a:hover, a:focus { color: #2a6496; text-decoration: underline; } a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; }
因此,当鼠标悬停在连接上,或者点击过的连接,颜色会被设置为 #2a6496。同时,会呈现一条下划线。
除此以外,点击过的连接,会呈现一个颜色码为 #333 的细的虚线轮廓。另外一条规则是设置轮廓为 5 像素宽,且对于基于 webkit 浏览器有一个 -webkit-focus-ring-color 的浏览器扩展。轮廓偏移设置为 -2 像素。
以上全部这些样式均可以在 scaffolding.less 中找到。
Bootstrap 使用 Normalize 来创建跨浏览器的一致性。
Normalize.css 是一个很小的 CSS 文件,在 HTML 元素的默认样式中提供了更好的跨浏览器一致性。
<div class="container"> ... </div>
Bootstrap 3 的 container class 用于包裹页面上的内容。让咱们一块儿来看看 bootstrap.css 文件中的这个 .container class。
.container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
经过上面的代码,把 container 的左右外边距(margin-right、margin-left)交由浏览器决定。
请注意,因为内边距(padding)是固定宽度,默认状况下容器是不可嵌套的。
.container:before, .container:after { display: table; content: " "; }
这会产生伪元素。设置 display 为 table,会建立一个匿名的 table-cell 和一个新的块格式化上下文。:before 伪元素防止上边距崩塌,:after 伪元素清除浮动。
若是 conteneditable 属性出如今 HTML 中,因为一些 Opera bug,围绕上述元素建立一个空格。这能够经过使用 content: " " 来修复。
.container:after { clear: both; }
它建立了一个伪元素,并确保了全部的容器包含全部的浮动元素。
Bootstrap 3 CSS 有一个申请响应的媒体查询,在不一样的媒体查询阈值范围内都为 container 设置了max-width,用以匹配网格系统。
@media (min-width: 768px) { .container { width: 750px; }
Bootstrap 能够在最新的桌面系统和移动端浏览器中很好的工做。
旧的浏览器可能没法很好的支持。
下表为 Bootstrap 支持最新版本的浏览器和平台:
Chrome | Firefox | IE | Opera | Safari | |
---|---|---|---|---|---|
Android | YES | YES | 不适用 | NO | 不适用 |
iOS | YES | 不适用 | 不适用 | NO | YES |
Mac OS X | YES | YES | 不适用 | YES | YES |
Windows | YES | YES | YES* | YES | NO |
* Bootstrap 支持 Internet Explorer 8 及更高版本的 IE 浏览器。