当前位置:首页 > CSS

css制作全日历

2026-03-12 03:31:13CSS

使用CSS制作全日历

全日历通常需要结合HTML、CSS和JavaScript来实现交互功能,但CSS部分主要负责布局和样式。以下是实现全日历的CSS关键步骤:

基础HTML结构

HTML部分需要包含日历的容器、标题、星期几的表头以及日期格子:

<div class="calendar">
  <div class="header">
    <button class="prev">←</button>
    <h2 class="month-year">June 2023</h2>
    <button class="next">→</button>
  </div>
  <div class="weekdays">
    <div>Sun</div>
    <div>Mon</div>
    <div>Tue</div>
    <div>Wed</div>
    <div>Thu</div>
    <div>Fri</div>
    <div>Sat</div>
  </div>
  <div class="days"></div>
</div>

核心CSS样式

日历容器布局

.calendar {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

头部样式(月份导航)

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  background-color: #4285f4;
  color: white;
}

.header button {
  background: none;
  border: none;
  color: white;
  font-size: 18px;
  cursor: pointer;
}

星期标题栏

.weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background-color: #f1f1f1;
  padding: 10px 0;
  text-align: center;
  font-weight: bold;
}

日期格子布局

.days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 5px;
  padding: 10px;
}

.days div {
  min-height: 80px;
  padding: 5px;
  border: 1px solid #e0e0e0;
  position: relative;
}

其他日期状态样式

/* 非当前月份的日期 */
.days .other-month {
  color: #ccc;
  background-color: #f9f9f9;
}

/* 当前日期高亮 */
.days .today {
  background-color: #e3f2fd;
  font-weight: bold;
}

/* 事件标记样式 */
.event-marker {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #ff7043;
  margin-right: 2px;
}

响应式设计

添加媒体查询适配移动端:

@media (max-width: 600px) {
  .days div {
    min-height: 60px;
    font-size: 14px;
  }

  .weekdays div {
    font-size: 12px;
  }
}

进阶样式技巧

斑马条纹效果

.days div:nth-child(14n + 8),
.days div:nth-child(14n + 9),
.days div:nth-child(14n + 10),
.days div:nth-child(14n + 11),
.days div:nth-child(14n + 12),
.days div:nth-child(14n + 13),
.days div:nth-child(14n + 14) {
  background-color: #fafafa;
}

悬停效果

css制作全日历

.days div:not(.other-month):hover {
  background-color: #e8f0fe;
  cursor: pointer;
}

完整实现说明

  1. 日期填充需要通过JavaScript动态生成
  2. 事件管理需要结合后端或本地存储
  3. 完整的日历库推荐使用FullCalendar等专业工具

以上CSS提供了基础日历的视觉框架,交互功能需要配合JavaScript实现日期切换、事件添加等操作。

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

相关文章

css如何制作圆

css如何制作圆

使用 border-radius 属性制作圆 通过设置 border-radius 属性为元素添加圆角效果。当 border-radius 的值等于元素宽度和高度的一半时,元素会呈现圆形。 .cir…

css页脚制作

css页脚制作

CSS页脚制作方法 固定定位页脚 使用position: fixed将页脚固定在页面底部,适用于需要始终显示的页脚。 footer { position: fixed; bottom: 0;…

css简历制作

css简历制作

使用CSS制作简历的基本方法 选择简洁的布局结构,单列或双列布局适合大多数简历。使用display: flex或display: grid实现响应式设计,确保在不同设备上显示良好。 字体选择上,标题…

css制作春季踏青

css制作春季踏青

使用CSS制作春季踏青主题效果 背景设计 通过渐变背景模拟春日天空,使用柔和的色调如浅蓝、淡绿和粉色。可以添加云朵或小鸟的剪影作为装饰元素。 body { background: linear-…

css导航条制作

css导航条制作

水平导航条制作 使用display: inline-block或flexbox布局创建水平导航条。设置背景色、内边距和悬停效果增强交互性。 <nav> <ul class="h…

css按钮制作

css按钮制作

CSS按钮制作方法 基础按钮样式 创建一个简单的CSS按钮需要定义基本属性,如背景色、边框、内边距和文字样式。示例代码: .btn { background-color: #4CAF50;…