我在使用 Twitter Bootstrap 时遇到了一个非常奇怪的问题。我正在使用通过 Bootstrap 网站中的“自定义”页面下载的自定义版本的 Bootstrap。我正在使用自定义版本,因为我需要使用 24 列而不是 12 列,以便为我提供所需的各种列宽。
这些是我在 Bootstrap 网站上的自定义表单中输入的自定义值:
@gridColumns 24px
@gridColumnWidth 30px
@gridGutterWidth 10px
我把所有选项都选中了,除了响应复选框。我正在构建的站点将仅是固定宽度,因此我关闭了所有五个响应选项。
下载文件后,我创建了一个非常基本的 HTML 页面来测试网格系统。
这是 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap 101 Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="assets/css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span9" style="background: #F00;">SPAN 9 COLUMN</div>
<div class="span15" style="background: #0F0;">SPAN 15 COLUMN</div>
</div>
</div>
</header>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
</body>
</html>
问题是浏览器似乎忽略了在 bootstrap.min.css 文件中设置的 .row 和 .spanXX 样式上设置的 CSS 宽度。我检查了 CSS 文件,宽度肯定包括在内:
bootstrap.min.css 的第 42-90 行
.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:974;}
.span24{width:974;}
.span23{width:933;}
.span22{width:892;}
.span21{width:851;}
.span20{width:810;}
.span19{width:769;}
.span18{width:728;}
.span17{width:687;}
.span16{width:646;}
.span15{width:605;}
.span14{width:564;}
.span13{width:523;}
.span12{width:482;}
.span11{width:441;}
.span10{width:400;}
.span9{width:359;}
.span8{width:318;}
.span7{width:277;}
.span6{width:236;}
.span5{width:195;}
.span4{width:154;}
.span3{width:113;}
.span2{width:72;}
.span1{width:31;}
.offset24{margin-left:994;}
.offset23{margin-left:953;}
.offset22{margin-left:912;}
.offset21{margin-left:871;}
.offset20{margin-left:830;}
.offset19{margin-left:789;}
.offset18{margin-left:748;}
.offset17{margin-left:707;}
.offset16{margin-left:666;}
.offset15{margin-left:625;}
.offset14{margin-left:584;}
.offset13{margin-left:543;}
.offset12{margin-left:502;}
.offset11{margin-left:461;}
.offset10{margin-left:420;}
.offset9{margin-left:379;}
.offset8{margin-left:338;}
.offset7{margin-left:297;}
.offset6{margin-left:256;}
.offset5{margin-left:215;}
.offset4{margin-left:174;}
.offset3{margin-left:133;}
.offset2{margin-left:92;}
.offset1{margin-left:51;}
经过多次反复试验,我发现如果我完全删除 HTML 文件顶部的 Doctype 行,页面将正确显示!此行为在 Firefox (19.02) 和 IE 10 上是一致的。
当我在 Firebug 中检查 rowXX 和 span DIV 标签时,当 HTML 中包含 DOCTYPE 行时,CSS 被指示为空 - 请参阅下面的附加屏幕截图。
来自 Firefox 的截屏,其中 Doctype 从 HTML 中删除:http: //tinypic.com/r/24gp1er/6
来自 Firefox 的截屏,文档类型包含在 HTML 中: http ://tinypic.com/r/13ye05g/6
提前感谢您提供任何有助于解决此问题的建议。