…">
当前位置:首页 > 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制作箭头

使用 CSS 边框制作箭头 通过调整元素的 border 属性,利用透明边框和实色边框的组合生成箭头。例如,创建一个向右的箭头: .arrow-right { width: 0; hei…

css制作按钮

css制作按钮

基础按钮样式 创建一个基础的CSS按钮样式,可以通过以下代码实现。这个例子包含了按钮的基本属性,如背景色、边框、内边距和文字样式。 .button { background-color: #4C…

用css制作网页

用css制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。元素的宽度和高度需相同,否则会呈现椭圆形。 .circle { widt…

css制作固定模板

css制作固定模板

使用CSS创建固定模板的方法 固定模板通常指页面布局中某些元素(如导航栏、页脚)位置固定,不随滚动条移动。以下是几种实现方式: 固定定位(Fixed Positioning) 通过position:…

友情链接css制作

友情链接css制作

友情链接CSS制作 友情链接是网站之间互相推广的一种方式,通常以文字或图片形式展示。通过CSS可以美化友情链接的样式,使其更符合网站整体设计风格。 文字链接样式 设置文字链接的基础样式,包括颜色、…