-
Notifications
You must be signed in to change notification settings - Fork 8
创建新的日历主题
小叉 edited this page Nov 14, 2024
·
3 revisions
-
Fork
一个新分支; - 复制
/themes/__template/
文件夹,并重命名,如:/themes/my-themes
;
文件命名规则,统一使用连接符
-
拼接的形式。
- 在
/js/config.js
中,找到数组themes
,新增一行主题配置,然后开始创作吧。
// config.js
window.zenCalendarConfig = {
devMode: true, // 使用开发模式时,会禁用缓存,更方便
themes: [
{id: 'my-themes', name: '我的主题'},
]
};
<div class="calendar">
<section>
<div class="hd">
<span class="year">2022</span>
<span class="month">1</span>
</div>
<div class="bd">
<ol class="week">
<li class="week_0 sun"></li>
<li class="week_1"></li>
<li class="week_2"></li>
<li class="week_3"></li>
<li class="week_4"></li>
<li class="week_5"></li>
<li class="week_6 sat"></li>
</ol>
<ol class="days">
<li class="sat holiday"> <!-- 此处会根据周末、节假日等添加不同的 class -->
<div class="item">
<span class="week">1</span>
<span class="num">1</span>
<span class="name">元旦</span>
</div>
</li>
</ol>
</div>
</section>
<section>
...
</section>
</div>
/**
* 日历
* ------------------------------ */
.calendar{}
.calendar section{}
.calendar .hd{}
.calendar .hd span{}
.calendar .hd .year{}
.calendar .hd .month{}
.calendar .bd{}
/* 日期排版方式 每周一行 */
.calendar .bd ol{
display:flex;
flex-wrap:wrap;
justify-content:center;
}
.calendar .bd li{
flex:0 0 14.25%;
}
.calendar .bd li:nth-child(7n){
flex-basis:14.5%;
}
/* 星期 */
.calendar .weeks{}
.calendar .weeks li.week_0:before{content:'日';}
.calendar .weeks li.week_1:before{content:'一';}
.calendar .weeks li.week_2:before{content:'二';}
.calendar .weeks li.week_3:before{content:'三';}
.calendar .weeks li.week_4:before{content:'四';}
.calendar .weeks li.week_5:before{content:'五';}
.calendar .weeks li.week_6:before{content:'六';}
/**
* 日期
* .num 数字日期
* .name 日期名称
* .week 第几周
*/
.calendar .days{}
.calendar .days .item{}
.calendar .days span{}
.calendar .days .num{}
.calendar .days .name{}
.calendar .days .week{}
/**
* 特殊日期
* .sat 周六
* .sun 周日
* .holiday 休息日
* .workday 工作日(被调休的)
* .now 今天
* .other 前后月份填充的日期
*/
.calendar .days .sat{}
.calendar .days .sun{}
.calendar .days .holiday{}
.calendar .days .workday{}
.calendar .days .holiday .item{}
.calendar .days .workday .item{}
.calendar .days .now .item{}
.calendar .days .other .item{}
.calendar .days .other,
.calendar .days .other.workday,
.calendar .days .other.sat.workday,
.calendar .days .other.sun.workday{}
.calendar .days .other.sat{}
.calendar .days .other.sun,
.calendar .days .other.holiday,
.calendar .days .other.sat.holiday,
.calendar .days .other.sun.holiday{}
.calendar .days .other.holiday .item{}
.calendar .days .other.workday .item{}
/* 隐藏前后月份的日期 */
.calendar.hide_fillday .days .other{}
.calendar.hide_fillday .days .other .item{visibility:hidden;}
/* 隐藏周数 */
.calendar.hide_yearweek .days .week{display:none;}
主题作者,可以在自己创建的主题 layout.css
文件顶部使用注释进行版权声明。
ZenCalendar 使用 MIT License ,提交到该项目视为使用相同的许可协议。
如果您不愿意使用该协议,请勿进行提交。
示例:
/**
* @name 主题名称
* @author 作者
* @email 联系邮箱
* @description 简介
* @license Released under the MIT license
*/