Bootstrap - 选择和按钮彼此相邻

Tsc*_*eck 23 css twitter-bootstrap

我有一个<select>和一个按钮彼此相邻,并希望用引导程序来设置它们. Select没有类看起来像这样:

在此输入图像描述

selectclass="form-control"这个样子的: 在此输入图像描述

请注意,该按钮现在处于选择状态.我不确定,哪个CSS属性对此负责.我应该更改什么,在选择旁边有按钮?

Luk*_*uke 32

你可以包装<select><button>input-group:

<div class="input-group">
  <select class="form-control">
    <option>Select option..</option>
    <option>Option 1</option>
    <option>Option 2</option>
  </select>            
  <span class="input-group-btn">
    <button class="btn btn-default" type="button" tabindex="-1"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

这样您就可以使用普通表单,只需将一个选择和按钮组合在一起.

查看JSFiddle示例

  • 正如抬头一样,官方的Bootstrap指出,应该避免在`input-group`中使用`<select>`元素,因为它们无法在WebKit浏览器中完全设置样式(例如Safari和Chrome).通过查看Chrome中链接的jsfiddle可以很容易地看到这一点.该按钮不太适合选择,因为它仍然有弯曲的边缘.我目前不知道这个问题的解决方案. (2认同)

Pim*_*Web 13

遵循Boostrap语法:

您应该form-inline在表单中添加类,请参阅官方文档

官方的例子

<form class="form-inline" role="form">
  <div class="form-group">
    <label class="sr-only" for="exampleInputEmail2">Email address</label>
    <input type="email" class="form-control" id="exampleInputEmail2" placeholder="Enter email">
  </div>
  <div class="form-group">
    <div class="input-group">
      <div class="input-group-addon">@</div>
      <input class="form-control" type="email" placeholder="Enter email">
    </div>
  </div>
  <div class="form-group">
    <label class="sr-only" for="exampleInputPassword2">Password</label>
    <input type="password" class="form-control" id="exampleInputPassword2" placeholder="Password">
  </div>
  <div class="checkbox">
    <label>
      <input type="checkbox"> Remember me
    </label>
  </div>
  <button type="submit" class="btn btn-default">Sign in</button>
</form>
Run Code Online (Sandbox Code Playgroud)


小智 7

另一种方法是将控件包装在一个flexdiv 中:

<div style="display: flex;">
  <select class="form-control">...</select>
  <!-- optional spacer: <div style="width: 8px;" /> -->
  <button type="button" class="btn btn-default">Click Me!</button>
</div>
Run Code Online (Sandbox Code Playgroud)


MrU*_*own 5

引导程序4

使用辅助类!d-flex会做得很好。

body {

  padding-top: 20px;
}
Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

<div class="container">
  <div class="row">
    <div class="col-12">

      <!-- Wrap your 2 elements in a d-flex -->

      <div class="d-flex">
        <select class="form-control mr-2">
          <option value="1">One</option>
          <option value="2">Two</option>
          <option value="3">Three</option>
        </select>
        <input type="button" class="btn btn-secondary" value="Select" />
      </div>

    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)