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

可选动画效果

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

css制作日历

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

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

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

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

相关文章

css制作

css制作

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

css样式制作

css样式制作

CSS 样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过选择器和属性组合,可以精确调整元素的布局、颜色、字体等样式。 选择器类型 元素选择器:p { color: red; } 选中…

css表单制作

css表单制作

基础表单结构 使用HTML创建表单的基本结构,包含<form>标签及输入字段。表单通常需要action(提交地址)和method(提交方法)属性。 <form action="/s…

css制作下拉导航条

css制作下拉导航条

使用纯CSS制作下拉导航条 HTML结构部分需要包含导航主菜单和子菜单项,通常使用嵌套的无序列表(<ul>和<li>)实现: <nav class="dropdown-…

css如何制作三角形

css如何制作三角形

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

css制作扇形

css制作扇形

使用 CSS 制作扇形 方法一:利用 border-radius 和 transform 通过设置 border-radius 和 transform 属性,可以创建一个扇形。以下是一个示例代码:…