Bootstrap 5.1 导航栏dropup菜单搜索框从右向左弹出实现咨询
解决方案
Bootstrap 5 内置了下拉/上拉菜单对齐的专用类,无需编写复杂自定义CSS,仅需1步即可实现需求:
给你的.dropdown-menu元素添加dropdown-menu-end类,该类会让上拉菜单的右边缘与触发按钮的右边缘对齐,菜单整体向左侧展开,不会超出屏幕右侧边界。
修改后的完整代码如下:
.btn-group { margin: 50px; }
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <div class="btn-group dropup"> <button type="button" class="btn btn-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <span class="material-icons"> search <a class="navbar-brand" href="#"></a> </span> </button> <!-- 仅新增了dropdown-menu-end类 --> <ul class="dropdown-menu dropdown-menu-end"> <div class="form-outline" id="search"> <input type="search" id="form1" class="form-control" placeholder="Trouvez une recette!" aria-label="Search" /> </div> </ul> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
可选优化
如果希望限制搜索框的最大宽度,避免在宽屏设备上展开过长,可以给input元素添加max-width样式,示例:
<input type="search" id="form1" class="form-control" style="max-width: 300px" placeholder="Trouvez une recette!" aria-label="Search" />
内容的提问来源于stack exchange,提问作者uGiveUp
相关产品推荐
相关产品推荐

