Skip to content
Closed
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
384 changes: 306 additions & 78 deletions components/form.html
Original file line number Diff line number Diff line change
@@ -1,78 +1,306 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Component</title>
<link rel="stylesheet" href="../style.css">
</head>
<body>
<div class="form-container">
<div class="form-header">
<h2>Contact Form</h2>
<p>Fill out the form below</p>
</div>

<form action="#" method="POST">
<div class="form-group">
<label for="name" class="form-label">Name</label>
<input type="text" id="name" name="name" class="form-input" placeholder="Enter your name">
</div>

<div class="form-group">
<label for="email" class="form-label">Email</label>
<input type="email" id="email" name="email" class="form-input" placeholder="your.email@example.com">
</div>

<div class="form-group">
<label for="phone" class="form-label">Phone</label>
<input type="tel" id="phone" name="phone" class="form-input" placeholder="+91 12345 67890">
</div>

<div class="form-group">
<label for="subject" class="form-label">Subject</label>
<select id="subject" name="subject" class="form-select">
<option value="">Select subject</option>
<option value="general">General Inquiry</option>
<option value="support">Technical Support</option>
<option value="feedback">Feedback</option>
</select>
</div>

<div class="form-group">
<label class="form-label">Gender</label>
<div class="form-radio-group">
<div class="form-radio-item">
<input type="radio" id="male" name="gender" value="male" class="form-radio-input">
<label for="male" class="form-radio-label">Male</label>
</div>
<div class="form-radio-item">
<input type="radio" id="female" name="gender" value="female" class="form-radio-input">
<label for="female" class="form-radio-label">Female</label>
</div>
<div class="form-radio-item">
<input type="radio" id="other" name="gender" value="other" class="form-radio-input">
<label for="other" class="form-radio-label">Other</label>
</div>
</div>
</div>

<div class="form-group">
<label for="message" class="form-label">Message</label>
<textarea id="message" name="message" class="form-textarea" placeholder="Write your message"></textarea>
</div>

<div class="form-group">
<div class="form-checkbox-group">
<div class="form-checkbox-item">
<input type="checkbox" id="newsletter" name="newsletter" class="form-checkbox-input">
<label for="newsletter" class="form-checkbox-label">Subscribe to newsletter</label>
</div>
</div>
</div>

<button type="submit" class="form-submit-btn">Submit</button>
</form>
</div>
</body>
</html>
.form-wrapper {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
}

.form-container {
width: 100%;
max-width: 800px;
margin: 0 auto;
}

.responsive-form {
background: #ffffff;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(98, 0, 234, 0.1);
padding: 40px;
width: 100%;
}

.form-title {
font-family: "Playfair Display", serif;
font-size: 32px;
font-weight: 700;
color: #2c3e50;
margin-bottom: 10px;
text-align: center;
}

.form-subtitle {
text-align: center;
color: #666;
font-size: 14px;
margin-bottom: 30px;
}

.form-group {
margin-bottom: 24px;
width: 100%;
}

.form-label {
display: block;
font-size: 15px;
font-weight: 600;
color: #2c3e50;
margin-bottom: 8px;
}

.form-input,
.form-textarea,
.form-select {
width: 100%;
padding: 14px 18px;
font-size: 16px;
font-family: "Source Sans Pro", Arial, sans-serif;
border: 2px solid #e0e0e0;
border-radius: 8px;
transition: all 0.3s ease;
background: #f8f9fa;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
outline: none;
border-color: #6200ea;
background: #ffffff;
box-shadow: 0 0 0 4px rgba(98, 0, 234, 0.1);
}

.form-textarea {
resize: vertical;
min-height: 140px;
line-height: 1.6;
}

.form-select {
cursor: pointer;
}

.form-radio-group {
display: flex;
gap: 20px;
flex-wrap: wrap;
}

.form-radio-item {
display: flex;
align-items: center;
}

.form-radio-input {
width: 18px;
height: 18px;
margin-right: 8px;
cursor: pointer;
accent-color: #6200ea;
}

.form-radio-label {
font-size: 15px;
color: #555;
cursor: pointer;
}

.form-checkbox-label {
display: flex;
align-items: flex-start;
cursor: pointer;
user-select: none;
}

.form-checkbox {
width: 20px;
height: 20px;
margin-right: 12px;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
accent-color: #6200ea;
}

.checkbox-text {
font-size: 14px;
color: #555;
line-height: 1.5;
}

.form-actions {
display: flex;
gap: 15px;
flex-wrap: wrap;
margin-top: 32px;
}

.form-button {
padding: 14px 36px;
font-size: 16px;
font-weight: 600;
font-family: "Source Sans Pro", Arial, sans-serif;
border: none;
border-radius: 50px;
cursor: pointer;
transition: all 0.3s ease;
flex: 1;
min-width: 160px;
}

.form-button-primary {
background: #6200ea;
color: #ffffff;
box-shadow: 0 4px 12px rgba(98, 0, 234, 0.2);
}

.form-button-primary:hover {
background: #5000c7;
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(98, 0, 234, 0.3);
}

.form-button-primary:active {
transform: translateY(0);
box-shadow: 0 2px 8px rgba(98, 0, 234, 0.2);
}

.form-button-secondary {
background: #f0f0f0;
color: #333;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.form-button-secondary:hover {
background: #e0e0e0;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.form-button-secondary:active {
transform: translateY(0);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 767px) {
.form-wrapper {
padding: 15px;
}

.responsive-form {
padding: 24px;
border-radius: 8px;
}

.form-title {
font-size: 24px;
margin-bottom: 8px;
}

.form-subtitle {
font-size: 13px;
margin-bottom: 24px;
}

.form-group {
margin-bottom: 20px;
}

.form-label {
font-size: 14px;
margin-bottom: 6px;
}

.form-input,
.form-textarea,
.form-select {
padding: 12px 16px;
font-size: 15px;
}

.form-textarea {
min-height: 120px;
}

.form-radio-group {
flex-direction: column;
gap: 12px;
}

.form-checkbox {
width: 18px;
height: 18px;
margin-right: 10px;
}

.checkbox-text {
font-size: 13px;
}

.form-actions {
flex-direction: column;
gap: 12px;
margin-top: 28px;
}

.form-button {
width: 100%;
min-width: 100%;
padding: 13px 28px;
font-size: 15px;
}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
.form-wrapper {
padding: 20px;
}

.responsive-form {
padding: 32px;
}

.form-title {
font-size: 28px;
}

.form-group {
margin-bottom: 22px;
}

.form-input,
.form-textarea,
.form-select {
padding: 13px 17px;
}

.form-button {
min-width: 180px;
padding: 13px 32px;
}
}

@media screen and (min-width: 1024px) {
.form-wrapper {
padding: 40px 20px;
}

.responsive-form {
padding: 48px;
}

.form-title {
font-size: 36px;
margin-bottom: 12px;
}

.form-subtitle {
font-size: 16px;
margin-bottom: 36px;
}

.form-group {
margin-bottom: 26px;
}
}
Loading