当前位置:首页 > CSS

制作日历css

2026-02-13 00:28:44CSS

基础日历结构

日历的HTML结构通常包含一个容器元素,内部嵌套表格或网格布局。以下是一个基础模板:

<div class="calendar">
  <div class="header">
    <button class="prev">←</button>
    <h2 class="month-year">June 2023</h2>
    <button class="next">→</button>
  </div>
  <div class="weekdays">
    <div>Sun</div><div>Mon</div><div>Tue</div>
    <div>Wed</div><div>Thu</div><div>Fri</div><div>Sat</div>
  </div>
  <div class="days"></div>
</div>

核心CSS样式

.calendar {
  width: 300px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  font-family: 'Segoe UI', sans-serif;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background: #4285f4;
  color: white;
}

.weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background: #f5f5f5;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
}

.days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  padding: 5px;
}

.days div {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.days div:hover {
  background: #e3f2fd;
}

动态日期样式

通过CSS类控制不同状态的日期显示:

制作日历css

/* 非当前月份日期 */
.other-month {
  color: #bdbdbd;
  opacity: 0.6;
}

/* 当前日期 */
.current-day {
  background: #4285f4;
  color: white;
  border-radius: 50%;
}

/* 选中日期 */
.selected {
  background: #e3f2fd;
  border-radius: 50%;
  font-weight: bold;
}

响应式设计

添加媒体查询适应不同屏幕尺寸:

制作日历css

@media (max-width: 400px) {
  .calendar {
    width: 100%;
    border-radius: 0;
  }

  .weekdays div, .days div {
    font-size: 14px;
  }
}

动画效果

为交互添加过渡动画:

.days div {
  transition: all 0.2s ease;
}

button {
  transition: transform 0.2s;
}

button:hover {
  transform: scale(1.1);
}

完整示例

结合HTML/CSS/JavaScript的完整实现可以参考以下资源:

  • CodePen上的日历组件模板
  • GitHub上的开源日历库如flatpickr的CSS实现
  • CSS Grid布局的日历教程案例

通过调整颜色变量、尺寸和布局方式,可以快速定制不同风格的日历界面。现代CSS特性如grid布局和aspect-ratio属性能大幅简化日历的排版工作。

标签: 日历css
分享给朋友:

相关文章

css右导航栏制作

css右导航栏制作

CSS右导航栏制作方法 固定定位法 使用position: fixed将导航栏固定在视窗右侧,结合right和top属性控制位置。示例代码: .right-navbar { position:…

css制作导航

css制作导航

CSS 制作导航的方法 基础水平导航栏 使用无序列表(<ul>)和浮动(float)或 Flexbox 布局实现水平导航: <nav> <ul class="ho…

纯css制作tab菜单

纯css制作tab菜单

纯CSS制作Tab菜单的方法 使用radio input控制Tab切换 通过<input type="radio">和<label>元素配合:checked伪类实现Tab切换效…

css制作半圆

css制作半圆

使用 border-radius 制作半圆 通过设置 border-radius 属性可以轻松创建半圆。将元素的宽度设置为高度的两倍,并设置 border-radius 为 50% 以形成半圆形。…

css制作扇形图

css制作扇形图

使用CSS制作扇形图 使用CSS的clip-path属性可以轻松创建扇形图。通过定义多边形的顶点坐标,可以裁剪元素为扇形形状。 <div class="pie-chart"></d…

vue实现mac日历

vue实现mac日历

Vue 实现 Mac 日历功能 要在 Vue 中实现类似 Mac 日历的功能,可以结合第三方库或自定义组件开发。以下是两种常见方法: 使用 FullCalendar 库 FullCalendar 是…