19 - form : formulario horizontal


Otra variante de formulario que nos permite Bootstrap son los formularios horizontales. En este estilo de formularios se dispone la descripción del dato a ingresar en el lado izquierdo y el control del formulario a derecha.

Problema

Construir un formulario de login que muestre a la izquierda "Nombre de usuario:" y a la derecha el control donde se ingresa el nombre. Hacer lo mismo para el campo de ingreso de la clave, mostrar "Ingrese clave" y del lado de la derecha el control HTML password. Mostrar finalmente un botón a la altura de los controles de entrada de datos. La interfaz debe ser similar a esta:

bootstrap form form-horizontal

El código de la página para implementar el formulario es:

<!DOCTYPE html> 
<html> 
  <head> 
    <title>Prueba de Bootstrap</title> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head> 
<body> 
  <div class="container">

  <form class="form-horizontal" role="form">
    <div class="form-group">
      <label for="usuario" class="col-sm-3 control-label">Nombre de usuario:</label>
      <div class="col-sm-9">
        <input type="text" class="form-control" id="usuario">
      </div>
    </div>
    <div class="form-group">
      <label for="clave" class="col-sm-3 control-label">Ingrese clave:</label>
      <div class="col-sm-9">
        <input type="password" class="form-control" id="clave">
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-3 col-sm-9">
        <button type="submit" class="btn btn-default">Entrar</button>
      </div> 
    </div>
  </form>

  </div> 
</body> 
</html> 

Lo primero que debemos especificar en la marca form es la clase "form-horizontal":

  <form class="form-horizontal" role="form">

Pero ahora debemos indicar cuanto espacio asignar a la columna de descripción y cuanto al control HTML propiamente dicho:

    <div class="form-group">
      <label for="usuario" class="col-sm-3 control-label">Nombre de usuario:</label>
      <div class="col-sm-9">
        <input type="text" class="form-control" id="usuario">
      </div>
    </div>

Como podemos ver en la etiqueta label inicializamos con la clase col-sm-3 indicando que tres columnas le corresponden al mensaje "Nombre de usuario:" y luego al control input lo encerramos en un div con la asignación de la clase col-sm-9 completando las doce columnas.

Para el botón lo encerramos con las clases col-sm-9 y además con col-sm-offset-3 para que deje vacía las tres primeras columnas:

      <div class="col-sm-offset-3 col-sm-9">
        <button type="submit" class="btn btn-default">Entrar</button>
      </div> 

Ejecutar Ejemplo

Retornar