这是我的解决方案。
我已经在几周内删除了一个额外的包装。现在,周,日是日历的所有直系后裔
<main id="calendar">
<section class="th">
<span>Sunday</span>
<span>Monday</span>
<span>Tuesday</span>
<span>Wednesday</span>
<span>Thursday</span>
<span>Friday</span>
<span>Saturday</span>
</section>
<div class="week">
<div></div>
<div></div>
<div></div>
<div data-date="1"></div>
<div data-date="2"></div>
<div data-date="3"></div>
<div data-date="4"></div>
</div>
....
现在我的CSS是
/* Calendar 100% height */
#calendar { height: 100%;
display: flex;
flex-flow: column nowrap;
align-items: stretch;
}
.th {
flex: 30px 0 0;
}
.week {
flex: 30px 1 0;
border-bottom: 1px solid #ccc;
}
的关键是给个元素一定高度(柔性基础:30像素),但不flex-grow,一周也有一些高度开始,但flex-grow:1.
这使得星期从日历中未使用的所有剩余空间,均匀地在它们之间。
updated fiddle
此外,如果任何人有1500+的声誉可以创建一个'CSS-flex'标签,那将是巨大的。 –
标签已经存在,它是flexbox – vals
@vals谢谢,它被所有Adobe/Macromedia Flex的东西所拥挤。 –