gpt4 book ai didi

html - 将更多元素添加到菜单时,将内容 div 高度扩展到左侧菜单高度

转载 作者:搜寻专家 更新时间:2023-10-31 22:57:42 24 4
gpt4 key购买 nike

我有一个左侧菜单,我可以在其中添加或删除元素。在右边有一个内容 div,它有一个最小高度。

当使用 Angular 向左侧菜单添加更多元素时,如果左侧菜单高于其最小高度,我希望内容 div 将其高度扩展到左侧菜单。

还有一点,我还想要内容div的ng-animate的下拉效果。

这是 fiddle 链接:link

var app = angular.module('myApp', ['ngAnimate']);
app.controller('myCtrl', function($scope) {
$scope.items = ['foo', 'bar'];
var num = 0;
$scope.add = function() {
$scope.items.push(num);
num++;
}
});
#left {
width: 25%;
background-color: lightblue;
float: left;
}

#right {
width: 75%;
float: left;
background-color: lightgreen;
min-height: 200px
}

.item {
height: 20px;
opacity: 1;
transition: 0.5s;
}

.item.ng-enter {
opacity: 0;
height: 0;
}

.item.ng-enter-active {
height: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
<script src="https://code.angularjs.org/1.5.7/angular-animate.min.js"></script>

<div id="wrapper" ng-app="myApp" ng-controller="myCtrl">
<div id="left">
<p class="item" ng-repeat="item in items">
{{item}}
</p>
</div>
<div id="right">
<button ng-click="add()">add</button>
{{names}}
</div>
</div>

最佳答案

无需使用 jQuery 或 ng-style 进行复杂的 DOM 操作。只需将 display: flex 添加到包装器中即可:

#wrapper {
display: flex;
}

https://jsfiddle.net/babvqx8e/26/

使用 flexbox 还可以让你移除 float :

#left {
width: 25%;
background-color: lightblue;
}

#right {
width: 75%;
background-color: lightgreen;
min-height: 200px
}

查看此 really nice guide to Flexbox了解更多信息。

关于html - 将更多元素添加到菜单时,将内容 div 高度扩展到左侧菜单高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38291182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com