【问题标题】:Why are these bootstrap forms tripping over themselves?为什么这些引导程序会绊倒自己?
【发布时间】:2012-08-23 23:05:30
【问题描述】:

Here is my Bootstrap form on jsfiddle。它具有以下基本结构:

-------------------------------------------------
|                    Span 12                    |
|   ----------------------------   ----------   |
|   |  ----------  ----------  |   |        |   |
|   |  |        |  |        |  |   |        |   |
|   |  | Span 4 |  | Span 4 |  |   | Span 4 |   |
|   |  |        |  |        |  |   |        |   |
|   |  ----------  ----------  |   |        |   |
|   |           Span 8         |   |        |   |
|   ----------------------------   ----------   |
|                                               |
-------------------------------------------------

例如

<div class="span12">
    <div class="row">
        <div class="span8">
            <div class="row">
                <div class="span4"></div>
                <div class="span4"></div>
            </div>
            <div class="row"></div>
        </div>
        <div class="span4"></div>
    </div>
</div>​

我的问题是表单似乎相互绊倒。例如,有一个标签叫做“一个异常长的标签”,之后的标签并没有干净地转到下一行,而是停留在它的右侧。我认为我的 DateFacility 标签也发生了类似的情况,因为 Facility 位置不合适。最后,表格实际上并没有留在他们的盒子里。右侧 Span4 块中的标签与左侧的 Span4 重叠。我在做什么导致所有这些问题?

【问题讨论】:

  • 您不应该使用row-fluid 而不是row吗?
  • Here it is with row-fluid。我认为使用row-fluid 只是使示例复杂化。另外,如果您使用row-fluid,它不会在调整大小时弹出框。
  • 我的意思是最上面的容器行jsfiddle.net/nxWXd/3
  • @João 啊,解决了重叠问题。为什么它会修复它?为什么.span4 框的长度似乎不同?
  • row 使用的是固定宽度布局,这意味着内容将压缩以适应该区域,而 row-fluid 是基于百分比的。看看这个答案 (stackoverflow.com/a/9897227/140816)。

标签: forms twitter-bootstrap


【解决方案1】:

朋友,

如果您想使用固定宽度布局和表单水平来完成该布局,则表单将不适合 span4 列。您可以为此目的使用基本形式,方法是使用

 <form class="well">.

此外,您必须实现行和列的正确嵌套。像这样,

<div class="row-fluid">
    <div class="span8">
        <div class="row-fluid">
            <div class="span4">
                Some Content Here...
            </div>
            <div class="span4">
                Some Content Here...
            </div>
        </div><!-- row-fluid end-->
    </div><!-- span8 end-->

    <div class="span4">
        Some Content Here...
    </div><!-- span4 left-col end-->
</div><!--row fluid end-->

如果你想用表单填充列,这里有一个例子......

<div class="row">
<div class="span8">
    <div class="row">
        <div class="span4">
            <form class="well">
                <label>Label name</label>
                <input type="text" placeholder="Type something…" class="span3">
                <p class="help-block">Example block-level help text here.</p>
                <label class="checkbox">
                  <input type="checkbox"> Check me out
                </label>
                <button class="btn" type="submit">Submit</button>
            </form>
        </div>
        <div class="span4">
        <form class="well">
            <label>Label name</label>
            <input type="text" placeholder="Type something…" class="span3">
            <p class="help-block">Example block-level help text here.</p>
            <label class="checkbox">
              <input type="checkbox"> Check me out
            </label>
            <button class="btn" type="submit">Submit</button>
        </form>
        </div>
    </div>
</div><!-- span8 end-->

<div class="span4" id="side">
    <form class="well">
        <label>Label name</label>
        <input type="text" placeholder="Type something…" class="span3">
        <p class="help-block">Example block-level help text here.</p>
        <label class="checkbox">
          <input type="checkbox"> Check me out
        </label>
        <button class="btn" type="submit">Submit</button>
    </form>
 </div><!--row fluid end-->

上面的那些代码应该会呈现类似于图像的输出

【讨论】:

  • 谢谢!我想知道多个form 元素是否会搞砸,因为它们实际上都是一个表单并且都通过同一个按钮提交。此外,在您的示例中,输入位于标签下方的行中——按照我的方式做错了吗?
  • 您的标记有问题,但我没有费心仔细检查您的代码。对于带有标签的输入的语义标记,它应该是 。从我的例子来看,是的,标签应该在输入字段之前输入。
  • 抱歉,有什么问题吗?它缺少for 属性?我相信这是可选的。
  • 哦,我不是说标签搞砸了你的文档。
猜你喜欢
  • 1970-01-01
  • 2021-04-18
  • 2019-09-22
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
相关资源
最近更新 更多