You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery Select2插件避免标签折行并实现单行显示?

解决Select2多选标签单行显示并启用水平滚动的问题

要实现Select2多选标签单行显示、超出容器时水平滚动,且输入框与标签保持同行,只需覆盖默认CSS样式即可,具体方案如下:

自定义CSS样式

添加以下样式修改Select2的默认布局行为:

/* 调整多选容器滚动方向,禁用垂直滚动 */
.select2-container--bootstrap-5 .select2-selection--multiple {
  overflow-y: hidden;
  overflow-x: auto;
  white-space: nowrap;
}

/* 强制标签容器单行排列,输入框紧跟标签 */
.select2-container--bootstrap-5 .select2-selection__rendered {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5rem;
}

/* 避免输入框被压缩,设置最小宽度 */
.select2-container--bootstrap-5 .select2-search--inline .select2-search__field {
  flex-shrink: 0;
  min-width: 150px;
}

完整示例代码

将上述CSS嵌入页面,完整可运行代码如下:

<!doctype html>
<html lang="en" class="h-100">
<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">
  <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>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" />
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.min.css" />
  <script src="https://code.jquery.com/jquery-3.6.4.slim.min.js" integrity="sha256-a2yjHM4jnF9f54xUQakjZGaqYs/V1CYvWpoqZzC2/Bw=" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
  
  <!-- 自定义样式 -->
  <style>
    .select2-container--bootstrap-5 .select2-selection--multiple {
      overflow-y: hidden;
      overflow-x: auto;
      white-space: nowrap;
    }
    .select2-container--bootstrap-5 .select2-selection__rendered {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 0.5rem;
    }
    .select2-container--bootstrap-5 .select2-search--inline .select2-search__field {
      flex-shrink: 0;
      min-width: 150px;
    }
  </style>
  
  <script>
    $(document).ready(function() {
      $("#token-ids").select2({
        theme: "bootstrap-5",
        placeholder: "Enter Values Here",
        tags: true,
        tokenSeparators: [',', ' '],
      });
    });
  </script>
</head>
<body>
  <select class="form-control" id="token-ids" name="token-ids[]" multiple="multiple"></select>
</body>
</html>

效果说明

  • 所有多选标签保持单行排列,超出容器宽度时自动显示水平滚动条
  • 输入框始终紧跟最后一个标签后方,不会被挤到下一行
  • 保留原有标签间距与垂直对齐效果,不破坏原有UI风格

内容的提问来源于stack exchange,提问作者charan vendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:02:57