…">
当前位置:首页 > 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 页面实现日历的方法 使用第三方组件库 推荐使用成熟的日历组件库,如 v-calendar 或 fullcalendar-vue,快速实现功能丰富的日历。 安装 v-calendar: np…

css网页制作

css网页制作

CSS网页制作基础 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是核心知识点: 选择器与样式规则 /* 标签选择器 */ p { color: #333;…

css网页制作教程

css网页制作教程

CSS网页制作教程 CSS(层叠样式表)是用于控制网页外观和布局的核心技术。以下是CSS网页制作的关键步骤和技巧: 基础语法与引入方式 CSS规则由选择器和声明块组成: 选择器 { 属性:…

css导航制作

css导航制作

基础导航栏制作 使用HTML的无序列表 <ul> 和 <li> 构建导航结构,CSS清除默认样式并横向排列: <nav> <ul class="navb…

css样式制作

css样式制作

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

css导航条制作

css导航条制作

基础导航条制作 使用HTML的无序列表<ul>和CSS的display: flex属性可以快速创建横向导航条。HTML结构通常包含导航链接列表,CSS负责样式和布局。 <nav&…