Cómo crear: Formularios responsivos
- Página anterior Formulario apilado
- Página siguiente Formulario emergente
Aprende a crear formularios responsivos usando CSS.
Formularios responsivos
Ajusta el tamaño de la ventana del navegador para ver los efectos (en pantallas más pequeñas, las etiquetas y los cuadros de entrada se apilarán en lugar de mostrarse en paralelo):
Cómo crear formularios responsivos
Paso 1 - Añade HTML:
Usa el elemento <form> para manejar las entradas. Puedes obtener más información en nuestros tutoriales de PHP.
Agrega un campo de entrada (con su etiqueta correspondiente) y usa elementos <div> para envolver cada etiqueta y campo de entrada, de modo que puedas establecer un ancho específico con CSS:
<div class="container"> <form action="action_page.php"> <div class="row"> <div class="col-25"> <label for="fname">Nombre</label> </div> <div class="col-75"> <input type="text" id="fname" name="firstname" placeholder="Tu nombre.."> </div> </div> <div class="row"> <div class="col-25"> <label for="lname">Apellido</label> </div> <div class="col-75"> <input type="text" id="lname" name="lastname" placeholder="Tu apellido.."> </div> </div> <div class="row"> <div class="col-25"> <label for="country">País</label> </div> <div class="col-75"> <select id="country" name="country"> <option value="australia">Australia</option> <option value="canada">Canadá</option> <option value="usa">EE. UU.</option> </select> </div> </div> <div class="row"> <div class="col-25"> <label for="subject">Asunto</label> </div> <div class="col-75"> <textarea id="subject" name="subject" placeholder="Escribe algo.." style="height:200px"></textarea> </div> </div> <div class="row"> <input type="submit" value="Enviar"> </div> </form> </div>
Segundo paso - Añadir CSS:
/* Establecer el estilo de los cuadros de entrada, elementos de selección y áreas de texto */ input[type=text], select, textarea{ width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; resize: vertical; } /* Establecer el estilo de la etiqueta para que se muestre al lado del cuadro de entrada */ label { padding: 12px 12px 12px 0; display: inline-block; } /* Establecer el estilo del botón de envío */ input[type=submit] { background-color: #04AA6D; color: white; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; float: right; } /* Establecer el estilo del contenedor */ .container { border-radius: 5px; background-color: #f2f2f2; padding: 20px; } /* Columna flotante de etiqueta: 25% de ancho */ .col-25 { float: left; width: 25%; margin-top: 6px; } /* Columna flotante de entrada: 75% de ancho */ .col-75 { float: left; width: 75%; margin-top: 6px; } /* Eliminar el flotamiento después de las columnas */ .row:after { content: ""; display: table; clear: both; } /* Diseño responsive - cuando el ancho de la pantalla es menor de 600px, hace que las dos columnas se apilen en lugar de estar alineadas en paralelo */ @media screen and (max-width: 600px) { .col-25, .col-75, input[type=submit] { width: 100%; margin-top: 0; } }
Páginas relacionadas
Tutoriales:Formulario HTML
Tutoriales:Formulario CSS
- Página anterior Formulario apilado
- Página siguiente Formulario emergente