Forms & inputs
Sign Up Form Block
A compact sign up card with name, email and password fields, a submit button and a basic validation message.
<form class="signup-form">
<h3 class="signup-title">Create your account</h3>
<label class="signup-label" for="signup-name">Full name</label>
<input class="signup-input" type="text" id="signup-name" placeholder="Jane Doe" required>
<label class="signup-label" for="signup-email">Email</label>
<input class="signup-input" type="email" id="signup-email" placeholder="jane@example.com" required>
<label class="signup-label" for="signup-password">Password</label>
<input class="signup-input" type="password" id="signup-password" placeholder="At least 8 characters" required>
<button class="signup-btn" type="submit">Sign Up</button>
<p class="signup-message"></p>
</form>
.signup-form {
box-sizing: border-box;
width: 280px;
background-color: #ffffff;
border: 1px solid #e5e7eb;
border-radius: 14px;
padding: 24px 22px;
display: flex;
flex-direction: column;
gap: 6px;
box-shadow: 0 1px 3px rgba(17, 24, 39, 0.08);
font-family: system-ui, -apple-system, sans-serif;
}
.signup-title {
margin: 0 0 10px;
font-size: 17px;
font-weight: 700;
color: #111827;
}
.signup-label {
font-size: 12px;
font-weight: 600;
color: #374151;
margin-top: 8px;
}
.signup-input {
box-sizing: border-box;
width: 100%;
padding: 10px 12px;
font-size: 14px;
border: 1.5px solid #d1d5db;
border-radius: 8px;
outline: none;
color: #111827;
transition: border-color 0.2s ease;
}
.signup-input:focus {
border-color: #3b82f6;
}
.signup-btn {
margin-top: 16px;
background-color: #3b82f6;
color: #ffffff;
border: none;
padding: 11px 0;
border-radius: 8px;
font-size: 14px;
font-weight: 700;
cursor: pointer;
transition: background-color 0.2s ease;
}
.signup-btn:hover {
background-color: #2f6fe0;
}
.signup-message {
min-height: 16px;
font-size: 12px;
font-weight: 600;
margin: 10px 0 0;
}
.signup-message-error {
color: #dc2626;
}
.signup-message-success {
color: #16a34a;
}
var signupForm = document.querySelector('.signup-form');
var signupMessage = document.querySelector('.signup-message');
var signupPassword = document.getElementById('signup-password');
signupForm.addEventListener('submit', function (event) {
event.preventDefault();
signupMessage.classList.remove('signup-message-error', 'signup-message-success');
if (signupPassword.value.length < 8) {
signupMessage.textContent = 'Password must be at least 8 characters.';
signupMessage.classList.add('signup-message-error');
return;
}
signupMessage.textContent = 'Account created. Welcome aboard!';
signupMessage.classList.add('signup-message-success');
});