当前位置:首页 > 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自定义字体 在CSS中,可以通过@font-face规则引入自定义字体,并使用font-family属性应用这些字体。 @font-face { font-family: 'MyCus…

css制作扇形图

css制作扇形图

使用CSS制作扇形图 方法一:使用clip-path和transform 通过CSS的clip-path和transform属性可以快速实现扇形效果。定义一个圆形元素,然后裁剪出扇形部分。 .fan…

css制作炫酷按钮

css制作炫酷按钮

渐变背景按钮 使用CSS的linear-gradient属性创建渐变背景效果,结合阴影和过渡动画增强视觉冲击力。按钮悬停时通过改变渐变角度或颜色实现动态效果。 .gradient-btn { b…

css风格制作

css风格制作

CSS 风格制作方法 内联样式 直接在 HTML 元素的 style 属性中编写 CSS 代码,适用于单个元素的快速样式设置。 示例: <p style="color: blue; fon…

css表格制作表格

css表格制作表格

CSS 表格制作方法 基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<td>(单元格)和<th>(表头)标签: &l…

vue实现全年日历

vue实现全年日历

实现全年日历的基本思路 使用Vue实现全年日历需要结合日期计算、数据渲染和交互逻辑。核心在于生成全年12个月的日历数据,并通过组件化方式展示。以下是具体实现方法: 安装依赖(可选) 如需更便捷的日期…