html - 移动设备上的 Bootstrap Dropdown 左/右位置错误
问题描述
我在我们的 Web 应用程序中有一个难以理解的问题。我已将页面减少到最低限度,这里是:
https://www.aschemeier.net/bug1.html
在桌面上一切正常。当我在 Firefox 浏览器(屏幕尺寸设置为 iPhone)或 Android 智能手机(Chrome 浏览器)上测试页面时,当我打开底部的下拉菜单时出现显示错误。在桌面上的移动仿真中,点击几下大约 200px 后,触摸输入被注册,在智能手机上,图片跳起来,你不能再向下滚动了。如果我降低红框容器的高度,它会从某个限制开始工作。如果我不打开左侧的菜单(dropleft)也没有问题,但此时我需要这个功能。
我希望有一个人可以帮助我。谢谢
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Alle globalen, externen Javascript Dateien -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js" integrity="sha384-1CmrxMRARb6aLqgBO7yyAxTOQE2AKb9GfXnEo760AUcUmFx3ibVJJAzGytlQcNXd" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
<title>bug sample</title>
</head>
<body>
<div class="container mb-5 mt-4">
<div class="card">
<div class="card-body" style="height:1000px; border:2px solid #f00;"></div>
</div>
<div class="mt-4">
<div class="row">
<div class="col-md-1 col-4">AB</div>
<div class="col-md-2 col-4">AB</div>
<div class="col-md-1 col-4">
<!-- Split dropleft button -->
<div class="btn-group">
<div class="btn-group dropleft" role="group">
<button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropleft</span>
</button>
<div class="dropdown-menu">
<!-- Dropdown menu links -->
</div>
</div>
<button type="button" class="btn btn-secondary">
Split dropleft
</button>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
解决方案
我会通过将一个expander
类分配给父类并在每次单击按钮时row
切换类来处理它。expander
示例 CSS:
.expanded-row {
min-height:30vh;
}
切换类:
$( ".dropdown-toggle" ).click(function() {
$( ".row" ).toggleClass( "expanded-row" );
});
我希望它有所帮助。
推荐阅读
- bash - 如果三个实例,删除行
- javascript - 如何在不触发渲染方法的情况下将数据传递给父组件
- python - Django - 如何根据条件在模板中声明变量
- io - Fortran read statement's iostat parameter returning code 5001
- javascript - 根据渲染时的父高度随机设置元素的顶部属性
- google-apps-script - 在 GAS 中调用工作表函数
- python - 如何阻止 Kivy 在 RecycleView 中自动选择模数项?
- arrays - 在 Swift 中的 for 循环中存储新数组
- python - 如何在python中的字典中搜索多个值?
- reactjs - 如何在 reactJS 环境中查找、添加、删除 MongoDB 中的数据库条目