La creación de una pantalla de registro es fundamental para la interfaz de un sitio web que requiere que los usuarios creen una cuenta. Esta tarea suele implicar la división del contenido en secciones, lo que facilita una mejor interacción del usuario con el formulario de registro. En este tutorial, cubriremos la estructura básica para construir una pantalla de registro utilizando HTML y CSS, mientras seguimos buenas prácticas de desarrollo y mantenemos un diseño atractivo.
¿Cómo se estructura la pantalla de registro?
La estructura de la pantalla de registro se basa en un formulario dividido en dos partes principales: la sección de los inputs para recolectar información del usuario y la sección de los checkbox para preferencias específicas.
Crear el archivo HTML de registro
Primero, es importante crear el archivo Registro.html para la pantalla de registro. Este archivo debe tener una estructura básica de HTML, la cual puedes copiar desde un archivo existente si trabajas en un proyecto similar. Esto te ahorrará tiempo, pero recuerda que copiar y pegar código no siempre es lo ideal debido a la práctica de 'Don't Repeat Yourself' (DRY).
Eliminar elementos innecesarios
Puedes comenzar a limpiar el diseño eliminando cualquier imagen o contenido que no sea relevante para la pantalla de registro. Luego, ajusta los estilos para optimizar el espacio, especialmente para los títulos. Aquí, puedes utilizar la clase de contenedor para manejar el tamaño y la apariencia.
<divclass="container text-center"><h1>Registro en Platzi</h1></div>
¿Cómo se diseñan los inputs del formulario?
Configuración de los Inputs
El formulario debe incluir los campos necesarios utilizando tipo input dentro de un formato HTML. Estos campos incluyen nombre, apellido, correo electrónico y contraseña.
Es importante considerar el uso de las clases de Bootstrap o estilos CSS propios para garantizar la responsividad. Las columnas pueden configurarse para ocupar la totalidad del ancho de la pantalla o dividirse según sea necesario.
¿Cómo agregar un sistema de preferencias con checkboxes?
Configuración de los checkboxes
Para finalizar la estructura del formulario, es crucial añadir checkboxes que permitan a los usuarios seleccionar sus preferencias de temas. Esto no solo mejora la experiencia del usuario, sino que también ofrece datos útiles para personalizar la oferta de contenido.
<divclass="form-check"><inputclass="form-check-input"type="checkbox"id="topic1"><labelclass="form-check-label"for="topic1"> Tema 1
</label></div><divclass="form-check"><inputclass="form-check-input"type="checkbox"id="topic2"><labelclass="form-check-label"for="topic2"> Tema 2
</label></div>
Envío del formulario
Finalmente, no olvides incluir un botón para enviar el formulario. Este debería estar claramente visible para facilitar la interacción del usuario.
¡Continúa ampliando tus habilidades de programación y construcción de interfaces web! Recuerda que cada elemento cuenta para crear una experiencia de usuario coherente y atractiva.
Totalmente valido copiar, el curso es de Materize pero para las prácticas personales pueden usar PUG del curso de preprocesadores y no repetir.
Saludos!
Genial, esa parte del curso me animó más.
Creo que al profe se le paso corregir el type=text del input de contraseña a type=password para que al escribir sobre el campo aparezcan los circulitos, pero fue una excelente clase!
Buena observación
Excelente aporte
Me gusta como esta quedando el formulario
Don't repeat yourself: Es aconsejable tener dividido el codigo en componentes para no repetir el mismo codigo en las demas paginas. Por este momento, es válido porque solo se esta usando HTML y CSS
Aplicar hide al section de la imagen principal para que no aparezca en nuestro registro.html
class container delimitara la zona del contenido y se ajustara al tamaño del nav
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>AviationNews</title><!--ImportGoogleIconFont--><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"><!--Compiled and minified CSS--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"><link rel="stylesheet" href="css/main.css"></head><body><!--HEADER--><header><nav class="container"><a href="#"class="brand-logo valign-wrapper"><!-- valing-wrapper centra verticalemnte el contenido --><img src="assets/img/Logo.jpg"class="responsive-img left z-depth-2" alt="Logo"><!-- make responsive images --></a><ul class="right valign-wrapper"><li><a href="">About us</a></li><li><a href="">Contact us</a></li><li><a class="btn" href="registro.html">Register</a></li></ul></nav><!--Promotional image --><section class="header-main-pic z-depth-2 hide"></section><!--TITLE--><section class="container"><div class="row registro-titulo"><div class="col s12"><h1 class="center-align">RegisterinAviationNews</h2></div></div></section></header><!--ENDOFHEADER--><!--MAIN--><main class="container"><div class="row"><div class="col s12"><div class="card-panel"><form action=""><div class="row section"><div class="input-field col s12 m6"><input type="text" id="first-name"class="activate"><label for="first-name">Name</label></div><div class="input-field col s12 m6"><input type="text" id="last-name"class="activate"><label for="last-name">LastName</label></div></div><div class="row"><div class="input-field col s12 m6"><input type="text" id="email"class="activate"><label for="email">Email</label></div><div class="input-field col s12 m6"><input type="password" id="password"class="activate"><label for="password">Password</label></div></div></form></div></div></div></main><!--ENDOFMAIN--><footer class="page-footer"></footer><!--Compiled and minified JavaScript--><script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script></body></html>
Clase que da estilo a una caja de un formulario
card-panel
Clase que da estilo a una caja de un input
input-field
Alinea al centro un texto
center-align
Me encanto el formulario
Estuvo bacán este formulario limpio y agradable
Don't repeat your self
¿¿Para qué es exactamente la clase "Section"??
La clase section de Materialize da estilos diferentes ala etiqueta lo que la hace resaltar con respecto a las otras partes de la página Web.
Materialize le tiene unos estilos a esa etiqueta, le hace:
Define una separación arriba y abajo a la clase y a la etiqueta la pone como bloque