Formulários Mobile-First
Parte da seção Frontend Prático do Journey de HTML da Coddy. Lição 10 de 35.
Os formulários são uma das partes mais importantes da web: os usuários digitam, tocam e interagem com eles constantemente. Ao projetar formulários com foco primeiro em dispositivos móveis, priorizamos a usabilidade em telas pequenas:
- Deixe os campos de entrada e botões maiores para que os usuários possam digitar e tocar facilmente.
- Empilhe os campos verticalmente e use campos de entrada de largura total.
- Adicione preenchimento interno e espaçamento para os dedos.
Exemplo para dispositivos móveis:
input, button {
width: 100%; /* full width for small screens */
padding: 0.75rem; /* easier to tap */
font-size: 1rem; /* readable text */
}Depois, para telas maiores (tablet ou desktop), aprimoramos o layout:
- Centralize o formulário na página.
- Coloque alguns campos lado a lado em vez de empilhá-los.
- Ajuste as larguras e o espaçamento para uma aparência melhor.
Exemplo para telas maiores:
@media (min-width: 768px) {
form {
max-width: 500px; /* center and limit width */
margin: 0 auto;
}
.row {
display: flex;
gap: 1rem; /* side-by-side inputs */
}
}Desafio
FácilVocê recebeu um formulário HTML básico. Sua tarefa é definir estilos com abordagem mobile-first:
- Os elementos dentro do formulário devem ser empilhados verticalmente. Use
display: flexeflex-direction: column, e adicione um pouco degappara que fique visualmente agradável. - Aplique
width: 100%e adicione um pouco depaddingaos elementosinput,buttonetextareapara que sejam grandes o suficiente para telas de dispositivos móveis e fáceis de tocar pelos usuários.
Experimente você mesmo
<!DOCTYPE html>
<html>
<head>
<title>Mobile-First Forms</title>
<style>
body {
font-family: Arial, sans-serif;
padding: 1rem;
background-color: #f0f4f8;
}
form {
}
input, textarea, button {
padding: 0.75rem;
font-size: 1rem;
border: 1px solid #ccc;
border-radius: 5px;
}
button {
background-color: #4a90e2;
color: white;
border: none;
cursor: pointer;
}
/* Larger screens */
@media (min-width: 768px) {
form {
max-width: 600px;
margin: 0 auto; /* center form */
}
.row {
display: flex;
gap: 1rem; /* side-by-side fields */
}
.row input {
width: 100%; /* split space equally */
}
}
</style>
</head>
<body>
<h1>Contact Us</h1>
<form>
<div class="row">
<input type="text" placeholder="Name" required>
<input type="email" placeholder="Email" required>
</div>
<textarea placeholder="Your Message" rows="4" required></textarea>
<button type="submit">Send</button>
</form>
</body>
</html>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Frontend Prático
2Estratégia Mobile-First
O que significa “mobile-first”Tipografia Mobile-FirstNavegação Mobile-FirstImagens Mobile-FirstFormulários Mobile-FirstDesafio de RecapitulaçãoPratique por conta própria: Playground de Web