…">
当前位置:首页 > 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;
}

添加月份标题和样式美化

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

css制作日历

.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;
  }
}

添加事件指示标记

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

css制作日历

.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如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

css与html制作

css与html制作

CSS与HTML制作基础 CSS与HTML是构建网页的核心技术,HTML负责结构,CSS负责样式。以下是关键要点: HTML基础结构 <!DOCTYPE html> <html&…

css 制作箭头

css 制作箭头

使用 CSS 边框制作箭头 通过调整元素的边框宽度和颜色,利用透明边框的特性可以创建箭头效果。例如,制作一个向右的箭头: .arrow-right { width: 0; height: 0…

css网页制作

css网页制作

CSS 网页制作基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键知识点和实用方法: 基本语法结构 CSS 规则由选择器和声明块组成: 选择器 { 属性: 值…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…

vue怎么实现日历

vue怎么实现日历

实现基础日历布局 使用Vue的模板语法构建日历的HTML结构,通常采用表格形式展示日期。月份切换通过计算属性动态生成日期数组。 <template> <div class=…