我在使用Bootstrap的网站上有一个自定义的双列布局。我自己完成了列的css,因为Bootstrap本身似乎没有处理“一个固定的,一个流畅的”布局。这很好用,除非我尝试将一个表单放在较大的流体列中:
<style>
#filterColumn {
border: 1px solid #ececec;
float: left;
margin: 0 20px 40px 20px;
padding: 62px 10px 10px 10px;
width: 216px;
}
#detailsColumn {
border: 1px solid #ececec;
margin: 0px 20px 40px 275px;
padding: 72px 10px 10px 10px;
}
</style>
<body>
<div id="filterColumn">
<h4>Headline</h4>
<p>
Some text in here.
</p>
</div>
<div id="detailsColumn">
<h2>Here are my busted fields:</h2>
<form id="detailForm" class="form-horizontal" action="/action" method="post">
<div class="control-group">
<label for="input0" class="control-label">Input 0</label>
<div class="controls">
<input id="input0" name="input1" type="text" />
</div>
</div>
<div class="control-group">
<label for="input1" class="control-label">Input 1</label>
<div class="controls">
<input id="input1" name="input1" type="text" />
</div>
</div>
</div>
</body>
Bootstrap为表单元素设置样式,并包含一些清除内容以使其全部工作。对我来说问题是我左边的固定div会影响右侧流体div中元素的清除。基本上,表单的第一行是正确定位的,但所有后续行都被向下推到左侧div的内容之下,尽管不在其中。结果是我在输入列表中有一个巨大而丑陋的差距。我已经制作了一个jsFiddle,所以你可以看到我正在谈论的内容:
解决此问题的适当方法是什么?最初我只是将左侧列设置为绝对定位,因为它始终是左上角齐平。但是,当我向页面添加页脚时,它开始重叠两个页面,这是不可接受的。
是否有一种Bootstrap方法来解决这个问题,或者我是否应该添加/覆盖自己的属性以解决问题?
答案 0 :(得分:1)
你忘了向左边添加浮动以获取详细信息列。我在your example here上向两个ID添加了浮动并且它可以正常工作。
#filterColumn
{
background-color: #fefefe;
border: 1px solid #ececec;
border-radius: 8px;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
float: left;
width: 216px;
}
#detailsColumn {
background-color: #fefefe;
border: 1px solid #ececec;
border-radius: 8px;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
float: left;
width: 556px;
}