html - 选择选项菜单中的自动换行

标签 html css

如何将文本换行到选项菜单中?我想要选项值跟随选择器的宽度。短文本效果很好,但不适用于长文本。

我在这个论坛中尝试了很多方法,但没有任何效果。我正在使用 bootstrap 类,并且还没有额外的 css

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

enter image description here

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

enter image description here

  <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>

最佳答案

I'm using bootstrap classes and no additional css yet.

由于您使用的是 Bootstrap ,因此您可以使用 <div> 创建下拉菜单或<a>标签而不是 <select> 。将文本换行在里面会更容易。

您可以设置 dropdown-menu 的默认宽度类(class)和更新white-space所有子元素的属性 .dropdown-item .

.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/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0a7a657a7a6f782460794a3b243b3c243a" rel="noreferrer noopener nofollow">[email protected]</a>/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>

关于html - 选择选项菜单中的自动换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59508496/

相关文章:

html - 当我调整浏览器大小时,我的元素相互重叠

html - 变换 : Rotate background-color

html - 如何使用伪选择器仅使用 CSS 将 "Home"按钮更改为图标?

CSS玻璃状轻微折叠边框3D效果

javascript - jquery 多标签 slider 过滤器表更改

html - Google Adsense 响应式添加未正确显示

jquery - 将 Geocomplete 插件放入 Bootstrap 模态

css - 缩放不同分辨率的背景高度

html - 在文本分隔符的第二行之前添加空格

css - 如何从该固定 div 的下方开始内容?