【问题标题】:How can I give Bootstrap select a normal height if there is nothing selected?如果没有选择任何内容,如何让 Bootstrap 选择正常高度?
【发布时间】:2022-02-04 22:16:29
【问题描述】:

我在我的页面中使用bootstrap select,我需要在页面加载时默认为空 (and value="")(这是必填字段,因此当用户提交表单时,将出现验证消息以防万一空)。

它确实有效,但看起来很奇怪/奇怪/太平:

这将是期望的结果:

我使用这个属性使选择看起来是空的:data-none-selected-text="",它实际上看起来是空的,但是太平了。

如果我删除该属性,我会得到这个我不想要的 Nothing selected 占位符:

如何使设计保持一致,无论是否选择某些东西,都保持相同的尺寸?

body {
  background-color: lightblue !important;
}
<head>
  <!-- Bootstrap CSS -->
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
  <!-- Bootstrap Select CSS -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
</head>

<body>
  <div class="container-fluid">
    <div class="row mt-3">
      <div class="col-sm">
        Project Manager <span style="color:red;">*</span>
      </div>

      <div class="col-sm">
        <select class="selectpicker show-tick w-100" data-none-selected-text="" multiple data-max-options="2" aria-label="Project Manager" required>
          <option value="Michal Jackson">Michael Jackson</option>
          <option value="Michael Jordan">Michael Jordan</option>
          <option value="Luke Skywalker">Luke Skywalker</option>
          <option value="Rafael Nadal">Rafael Nadal</option>
          <option value="Cristiano Ronaldo">Cristiano Ronaldo</option>
          <option value="Albert Einstein">Albert Einstein</option>
        </select>
      </div>
    </div>
  </div>

  <!-- Popper.js 5.0.2 JS -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.9.2/umd/popper.min.js"></script>
  <!-- Bootstrap 5.0.2 JS -->
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
  <!-- jQuery CDN -->
  <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
  <!-- Bootstrap Select JS BETA VERSION, UPDATE TO A STABLE VERSION COMPATIBLE WITH BS5 ONCE IT IS RELEASED-->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.14.0-beta2/js/bootstrap-select.min.js"></script>
</body>

【问题讨论】:

    标签: html twitter-bootstrap bootstrap-select


    【解决方案1】:

    您可以覆盖默认引导类并为此场景设置异常。

    .dropdown-toggle {
       height: 50px;
     }
    

    【讨论】:

    • 50px 太高了,你应该使用min-height 更灵活。
    【解决方案2】:

    如果您真的不想使用占位符文本,只需使用空白 HTML 空格 (&amp;nbsp;) 作为 data-none-selected-textplaceholder 属性值。任何一种方法都会导致选择框保持标准高度,其中没有可见文本。

    body {
      background-color: lightblue !important;
    }
    <head>
      <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
    </head>
    
    <body>
      <div class="container-fluid">
        <div class="row mt-3">
          <div class="col-sm">
            Data Attribute Example <span style="color:red;">*</span>
          </div>
    
          <div class="col-sm">
            <select class="selectpicker show-tick w-100" data-none-selected-text="&nbsp;" multiple data-max-options="2" aria-label="Project Manager" required>
              <option value="Michal Jackson">Michael Jackson</option>
              <option value="Michael Jordan">Michael Jordan</option>
              <option value="Luke Skywalker">Luke Skywalker</option>
              <option value="Rafael Nadal">Rafael Nadal</option>
              <option value="Cristiano Ronaldo">Cristiano Ronaldo</option>
              <option value="Albert Einstein">Albert Einstein</option>
            </select>
          </div>
        </div>
    
        <div class="row mt-3">
          <div class="col-sm">
            Placeholder Example <span style="color:red;">*</span>
          </div>
    
          <div class="col-sm">
            <select class="selectpicker show-tick w-100" placeholder="&nbsp;" multiple data-max-options="2" aria-label="Project Manager" required>
              <option value="Michal Jackson">Michael Jackson</option>
              <option value="Michael Jordan">Michael Jordan</option>
              <option value="Luke Skywalker">Luke Skywalker</option>
              <option value="Rafael Nadal">Rafael Nadal</option>
              <option value="Cristiano Ronaldo">Cristiano Ronaldo</option>
              <option value="Albert Einstein">Albert Einstein</option>
            </select>
          </div>
        </div>
      </div>
    
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.9.2/umd/popper.min.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
      <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.14.0-beta2/js/bootstrap-select.min.js"></script>
    </body>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-10
      • 2019-08-14
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      相关资源
      最近更新 更多