【问题标题】:Bootstrap input form into a paragraph引导输入表单进入段落
【发布时间】:2017-07-17 07:55:21
【问题描述】:

我正在尝试使用 Bootstrap 将输入表单放入段落中。但是,它总是跳到新的一行。

我想要的是,或多或少,是这样的:

但是,我明白了:

我能做什么?这是我的代码:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div id="text" class="form-inline">
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod...</p>
  <div class="input-group">
    <select class="form-control" id="sel1" style="width:auto;">
      <option>nope</option>
      <option selected>tempor</option>
      <option>not this one</option>
      <option>wrong</option>
    </select>
    <span class="input-group-addon" style="width:auto;">select option</span>
  </div>
  <p>...incididunt ut labore et dolore magna aliqua.</p>
  <br>
</div>

【问题讨论】:

  • 它将进入下一行,因为&lt;div&gt;&lt;p&gt; 是块元素

标签: javascript html twitter-bootstrap


【解决方案1】:

style="display: inline" 添加到&lt;p&gt; 元素和style="display: inline-block"class="input-group"

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div id="text" class="form-inline">
  <p style="display: inline">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod...</p>
  <div class="input-group" style="display: inline-block">
    <select class="form-control" id="sel1" style="width:auto;">
      <option>nope</option>
      <option selected>tempor</option>
      <option>not this one</option>
      <option>wrong</option>
    </select>
    <span class="input-group-addon" style="width:auto;">select option</span>
  </div>
  <p style="display: inline">...incididunt ut labore et dolore magna aliqua.</p>
  <br>
</div>

【讨论】:

  • 如果您可以使用 OP 的代码而不是图像来展示您的答案,那就更好了
  • 我最初添加了它,但它有格式问题并且没有显示在答案中。它现在正在工作。
  • 难怪&lt;select&gt;有不同的外观,我忘了包括Bootstrap。
  • 不起作用。这就是我得到的:imgur.com/xaT0wyJ span class="input-group-addon" 的大小与表单控件不同。此外,如果屏幕宽度太大,它们只会在同一行。这不会在移动设备上发生。
  • 此外,我通过复制您的代码使所有文本中心对齐,但我不明白为什么:(
【解决方案2】:

在同一行中显示像&lt;p&gt;&lt;div&gt;这样的块元素的最佳方法是使用inline block。你也可以使用inline。 但是 inline 和 inline-block 之间的主要区别是, inline-block 允许您指定元素的尺寸、内边距和边距,而 inline 只是包裹元素。

这是working fiddle

CSS:

#block1, #block2, #block3
{
    display:inline-block;
}

HTML:

<div id="text" class="form-inline">
  <p id="block1">Lorem ipsum ....</p>
  <div id="block2">
  <div class="input-group">
    <select class="form-control" id="sel1" style="width:auto;">
      <option>nope</option>
      <option selected>tempor</option>
      <option>not this one</option>
      <option>wrong</option>
    </select>
    <span class="input-group-addon" style="width:auto;">select option</span>
  </div>
   </div>
  <p id="block3">...inct labore et dolore magna aliqua.</p>

</div>

** 删除一些文本以正确理解功能。

【讨论】:

  • 仅当文本很短(如您的示例)时,表单和文本才在同一行,但如果屏幕宽度较小(如移动设备),则不适合。
  • 这是一种预期的行为......如果没有足够的空间,p 标记之后div 将显示在新行但实际上这些元素是内联的。
猜你喜欢
  • 2016-05-15
  • 2016-06-09
  • 1970-01-01
  • 2022-08-02
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-24
相关资源
最近更新 更多