0

我在使用 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

提前感谢您提供任何有助于解决此问题的建议。

4

1 回答 1

1

您的 CSS 文件可能有问题。首先@gridColumns 24px应该是@gridColumns 24(即,指定列数,而不是宽度。

检查http://fiddle.jshell.net/panchroma/pegjC/show/jsFiddle的结果和页面源

您可以从https://dl.dropbox.com/u/2665617/bootstrap-24grid/css/bootstrap.csshttps://dl.dropbox.com/u/2665617/bootstrap获取我的自定义 24col css 版本-24grid/css/bootstrap.min.css

希望这可以帮助!

于 2013-04-02T18:54:53.810 回答