Tôi đang cố tạo bố cục bằng các tab và danh sách không theo thứ tự mở rộng theo chiều dọc đến 100% chiều cao của vùng chứa. Tôi đã làm cho nó hoạt động như mong đợi trong Chrome và thậm chí cả IE11 mà không gặp nhiều rắc rối.Thùng chứa flexbox của tôi có thêm đệm trong Firefox
Tuy nhiên, Firefox dường như có một chút khó khăn khi UL mở rộng khoảng 20px bên ngoài vùng chứa trong trường hợp của tôi.
Ảnh chụp màn hình của những gì đang xảy ra:
HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="script.js"></script>
</head>
<body>
<div id="wrapper">
<header>Some header...</header>
<div class="board-panel">
<div id="board-list">
<ul class="lobby-tabs nav nav-tabs">
<li ng-class="{active: activeTab == 'favorites'}">
<a ng-click="switchTab('favorites')">Favorites</a>
</li>
<li ng-class="{active: activeTab == 'public'}">
<a ng-click="switchTab('public')">Public</a>
</li>
<li ng-class="{active: activeTab == 'private'}">
<a ng-click="switchTab('private')">Private</a>
</li>
<li class="pull-right" ng-class="{active: activeTab == 'create'}">
<a ng-click="switchTab('create')">Create a Board</a>
</li>
</ul>
<div ng-show="activeTab != 'create'">
<div class="board-controls">
<button class="btn btn-default pull-right" ng-click="refresh()">
<i class="glyphicon glyphicon-refresh"></i> Refresh
</button>
</div>
<ul class="list-group">
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
<li class="list-group-item" ng-repeat="item in items | filter: filter track by $index">Some item...</li>
</ul>
</div>
</div>
</div>
</div>
</body>
</html>
CSS:
html,
body,
#wrapper {
height: 100%;
}
#wrapper {
display: flex;
flex-direction: column;
}
#wrapper > header {
height: 50px;
flex: 0;
background: rgba(129, 219, 255, 1);
}
#wrapper > div {
flex: 1;
background: rgba(129, 219, 255, 0.5);
max-height: 100%;
}
#board-list {
display: flex;
flex-direction: column;
background: #eee;
height: 100%;
max-height: 100%;
overflow: hidden;
width: 476px;
margin: 0 auto;
}
#board-list > div {
border: 1px solid #AAB3B3;
border-top: none;
display: flex;
flex: 1;
flex-direction: column;
height: 100%;
max-height: 100%;
}
.board-controls {
padding: 5px 10px;
background: #F1F1F1 none repeat scroll 0% 0%;
}
.board-controls .filter-label {
margin: 10px 5px 10px 0;
font-weight: 700;
float: left;
}
.list-group {
overflow-y: scroll;
}
Bạn, thưa bạn, là người tiết kiệm cuộc sống. Cảm ơn :) – user1960364