9

我花了更多的时间来尝试修复这个愚蠢的错误。我有一个显示在某些内容左侧的表单。在宽屏和窄屏上看起来都不错,但在平板电脑宽度上(它覆盖在 770 和 950 左右之间),右侧的内容与表单域重叠。

我是否在我的标记中遗漏了一些东西才能正确使用 Twitter Bootstrap,或者我是否需要使用断点添加一些自定义样式来修复它?似乎固定像素宽度导致了 bootstrap.css 中定义的问题。由于我使用的是流体响应布局,这些宽度属性不应该使用 % 吗?在此处输入图像描述

<div class="container-narrow">
  <div class="content">
    <div class="row-fluid">
      <div class="span5">
        <form class="form-horizontal" id="applies-Step1-form" action="/" method="post">
          <div class="control-group">
            <label class="control-label required" for="Step1_email">Email <span class="required">*</span></label>
            <div class="controls">
              <input size="60" maxlength="255" name="Step1[email]" id="Step1_email" type="text" />
            </div>
          </div>

          <div class="control-group">
            <label class="control-label required" for="Step1_home_zip">Home Zip <span class="required">*</span></label>
            <div class="controls">
              <input size="5" maxlength="5" name="Step1[home_zip]" id="Step1_home_zip" type="text" />
            </div>
          </div>
        </form>
      </div>

      <div class="span7">
        <div class="promo-btm">
          <h2>Heading 2</h2>
          <ul class="checks">
            <li>Bullet One</li>
            <li>Bullet Two</li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</div>

请参阅随附的错误截图,或者您可以使用我的fiddle自己重现它。

如果有人可以帮助指出解决此问题的方法,我将不胜感激!

4

3 回答 3

5

只需为您的输入元素添加一个宽度,这样它们就可以响应您的所有屏幕尺寸。.span12您可以在输入元素上使用诸如宽度之类的东西,这应该可以解决问题:

HTML

<div class="container-narrow">
  <div class="content">
    <div class="row-fluid">
      <div class="span5">
        <form class="form-horizontal" id="applies-Step1-form" action="/" method="post">
          <div class="control-group">
            <label class="control-label required" for="Step1_email">Email <span class="required">*</span></label>
            <div class="controls">
              <input class="span12" size="60" maxlength="255" name="Step1[email]" id="Step1_email" type="text" />
            </div>
          </div>

          <div class="control-group">
            <label class="control-label required" for="Step1_home_zip">Home Zip <span class="required">*</span></label>
            <div class="controls">
              <input class="span12" size="5" maxlength="5" name="Step1[home_zip]" id="Step1_home_zip" type="text" />
            </div>
          </div>
        </form>
      </div>

      <div class="span7">
        <h2>Heading 2</h2>
        <ul class="checks">
          <li>Bullet One</li>
        </ul>
      </div>
    </div>
  </div>
</div>

演示:http: //jsfiddle.net/yR7Ap/18/

于 2013-01-18T00:04:01.953 回答
1

其他帖子已查明问题的根本原因,即您的表单对于具有默认引导 css 的 span5 div 来说太宽了

不过,让它合身并不难。看看这是否有帮助:http: //jsfiddle.net/panchroma/FXXaZ/

我已经用这个 CSS 收紧了你的表单:

/* pull control label left */
.form-horizontal .control-label {
width:70px; /* default 160 */
}

/* pull input box left */
.form-horizontal .controls {
margin-left: 90px; /* defaul 180 */
}

/* shorten input box  */
input, textarea, .uneditable-input {
width: 180px; /* default 206 */
}

祝你好运!

于 2013-01-18T00:30:59.390 回答
0

您的表单对于 .span5 列来说太宽了。尝试在上面添加:

<div class="row-fluid">
  <div class="span5">hello</div>
  <div class="span7">world</div>
</div>

并添加以下样式:

.row-fluid > div { outline: 5px solid green; }

你会明白我的意思。

于 2013-01-17T23:53:46.587 回答