我有一个 html 模板,如下所示:
<div>
<div class="my-grid-container" ng-repeat="cardData in summaryCardsCtrl.summaryDetails" >
<div class="myClass">
My custom div
</div>
</div>
</div>
我希望第一个 div 跨越两行,例如:
我正在使用CSS3 GridBox,如下所示:
.my-grid-container {
display: grid;
grid-template-columns: auto auto auto;
grid-gap: 10px;
padding: 10px;
}
.my-grid-container > div {
text-align: center;
padding: 20px 0;
font-size: 30px;
max-height: 70px;
}
.my-grid-container > .myClass:first-child {
grid-row: 1 / 3;
}
但它没有用。div 都堆叠在彼此的顶部。但我希望第一个 div 跨越 2 行,其余的占据相等的空间。
我究竟做错了什么?请帮忙。
更新
请参阅代码笔。https://codepen.io/chiranjib/pen/vjpOKE
或者,代码库
var myApp = angular.module('myApp', []);
myApp.controller('CardController', ['$scope', function($scope) {
$scope.cardData = [
{'name': 'My Div1', 'quantity': 3, 'price': 1.10},
{'name': 'My Div2', 'quantity': 2, 'price': 1.99},
{'name': 'My Div3', 'quantity': 1, 'price': 3.22},
{'name': 'My Div4', 'quantity': 1, 'price': 3.74}
];
}]);
.my-grid-container {
display: grid;
grid-template-columns: auto auto auto;
grid-gap: 10px;
padding: 10px;
}
.my-grid-container > div {
/*background-color: rgba(255, 255, 255, 0.8);*/
background-color: aqua;
text-align: center;
padding: 20px 0;
font-size: 30px;
height: auto;
}
.my-grid-container > .myClass:first-child {
grid-row: 1 / 3;
}
<html ng-app="myApp">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
</head>
<body ng-controller="CardController">
<div class="my-grid-container" ng-repeat="cardData in cardData" >
<div class="myClass">
My Changed Divs
</div>
</div>
</body>
</html>
这是完美的工作。实际上,您在每次重复中都创建了my-grid-container类,这是错误的。
<div>
<div class="my-grid-container" >
<div class="myClass" ng-repeat="cardData in summaryCardsCtrl.summaryDetails">
My custom div
</div>
</div>
</div>
我编辑了 HTML 代码并在$scope.cardData 中添加了一个对象
var myApp = angular.module('myApp', []);
myApp.controller('CardController', ['$scope', function($scope) {
$scope.cardData = [
{'name': 'My Div1', 'quantity': 3, 'price': 1.10},
{'name': 'My Div2', 'quantity': 2, 'price': 1.99},
{'name': 'My Div3', 'quantity': 1, 'price': 3.22},
{'name': 'My Div4', 'quantity': 1, 'price': 3.74},
{'name': 'My Div5', 'quantity': 1, 'price': 3.74}
];
}]);
.my-grid-container {
display: grid;
grid-template-columns: auto auto auto;
grid-gap: 10px;
padding: 10px;
}
.my-grid-container > div {
/*background-color: rgba(255, 255, 255, 0.8);*/
background-color: aqua;
text-align: center;
padding: 20px 0;
font-size: 30px;
height: auto;
}
.my-grid-container > .myClass:first-child {
grid-row: 1 / 3;
}
<html ng-app="myApp">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.9/angular.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
</head>
<body ng-controller="CardController">
<div class="my-grid-container" >
<div class="myClass" ng-repeat="cardData in cardData">
My Changed Divs
</div>
</div>
</body>
</html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句