Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions submissions/examples/clip-path-calendar/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Clip Path Calendar

A responsive retro-inspired calendar component with a smooth clip-path reveal animation using pure HTML and CSS.

## Features

- Pure HTML & CSS
- No JavaScript required
- Clip-path reveal animation
- Responsive layout
- Retro-inspired design
- Accessible structure

## Folder Structure

```
clip-path-calendar-srujana/
├── demo.html
├── style.css
└── README.md
```

## Usage

1. Open `demo.html` in any modern browser.
2. The calendar appears with a clip-path reveal animation.
3. Hover over calendar dates for an interactive effect.

## Technologies

- HTML5
- CSS3
- EaseMotion-style animation classes

## Accessibility

- Semantic HTML structure
- Responsive layout
- Keyboard-friendly design
71 changes: 71 additions & 0 deletions submissions/examples/clip-path-calendar/demo.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Clip Path Calendar</title>
<link rel="stylesheet" href="style.css">
</head>
<body>

<div class="calendar ease-clip-path">

<div class="calendar-header">
<h2>July 2026</h2>
</div>

<div class="weekdays">
<span>Sun</span>
<span>Mon</span>
<span>Tue</span>
<span>Wed</span>
<span>Thu</span>
<span>Fri</span>
<span>Sat</span>
</div>

<div class="days">
<span></span>
<span></span>
<span></span>
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>

<span>5</span>
<span>6</span>
<span>7</span>
<span>8</span>
<span>9</span>
<span>10</span>
<span>11</span>

<span>12</span>
<span>13</span>
<span>14</span>
<span>15</span>
<span>16</span>
<span>17</span>
<span>18</span>

<span>19</span>
<span>20</span>
<span>21</span>
<span>22</span>
<span>23</span>
<span>24</span>
<span>25</span>

<span>26</span>
<span>27</span>
<span>28</span>
<span>29</span>
<span>30</span>
<span>31</span>
</div>

</div>

</body>
</html>
94 changes: 94 additions & 0 deletions submissions/examples/clip-path-calendar/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
:root{
--ease-bg:#f7f3e9;
--ease-card:#fff8ea;
--ease-primary:#d35400;
--ease-text:#2c2c2c;
--ease-radius:18px;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
background:var(--ease-bg);
font-family:Arial,Helvetica,sans-serif;
padding:20px;
}

.calendar{
width:360px;
background:var(--ease-card);
border-radius:var(--ease-radius);
overflow:hidden;
box-shadow:0 12px 30px rgba(0,0,0,.12);
animation:ease-clip-path .7s ease;
}

.calendar-header{
background:var(--ease-primary);
color:white;
padding:20px;
text-align:center;
}

.weekdays,
.days{
display:grid;
grid-template-columns:repeat(7,1fr);
}

.weekdays span{
padding:14px;
font-weight:bold;
text-align:center;
background:#ffe4c4;
}

.days span{
height:48px;
display:flex;
justify-content:center;
align-items:center;
border:1px solid #f0e2c5;
transition:.3s;
}

.days span:hover{
background:var(--ease-primary);
color:white;
clip-path:circle(45%);
}

@keyframes ease-clip-path{

0%{
opacity:0;
clip-path:circle(0% at 50% 50%);
}

100%{
opacity:1;
clip-path:circle(150% at 50% 50%);
}

}

@media(max-width:420px){

.calendar{
width:100%;
}

.weekdays span,
.days span{
font-size:14px;
}

}
Loading