日历是人类文明的主要工具之一。
然后可以记住许多主要事宜,并从事宜的确切日期追溯到原形。

在本文中,我们将学习如何利用CSS Grid系统(最近在前端开拓职员中盛行的一种布局技能)来利用HTML和CSS设计日历。
以下这天历的终极设计效果:

制作HTML

从图片中我们可以看出日历包含三个部分:月指标;事情日/周末指标;日期本身。

html日历特效CCS小技能若何应用CSS Grid制造简略的日历简略有趣 SQL
(图片来自网络侵删)

编写HTML的最佳方法是遵照精确的觉得。
现在,我们将根据以下三个部分创建HTML:

我们还该当能够看到日历上网格的七个列的需求。

我们将重点放在上面的代码.day-of-week和.date-grid上面的代码上,由于现在我们只在评论辩论网格。

网格排列

有两种创建CSS Box的方法。
第一种方法是在内部组合元素.day-of-week并.date-grid 成为一个选择器。
如果要这样做,我们可以安排display: grid。
如果实行此操作,HTML将是什么样的:

我们该当避免这种方法,由于HTML失落去了它的构造意义,由于它结合起来,让我们考试测验保存.day-of-week并date-grid 作为一个独立的元素,如果可能的。
由于这使得我们更随意马虎阅读/理解已经写入的代码。
这是最好的HTML构造:

创建具有大略构造的CSS网格的最佳方法是利用子网格。
但是,大多数浏览器尚不支持子网格。
同时,最好的办法便是让两个独立的电网,一个是.day-of-week和一个.date-grid。
因此,它可以阐明.day-of-week并.date-grid可以利用相同的七个柱网。

实际日期调度

2019年2月从星期五开始。
如果我们希望日历精确无误,则须要确保:2019年2月1日为星期五;2019年2月2日为星期六;2019年2月3日是星期日等等...

利用CSS Grid,可以简化这一部分。

CSS Grid的放置算法在某种程度上遵照以下规则(如果我们未将其设置grid-auto-flow为dense):放置具有显式grid-column或grid-row第一位的项目;根据末了放置的项目填写别的部分

这表示:如果第一项属于第6列;第二项将放置在第7列中。
;第三项将放置在第一行的下一行中(由于只有七列);第四项将放置在第2列中等等...

因此,如果我们将2月1日放置在第六列(星期五),则别的日期将精确放置。
像这样的大略逻辑...

以下是全体利用的代码:源代码HTML