网页小配件之日历

本文介绍了如何使用HTML、CSS和JavaScript自制网页日历,详细阐述了从构建日历结构、设计样式到实现动态切换月份的全过程。通过调整CSS样式确保日历的响应式布局,并利用JavaScript的Date类生成并显示日期。
摘要由CSDN通过智能技术生成

网页小配件之日历

参考[前端教程]HTML+JavaScript自己动手做日历
这里写图片描述

动机

  • 逛别人的博客的时候总会看到有个日历,觉得有意思,所以动手做一个给自己,要是以后搭自己的博客,就把日历添上。

过程

在网上查找了一番资料之后,知道了原理,于是动手写写自己的。

结构——HTML(详细见附录

  • 首先日历整体作为一个大模块(div),其中可分为两大部分——calendartitle和calendarbody,calendartitle包括年月的显示和上一月、下一月的切换按钮;calendarbody包括星期天到星期一的名称显示和日期的按月份显示
<div class="calendar">
    <div class="calendartitle">
    ...
    </div>
    <div class="calendarbody">
    ...
    </div>
</div>  

表现——CSS(详细见附录

  • 在日历类中,我设置了高度、宽度、字体大小,由于继承关系,在它之下的子孙元素会继承这些属性值,所以在它的子孙元素的样式规则中,涉及到高度、宽度、字体大小时我都使用了百分比和em,这样,只要上层的.calendar变化,其它的元素大小也会跟着变化。(注:显示效果中边框的样式选择了ridge)
.calendar{
    height: 400px;   
    width: 400px;  
    font-size:15px;   
    border:8px solid #CDBA96;  
    border-radius: 20px;
    border-style: ridge;
}
  • 切换上一月与下一月的两个按钮需要采用定位技术:position;
    将position属性设置成为relative,这样,就可以让它脱离正常文档流,相对于它在正常文档流中的位置进行定位,还要配合top和left的使用:
#prev{                                             
    position: relative;
    top:-2.5em;
    left: -5em;
}
#next{
    position: relative;
    top:-2.5em;
    left: 5em;
}
  • 下面日期的月份显示形式使用的是无序列表ul,然后将它的列表项li浮动起来,一个接一个的排下去,形成日期表:
.bodylist ul li{
    width:14.28%;
    height: 2.6em;
    display:block;
    float:left;
    list-style-type:none;
    line-height: 2.6em;
    box-sizing:border-box;
    text-align:center;
}
  • 为了方便javascript执行时动态的变化,这里预先设置的颜色类,在javascript中要对不同元素应用不同的颜色时,只需将它的class名设置成以下对应的就行。
/*颜色设置类*/
.lightgrey{
    color:#a8a8a8; /*浅灰色*/
}
.darkgrey{
    color:#565656; /*深灰色*/
}
.lightbrown{
    color
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值