我正在尝试使用Bootstrap 3创建一个布局,这将是一个重复的列表行:
.row
元素的元素(每个元素的高度可能不同)我已经部分工作了,但我有一个问题,右边的第一个.row
与图像的高度相同(里面的.col
是正确的高度)。然后其他行出现在下面。我想避免在每一行上定义绝对高度。
我在jsfiddle上做了一个例子:http://jsfiddle.net/yszAs/
另外,我不确定它是否正常/推荐,但是我给了右侧元素一类container
,它似乎有助于解决超出容器的行的部分行。
任何想法我做错了什么?
感谢您的建议,但他们并不是我想要实现的目标。
我已经得到了我需要第一列固定宽度的部分,第二列填充剩余空间。但是我的实现可能存在问题。
问题是第一列中内容的高度决定了第二列中第一个元素的高度
经过一番挖掘,看起来似乎自动包含在clearfix
元素中的row
导致问题 - 因为第一列(图像)浮动,元素得到这个高度。
我尝试在右列中给出第一个元素float: left
,这部分解决了问题 - 然后我遇到了浮动的问题! (见http://jsfiddle.net/gKtE3/)。
有什么想法吗?
答案 0 :(得分:0)
<强>更新强>
根据您的评论和新的小提琴。是的。有一个clearfix。您可以通过将溢出设置为auto(https://stackoverflow.com/a/9770351/1596547)来撤消.row clearfix。见:http://bootply.com/80492。 CSS:.row{margin:0; overflow:auto;}
- 结束更新 -
你的问题是由.row类的-15px的左边距(与左边的浮动组合)造成的。
解决方案使用.row {margin-left: 0px;}
或将.info
类的左边距设置为195px;
如果您允许对图像进行响应,请考虑将列嵌套为:
<div class="container">
<div class="img-and-info row">
<div class="col-xs-2">
<img src="http://dummyimage.com/180x120/" class="img-responsive">
</div>
<div class="info col-xs-10">
<div class="row">
<div class="col-xs-6">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam massa elit, lacinia ac dui et. </p>
</div>
<div class="col-xs-6">Col 2</div>
</div>
<div class="row">
<div class="col-xs-4">Col 1</div>
<div class="col-xs-8">Col 2</div>
</div>
<div class="row">
<div class="col-xs-9">Col 1</div>
<div class="col-xs-3">Col 2</div>
</div>
</div>
</div>
</div>
答案 1 :(得分:0)
我相信这就是你想要的:
<div class="container">
<div class="row">
<div class="img"></div>
<div class="container col-xs-8">
<div class="row">
<div class="col-xs-6">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam massa elit, lacinia ac dui et. </p>
</div>
<div class="col-xs-6">Col 2</div>
</div>
<div class="row">
<div class="col-xs-4">Col 1</div>
<div class="col-xs-8">Col 2</div>
</div>
<div class="row">
<div class="col-xs-9">Col 1</div>
<div class="col-xs-3">Col 2</div>
</div>
</div>
</div>
</div>
不确定右侧的预期行为是什么,固定宽度?可变宽度?
如果窗户不够大,不适合右侧,上面的小提琴会破裂。当固定宽度图像大于100减去右侧百分比宽度时会发生这种情况。