devolver.es.

devolver.es.

Cómo diseñar un formulario con CSS y HTML

Tu banner alternativo

Introducción

Un formulario es un elemento clave en cualquier sitio web que permita la interacción y recolección de información por parte de los usuarios. El diseño de un formulario eficiente y atractivo es esencial en la experiencia de usuario, por lo que es fundamental conocer las técnicas y herramientas para diseñar un formulario con CSS y HTML.

Estructura HTML del formulario

Antes de comenzar a diseñar el formulario con CSS, es importante entender la estructura básica del código HTML que utilizaremos para construir el formulario. El código HTML básico para un formulario incluye la etiqueta 'form', dentro de la cual se escriben los campos de texto, casillas de verificación, botones, etc. Dentro de la etiqueta form se pueden incluir otras etiquetas, como los encabezados 'h2' y 'h3' para mejorar la lectura y la organización del código.

Ejemplo de estructura HTML básica de un formulario

<form action=’’ method=’post’>

<h2> Información personal </h2>

<label>Nombre:</label> <input type=’text’ name=’nombre’ required>

<label>Apellido:</label> <input type=’text’ name=’apellido’ required>

<h3>Contacto</h3>

<label>Correo electrónico:</label> <input type=’email’ name=’email’ required>

<label>Teléfono:</label> <input type=’tel’ name=’telefono’>

<input type=’submit’ value=’Enviar’>

</form>

El código HTML básico incluye las etiquetas 'label' para etiquetar los campos de entrada de los usuarios, y los atributos 'name' y 'type' para identificar y definir el tipo de entrada de los datos. El ejemplo de código HTML básico para el formulario mostrará los campos para ingresar información personal, como el nombre y el apellido, y los detalles de contacto, como el correo electrónico y el teléfono. También incluye un botón de envío para permitir que el usuario envíe la información ingresada.

Diseñando un formulario con CSS

Una vez que se tiene la estructura HTML básica del formulario, se puede comenzar a diseñarlo utilizando CSS. Para empezar, se puede agregar una hoja de estilos en línea a la etiqueta 'head' del documento HTML para establecer las propiedades CSS del formulario.

Ejemplo básico de hoja de estilos CSS en línea para el formulario

<head>

<style>

form {

padding: 20px;

margin: auto;

width: 50%;

background: #fafafa;

}

label {

display: block;

font-weight: bold;

margin-bottom: 5px;

}

input[type="text"], input[type="email"], input[type="tel"] {

width: 100%;

padding: 10px;

font-size: 16px;

border: none;

border-radius: 5px;

margin-bottom: 20px;

box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);

}

input[type="submit"] {

background: #0056b3;

color: #fff;

padding: 10px 20px;

border: none;

border-radius: 5px;

cursor: pointer;

}

</style>

</head>

En este ejemplo de hoja de estilos CSS en línea, se ha establecido el ancho, el relleno y el margen del formulario con la propiedad 'padding', 'margin' y 'width'. También se ha establecido el fondo del formulario con el color '#fafafa'. La etiqueta 'label' también se ha personalizado con la propiedad 'display', 'font-weight' y 'margin-bottom' para que las etiquetas estén en negrita, se presenten en bloques y tengan un margen inferior de 5 píxeles. Los campos de entrada de texto también se han personalizado con la propiedad 'width', 'padding', 'font-size', 'border' y 'border-radius'. También se ha agregado un 'box-shadow' para crear un efecto de sombra suave en los campos. Finalmente, la etiqueta 'input[type="submit"]' se ha personalizado con un color de fondo '#0056b3', un color de texto blanco '#fff', un relleno de 10 píxeles en la parte superior e inferior y 20 píxeles en la parte izquierda y derecha, un borde de 5 píxeles y un cursor personalizado.

Agregando estilos avanzados al formulario

Además de las personalizaciones básicas de CSS para el formulario, se pueden agregar estilos más avanzados para mejorar aún más su apariencia y funcionalidad.

Tamaño y margen variables para campos de entrada de diferentes tamaños

Es posible que algunos campos de entrada requieran más espacio que otros, por lo que se puede ajustar el ancho y el margen izquierdo de los campos de entrada para que se adapten a su contenido. Por ejemplo, se puede agregar la siguiente regla de CSS: .campo1 {

width: 30%;

margin-right: 5%;

}

La regla de CSS '.campo1' establece que el ancho del campo de entrada debe ser del 30%, mientras que el margen derecho debe ser del 5%.

Personalizar la casilla de verificación

Por defecto, las casillas de verificación se muestran con un estilo simple y básico. Para personalizar la casilla de verificación, se puede utilizar la propiedad 'visibility: hidden' para ocultar la casilla de verificación, y luego crear un estilo personalizado mediante un pseudoelemento 'before' o 'after'. Por ejemplo, el siguiente código CSS personaliza una casilla de verificación:

input[type="checkbox"] {

visibility: hidden;

}

input[type="checkbox"] + label:before {

content: "2714";

border: 1px solid #000;

margin-right: 5px;

}

input[type="checkbox"]:checked + label:before {

color: #fff;

background: #0056b3;

}

Con este código CSS, la casilla de verificación se oculta mediante la propiedad 'visibility: hidden'. Luego, se puede crear un estilo personalizado para la casilla de verificación mediante el pseudoelemento 'before'. En este ejemplo, el pseudoelemento 'before' se utiliza para agregar una marca de verificación (✓) y un borde alrededor de la casilla de verificación. La casilla de verificación se muestra junto a la etiqueta utilizando la propiedad CSS '+ label'. Cuando la casilla de verificación está marcada, el pseudoelemento 'before' se muestra en un fondo azul oscuro con texto blanco.

Validación personalizada de entrada de usuario

Es importante validar la entrada de usuario en cualquier formulario para garantizar la integridad de los datos. HTML proporciona atributos básicos para validar la entrada de usuario, como 'required' para campos obligatorios y 'pattern' para campos con un patrón específico. Sin embargo, a veces se necesitan validaciones más personalizadas. Para implementar una validación personalizada, se puede agregar javascript al formulario. Por ejemplo, el siguiente código javascript valida un campo de entrada de correo electrónico para asegurarse de que el usuario ha ingresado una dirección de correo electrónico válida:

function validarEmail() {

var correo = document.getElementById('email');

var validacion = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;

if (validacion.test(correo.value)) {

return true;

} else {

alert('Por favor, ingrese una dirección de correo electrónico válida.');

correo.focus();

return false;

}

}

Este código javascript utiliza una expresión regular para validar la entrada de correo electrónico del usuario. Si la entrada es válida, la función devuelve 'true'. Si la entrada no es válida, muestra una ventana emergente de alerta con un mensaje personalizado.

Conclusión

Diseñar formularios eficaces no solo mejora la experiencia del usuario, sino que también aumenta la capacidad de recolectar información útil y valiosa. En este artículo, exploramos los fundamentos del diseño de formularios con HTML y CSS, así como algunos consejos y trucos avanzados para personalizar y mejorar los formularios. Esperamos que haya encontrado esta guía útil y valiosa para su trabajo en desarrollo web.