必须Bootstrap容器元素包含行元素?
从阅读文档看来, .container
是.row
和包含.spanX
(其中x总数为12)的div的“父”包装器。 但是,它们的导航示例中似乎没有.row
。
此外,在他们的文档网站上, .container
由几个navbar相关的div包装。
任何人都可以详细介绍一下框架应该如何工作? 我是新来的。
.row
类在.row
是不需要的,但是当你开始需要多行时,最好还是包含它。
.row
的确.row
是确保它里面的所有div都出现在自己的行上,与前面的和后面的.rows
。
对于.navbar
div内的.navbar
,这是一个单独的东西,需要使导航栏与页面的其余部分一致。 如果你仔细看看呈现的HTML,你会发现另一个.container
不在任何.navbar
div里面,那是所有主要内容。
一个完整的例子
<div class="container"> <div class="row"> <!-- These divs are inline and do NOT fill up the full 12 columns --> <div class="span4">...</div> <div class="span4">...</div> </div> <!-- This is a automatically a new line of divs --> <div class="row"> <!-- This div will appear below the previous row, even though it would fit next to the other divs --> <div class="span4"></div> </div> <!-- These will appear in their own row, but may act unexpectedly in certain situations --> <div class="span4"></div> <div class="span4"></div> </div>
简而言之
.row
定义了一行div,就像名字所暗示的那样。 每一个表示一个新的线路,不pipe上面的线路是否满。
答案比给出的要简单得多。 不, .container
不必包含任何特定的代码,它不包含什么包含它…
什么。 .container
做的是作为一个“包装”来“包含”它的任何和所有元素的大小。 .container
可以包装页面或组件。 因此,如果您想要一个类似于Twitter Bootstrap文档的页面,双方的“固定”宽度和相等的边距,则只需一个.container
即可将所有内容封装在页面上。
.container
还有其他用途。 你有没有注意到Bootstrap的文档( .navbar-fixed-top
)中的顶级导航栏是如何跨越整个屏幕宽度的,但导航.navbar-fixed-top
的导航项是“包含”在内容的宽度上的? 这是因为.navbar-fixed-top
不在.container
里面,而是在里面的.nav
。
引导程序网格由12列组成,只要它们合计为12,就可以在一行中以任意组合进行调整。您可以将它们想象成包含行,例如表行的喜欢行,这意味着分隔不同的行的内容。 在网格中, .row
容器有一个单独的任务,并在那里(和要求)重新调整最后的网格列的排水沟宽度,这取决于屏幕大小(如果包含响应表)。 如果你看看.row
类的CSS,你会注意到它有一个margin-left:-30px
属性margin-left:-30px
默认情况下是margin-left:-30px
(根据屏幕大小,它可以更大或者更小),这个属性意味着“删除“行中最后一列的排水沟; 没有它,电网不会重新调整排水沟,它会打破第二线。
现在, .row
容器是.row
容器的一个子.container
是因为.row
容器只是为了分隔内容的“行”,而不是在页面的中心内容中包含章节和更多内容。 因此,导航示例之所以没有导航示例,可能是由于导航元素缺less宽度的缘故,因为它是一个完整的块元素而不是一个网格,所以没有必要重置最后一个松散的阴沟。