…">
当前位置:首页 > CSS

css制作日历

2026-01-14 12:16:56CSS

使用CSS Grid布局制作日历

日历的布局适合使用CSS Grid实现,因其天然的行列结构。以下是一个基础日历的HTML和CSS代码:

<div class="calendar">
  <div class="header">Sunday</div>
  <div class="header">Monday</div>
  <!-- 其他星期标题... -->
  <div class="day">1</div>
  <div class="day">2</div>
  <!-- 其他日期格子... -->
</div>
.calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  max-width: 500px;
}

.header {
  background: #f0f0f0;
  text-align: center;
  padding: 10px;
}

.day {
  border: 1px solid #ddd;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

添加月份标题和样式美化

为日历添加月份标题并增强视觉效果:

.month-title {
  grid-column: span 7;
  text-align: center;
  font-size: 1.5em;
  padding: 10px;
}

.day:hover {
  background-color: #e6f7ff;
  cursor: pointer;
}

.other-month {
  color: #ccc;
  background-color: #f9f9f9;
}

实现响应式设计

确保日历在不同设备上显示良好:

@media (max-width: 600px) {
  .calendar {
    gap: 2px;
  }

  .header, .day {
    font-size: 0.8em;
    padding: 5px;
  }
}

添加事件指示标记

为有事件的日期添加视觉标记:

.day.has-event::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background: #ff6b6b;
  border-radius: 50%;
  position: absolute;
  bottom: 5px;
}

完整实现示例

结合JavaScript动态生成日历:

// 获取当前月份天数
const daysInMonth = new Date(year, month+1, 0).getDate();

// 生成日历格子
for(let i = 1; i <= daysInMonth; i++) {
  const dayElement = document.createElement('div');
  dayElement.className = 'day';
  dayElement.textContent = i;

  // 检查是否有事件
  if(events.includes(i)) {
    dayElement.classList.add('has-event');
  }

  calendarContainer.appendChild(dayElement);
}

可选动画效果

为日历添加简单的过渡动画:

.day {
  transition: all 0.2s ease;
  transform: scale(1);
}

.day:active {
  transform: scale(0.95);
}

这些方法提供了创建CSS日历的核心技术,可以根据具体需求进一步定制样式和功能。

css制作日历

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

相关文章

vue日历实现

vue日历实现

实现基础日历布局 使用Vue的模板语法构建日历的基本HTML结构。一个典型的日历包含星期标题和日期格子,可以通过v-for循环生成。月份切换功能通过计算属性动态更新日期数组。 <templa…

vue怎么实现日历

vue怎么实现日历

实现日历组件的基本方法 使用Vue实现日历组件可以通过以下步骤完成。这里提供一个基础的实现思路,结合Vue 3的Composition API和模板语法。 安装依赖(如需要) npm inst…

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 selec…

css表格制作表格

css表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="horiz…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-na…