【问题标题】:word wrap in select option menu选择选项菜单中的自动换行
【发布时间】:2019-12-28 05:53:15
【问题描述】:

如何将文本包裹在选项菜单中?我想要选择选择器宽度之后的选项值。短文本效果很好,但不适用于长文本。

我在这个论坛中尝试了很多东西,但没有任何效果。我正在使用bootstrap classes,还没有其他css

选择带有短文本的选项菜单

选择带有长文本的选项菜单

  <div class="form-group col-md-5">
                        <label for="programstrategis_id">Program Strategis</label>
                        <select id="programstrategis_id"
                            class="selectpicker data-content form-control @error ('programstrategis_id') is-invalid @enderror"
                            name="programstrategis_id">
                            <option selected disabled>--silahkan pilih program strategis berikut--</option>
                            @foreach ($programstrategis_id as $dataprogramstrategis)
                            <option value="{{ $dataprogramstrategis->id }}">{{$dataprogramstrategis->program_strategis}}
                            </option>

                            @endforeach
                        </select>
                        @error('programstrategis_id')
                        <div class="invalid-feedback">
                            {{ $message }}
                        </div>
                        @enderror
                    </div>

                    <div class="form-group col-md-5">
                        <label for="sasaran_id">Sasaran</label>
                        <select id="sasaran_id"
                            class="selectpicker form-control @error ('sasaran_id') is-invalid @enderror"
                            name="sasaran_id">
                            <option selected disabled>--silahkan pilih sasaran berikut--</option>
                            @foreach ($sasaran_id as $datasasaran)
                            <option value="{{ $datasasaran->id }}">{{$datasasaran->sasaran}}</option>
                            @endforeach
                        </select>
                        @error('sasaran_id')
                        <div class="invalid-feedback">
                            {{ $message }}
                        </div>
                        @enderror
                    </div>

【问题讨论】:

  • 您不能自动换行原生选择标签,但您可以使用 jquery 插件

标签: html css


【解决方案1】:

我正在使用引导类,还没有额外的 css。

由于您使用的是引导程序,因此您可以使用&lt;div&gt;&lt;a&gt; 标签而不是&lt;select&gt; 创建下拉菜单。里面的文字更容易换行。

您可以为dropdown-menu 类设置默认宽度,并为所有子项.dropdown-item 更新white-space 属性。

.dropdown-menu {
  width: 170px;
}

.dropdown-menu .dropdown-item {
  white-space: normal;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

<div class="dropdown">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown button
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
    <a class="dropdown-item" href="#">Something else here Something else here Something else here Something else here Something else here Something else here Something else here</a>
  </div>
</div>

【讨论】:

    【解决方案2】:

    仅使用 CSS,根据需要手动换行文本。请注意,用于换行文本的选项是“禁用”的,因此只能选择“标题”,但如果需要,可以撤消。

        <select style="width: 150px;">
        <option selected="selected" disabled>Wrap Demo</option>
        <option>-- All --</option>
        <option>Title A</option>
        <option disabled>&nbsp;&nbsp;Lorem ipsum dolor sit amet, consectetur adipiscing elit, </option>
        <option disabled>&nbsp;&nbsp;sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </option>
        <option>Title B</option>
        <option disabled>&nbsp;&nbsp;Lorem ipsum dolor sit amet, consectetur adipiscing elit, </option>
        <option disabled>&nbsp;&nbsp;sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </option>
        <option>Title C</option>
        <option disabled>&nbsp;&nbsp;Lorem ipsum dolor sit amet, consectetur adipiscing elit, </option>
        <option disabled>&nbsp;&nbsp;sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </option>
        </select>
    

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 2022-10-17
      • 2021-10-29
      • 2012-01-24
      • 2011-05-25
      • 2015-03-28
      • 2015-10-12
      相关资源
      最近更新 更多