【发布时间】:2018-01-11 15:17:54
【问题描述】:
我在 ionic 3 项目中使用 flexbox 有类似日历网格的东西。
单元格是一个数组
<div class="sb-calendar-wrapper">
<div class="sb-calendar-month">
<div class="sb-calendar-row">
<div class="sb-calendar-cell sb-cell-labels sb-week-day" *ngFor="let day of sbcalendar.dayLabels">
{{day}}
</div>
</div>
<div class="sb-calendar-row">
<div class="sb-calendar-cell sb-cell" *ngFor="let day of calendarDays, let j=index" (click)="openCalendarDay(day)" [ngStyle]="{'height': (day.isOpen) ? '300px' : '60px'}">{{j}}
</div>
</div>
</div>
</div>
.sb-cell {
position: relative;
border-bottom: 1px solid rgba(130, 171, 183, 0.2);
padding: 5px;
height: calc((100vh - 150px)/6);
.sb-calendar-day-list{
position: absolute;
width: 100vw;
left: 0;
top:calc((100vh - 150px)/6);
background: #ccc;
height: calc( 300px - calc((100vh - 150px)/6));
}
}
当我点击任何一天时,我希望“行”展开以显示我可以使用的区域,例如显示该单元格的项目。
我面临的问题是如何定位该列表元素,以便填充整个空间或宽度。使用 position:relative of cell 我可以很好地定位除了 left:0 之外的所有内容,这对大多数单元格不起作用。
总之,当我点击任何一天时,一个填充整个视图宽度的框应该会展开。感谢您的任何建议!
编辑1
我不想在每个 n 单元格之后创建手动行。元胞数组应保持为单个数组,而 flexitem 宽度控制每行中有多少项。
【问题讨论】:
标签: css angular flexbox ionic3