<…">
当前位置:首页 > CSS

css制作日历

2026-03-31 20:29:47CSS

使用CSS制作日历的方法

基础HTML结构

日历的基础HTML结构通常包含一个容器,用于放置日期格子。以下是一个简单的结构示例:

<div class="calendar">
  <div class="header">
    <span class="month">January 2023</span>
  </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 class="empty"></div>
    <div>1</div>
    <div>2</div>
    <!-- 更多日期格子 -->
  </div>
</div>

基础CSS样式

通过CSS设置日历的布局和外观。使用Flexbox或Grid布局可以轻松实现日历的排列。

css制作日历

.calendar {
  width: 300px;
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  font-family: Arial, sans-serif;
}

.header {
  background-color: #4CAF50;
  color: white;
  padding: 10px;
  text-align: center;
}

.weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background-color: #f2f2f2;
  padding: 5px 0;
  text-align: center;
}

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

.days div {
  padding: 10px;
  text-align: center;
  border-radius: 4px;
}

.days div:hover {
  background-color: #e0e0e0;
}

.empty {
  visibility: hidden;
}

高级样式调整

可以根据需求进一步调整样式,比如添加当前日期的突出显示或事件标记。

css制作日历

.current-day {
  background-color: #4CAF50;
  color: white;
}

.event {
  background-color: #ff9800;
  color: white;
  position: relative;
}

.event::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  background-color: white;
  border-radius: 50%;
}

响应式设计

通过媒体查询确保日历在不同设备上显示良好。

@media (max-width: 600px) {
  .calendar {
    width: 100%;
  }
}

动态生成日历

结合JavaScript动态生成日历内容,自动填充日期和调整布局。

function generateCalendar(year, month) {
  const daysContainer = document.querySelector('.days');
  daysContainer.innerHTML = '';

  const firstDay = new Date(year, month, 1).getDay();
  const daysInMonth = new Date(year, month + 1, 0).getDate();

  for (let i = 0; i < firstDay; i++) {
    const emptyDiv = document.createElement('div');
    emptyDiv.classList.add('empty');
    daysContainer.appendChild(emptyDiv);
  }

  for (let i = 1; i <= daysInMonth; i++) {
    const dayDiv = document.createElement('div');
    dayDiv.textContent = i;
    if (i === new Date().getDate() && month === new Date().getMonth()) {
      dayDiv.classList.add('current-day');
    }
    daysContainer.appendChild(dayDiv);
  }
}

generateCalendar(2023, 0); // 生成2023年1月的日历

以上方法提供了从基础到高级的日历制作方案,可以根据具体需求进一步扩展功能。

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

相关文章

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0;…

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

div和css制作

div和css制作

使用 div 和 CSS 制作网页布局 HTML 结构 通过 div 标签划分页面区域,例如头部、主体、侧边栏和页脚: <div class="container"> <div…

css风格制作

css风格制作

CSS 风格制作方法 内联样式 直接在 HTML 元素的 style 属性中编写 CSS 代码,适用于单个元素的快速样式设置。 示例: <p style="color: blue; fon…

网页制作 css

网页制作 css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成。选择器指向需要样式化的HTML元素,声明块包含一个或多个用分号分隔的声明,每个声明由属性和值组成。 选择…

css按钮制作

css按钮制作

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