在Chrome更新(73.0.3683.75)后,我的弹性布局完全崩溃了。
已知并讨论了该问题此处和这里 SO 上, 但我不懂 CSS 和 Flex 很好,无法理解它们的修复方法并使其在我的情况下起作用。
我创建了一个 Plunker(代码仓库网站), 重现了此问题。如果您在 Safari 中打开它,然后在 Chrome 中打开它,缩放窗口时会注意到非常不同的行为。
我的代码有什么问题 (之前是可以工作的)?
以下是 Plunker 的两个演示:
已知并讨论了该问题此处和这里 SO 上, 但我不懂 CSS 和 Flex 很好,无法理解它们的修复方法并使其在我的情况下起作用。
我创建了一个 Plunker(代码仓库网站), 重现了此问题。如果您在 Safari 中打开它,然后在 Chrome 中打开它,缩放窗口时会注意到非常不同的行为。
我的代码有什么问题 (之前是可以工作的)?
以下是 Plunker 的两个演示:
Safari 显示 (OK)
如您所见,当调整窗口大小时,文章项高度会减小,而全局高度保持在 100% ,没有溢出。 这是预期行为。Chrome 显示 (NOT OK)
但在新版Chrome中,当调整窗口大小时,文章项高度不会改变,并且会创建一个滚动条。 <head>
<link data-require="bootstrap@*" data-semver="4.1.3" rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" />
<script data-require="bootstrap@*" data-semver="4.1.3" src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<div class="container-fluid h-100 pt-3 pb-3"
style="background-color: green;">
<div class="row h-100">
<div class="col" style="background-color: red;">
<div class="h-100">
<div class="row justify-content-center h-100">
<div class="col u-hide-long-text h-100">
<div class="list-group h-100 list-group-flush">
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
<a class="list-group-item d-flex align-items-center justify-content-between list-group-item-action">article n°X</a>
</div>
</div>
</div>
</div>
</div>
</div
</div>
</body>
</html>
注意:最新版本的 Firefox 也无法正常运行。
.col
中添加height: 100%
或类h-100
。在我这里解释:https://dev59.com/51wZ5IYBdhLWcg3wM97Z#31728799 - Michael Benjamin