使用Bootstrap将行内联元素连接起来

时间:2015-06-18 13:33:39

标签: html css twitter-bootstrap

我使用Bootstrap 3来设计我的网站,我想在div中水平放置文本输入和3个按钮。这是我的标记:

<div style="width: 400px">
  <input class="form-control" type="text">
  <a class="btn" href="#">Button 1</a>
  <a class="btn" href="#">Button 2</a>
  <a class="btn" href="#">Button 3</a>
</div>

但是文本输入跨越整个div的宽度,按钮被推到它下面。

我已尝试将文字输入的显示模式设置为inlineinline-block,但它并没有改变任何内容。

帮助?

5 个答案:

答案 0 :(得分:8)

试试这个DEMO

<div class="form-inline">
    <div class="form-group">
        <input class="form-control" type="text">
    </div>
    <a class="btn btn-default" href="#">Button 1</a>
    <a class="btn btn-default" href="#">Button 2</a>
    <a class="btn btn-default" href="#">Button 3</a>
</div>

答案 1 :(得分:1)

我注意到class="form-control"负责跨越整个宽度的输入。此外,您应该删除width='400px'样式并使用引导类,或者只是将其设置为更大以包含四个元素。

请参阅此Fiddle

由于你使用的是Bootstrap 3,你应该试试这个:

<div style="width: 600px">
   <div class="row">
       <input class="col-md-3" type="text">
       <a href="#" class="btn btn-default col-md-3">Button 1</a>
       <a href="#" class="btn btn-default col-md-3">Button 2</a>
       <a href="#" class="btn btn-default col-md-3">Button 3</a>
   </div>
</div>

参见官方bootstrap 3 docs

答案 2 :(得分:0)

将它放在像这样的表单标签中

<form class="form-inline" role="form">
      <div style="width: 500px">
      <input class="form-control" type="text">
      <a class="btn" href="#">Button 1</a>
      <a class="btn" href="#">Button 2</a>
      <a class="btn" href="#">Button 3</a>
      </div>
</form>

还可以添加更多宽度或使按钮/文本更小,以便所有3都适合

答案 3 :(得分:0)

您的代码根据您的描述运作。所有三个按钮和文本字段都在同一行。可能是你没有正确链接bootstrap库。这是带引导链接的代码

  

<head>
  <script data-require="jquery@2.1.3" data-semver="2.1.3" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
  <script data-require="bootstrap@*" data-semver="3.3.2" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
  <link href="style.css" rel="stylesheet" />
  <script src="script.js"></script>
</head>

<body>
  <div style="width: 400px">
    <input type="text" class="form-control" />
    <a href="#" class="btn">Button 1</a>
    <a href="#" class="btn">Button 2</a>
    <a href="#" class="btn">Button 3</a>
  </div>
</body>

答案 4 :(得分:0)

如今正确的解决方案是使用flex https://getbootstrap.com/docs/4.0/utilities/flex/

 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<div class="d-flex flex-row bg-info">
  <div class="p-2 bg-warning">Flex item 1</div>
  <div class="p-2 bg-danger">Flex item 2</div>
  <div class="p-2 bg-secondary">Flex item 3</div>
</div>