Guia Bootstrap Inces
Guia Bootstrap Inces
Guia Bootstrap Inces
1. Introducción a Bootstrap:
Twitter Bootstrap es un framework o conjunto de herramientas de Código abierto para diseño de
sitios y aplicaciones web. Contiene plantillas de diseño con tipografía, formularios, botones, cuadros,
menús de navegación y otros elementos de diseño basado en HTML y CSS, así como, extensiones de
JavaScript opcionales adicionales.
Bootstrap es un framework de interfaz visual (front-end) principalmente para móviles. Es
elegante, intuitivo y eficaz, para un desarrollo web más rápido y más fácil. Bootstrap utiliza HTML, CSS y
Javascript.
Se recomienda tener conocimientos básicos de HTML y CSS.
Sistema de cuadrilla y diseño sensible: Bootstrap viene con una disposición de cuadrilla estándar
de 940 píxeles de ancho. Alternativamente, el desarrollador puede usar un diseño de ancho-variable.
Para ambos casos, la herramienta tiene cuatro variaciones para hacer uso de distintas resoluciones y
tipos de dispositivos: teléfonos móviles, formato de retrato y paisaje, tabletas y computadoras con
baja y alta resolución (pantalla ancha). Esto ajusta el ancho de las columnas automáticamente.
Entendiendo la hoja de estilo CSS: Bootstrap proporciona un conjunto de hojas de estilo que
proveen definiciones básicas de estilo para todos los componentes de HTML. Esto otorga una
uniformidad al navegador y al sistema de anchura, da una apariencia moderna para el formateo de
los elementos de texto, tablas y formularios.
1
Componentes re-usables: En adición a los elementos regulares de HTML, Bootstrap contiene otra
interfaz de elementos comúnmente usados. Ésta incluye botones con características avanzadas (ej.
grupo de botones o botones con opción de menú desplegable, listas de navegación, etiquetas
horizontales y verticales, ruta de navegación, paginación, etc.), etiquetas, capacidades avanzadas de
miniaturas tipográficas, formatos para mensajes de alerta y barras de progreso.
Plug-ins de JavaScript: Los componentes de JavaScript para Bootstrap están basados en la librería
jQuery de JavaScript. Los plug-ins se encuentran en la herramienta de plug-in de jQuery. Proveen
elementos adicionales de interfaz de usuario como diálogos, tooltips y carruseles. También
extienden la funcionalidad de algunos elementos de interfaz existentes, incluyendo por ejemplo una
función de auto-completar para campos de entrada (input). La versión 2.0 soporta los siguientes
plug-ins de JavaScript: Modal, Dropdown, Scrollspy, Tab, Tooltip, Popover, Alert, Button, Collapse,
Carousel y Typeahead.
Nota: Para este ejemplo, debe crear una carpeta llamada “css” que incluya el archivo “bootstrap.min.css”
y una carpeta llamada “js” que contenga las librerías “bootstrap.min.js” y “jquery-1.12.4.min.js”.
-------- o --------
2
2. Diseñando con la rejilla (Grid) de Bootstrap:
<!DOCTYPE html>
<html lang="es">
...
</html>
<head>
...
<meta name="viewport" content="width=device-width, initial-scale=1" />
...
</head>
El siguiente ejemplo muestra una imagen centrada dentro de un contenedor; responsive, es decir,
que se adaptará al tamaño de la ventana del navegador.
<div class="container">
<h3>Imagen responsive</h3>
<img src="../img/foto.jpg" class="img-responsive" alt="Imagen responsive">
</div>
El siguiente ejemplo muestra una imagen dentro de un contenedor, ocupando todo el ancho de la
pantalla; responsive, es decir, que se adaptará al tamaño de la ventana del navegador.
<div class="container-fluid">
<h3>Imagen responsive ocupando todo el ancho</h3>
<img src="../img/foto.jpg" class="img-responsive" alt="Imagen responsive">
</div>
3
2.2. La rejilla (Grid) de Bootstrap:
Bootstrap incluye una rejilla o sistema de cuadrícula (Grid) fluída pensada para móviles y que
cumple con el diseño web responsive.
El diseño de páginas basado en rejilla se realiza mediante filas y columnas donde se colocan los
contenidos. Esta rejilla permite un máximo de 12 columnas en toda la página.
El siguiente ejemplo muestra un contenedor con tres filas (.row). La primera fila se divide en
doce columnas; la segunda fila se divide en tres columnas (del igual ancho); y la tercera fila se divide en
dos columnas (de igual ancho).
<div class="container">
<div class="row">
<div class="col-md-1">col-01</div>
<div class="col-md-1">col-02</div>
<div class="col-md-1">col-03</div>
<div class="col-md-1">col-04</div>
<div class="col-md-1">col-05</div>
<div class="col-md-1">col-06</div>
<div class="col-md-1">col-07</div>
<div class="col-md-1">col-08</div>
<div class="col-md-1">col-09</div>
<div class="col-md-1">col-10</div>
<div class="col-md-1">col-11</div>
<div class="col-md-1">col-12</div>
</div>
<div class="row">
<div class="col-md-4">AAAA</div>
<div class="col-md-4">BBBB</div>
<div class="col-md-4">CCCC</div>
</div>
<div class="row">
<div class="col-md-6">izquierda</div>
<div class="col-md-6">derecha</div>
</div>
</div>
Para una mejor visualización de cada columna en cada fila, podemos aplicar un estilo CSS3
(.border) para ver el borde de cada columna. El siguiente ejemplo es el mismo ejemplo anterior
aplicando un estilo CSS3.
4
<div class="container">
<div class="row">
<div class="col-md-1" style="border:1px solid blue;">col-01</div>
<div class="col-md-1" style="border:1px solid blue;">col-02</div>
<div class="col-md-1" style="border:1px solid blue;">col-03</div>
<div class="col-md-1" style="border:1px solid blue;">col-04</div>
<div class="col-md-1" style="border:1px solid blue;">col-05</div>
<div class="col-md-1" style="border:1px solid blue;">col-06</div>
<div class="col-md-1" style="border:1px solid blue;">col-07</div>
<div class="col-md-1" style="border:1px solid blue;">col-08</div>
<div class="col-md-1" style="border:1px solid blue;">col-09</div>
<div class="col-md-1" style="border:1px solid blue;">col-10</div>
<div class="col-md-1" style="border:1px solid blue;">col-11</div>
<div class="col-md-1" style="border:1px solid blue;">col-12</div>
</div>
<div class="row">
<div class="col-md-4" style="border:1px solid red;">AAAA</div>
<div class="col-md-4" style="border:1px solid red;">BBBB</div>
<div class="col-md-4" style="border:1px solid red;">CCCC</div>
</div>
<div class="row">
<div class="col-md-6" style="border:1px solid black;">izquierda</div>
<div class="col-md-6" style="border:1px solid black;">derecha</div>
</div>
</div>
El ejemplo del tema anterior utiliza el prefijo .col-md-, por lo tanto se visualizará correctamente
en ventanas de navegador cuyo ancho sea mayor o igual a 992px. Al visualizarlo en una tablet o
teléfono, las columnas se disponen verticalmente (una encima de la otra).
En el siguiente ejemplo se muestran cuatro filas (.row), donde cada fila está dividida en dos
columnas. Cada fila contiene diferentes prefijos para sus columnas.
<div class="container">
<div class="row">
<div class="col-lg-6" style="background:#bbb;">col-lg-6 (PC grande)</div>
<div class="col-lg-6" style="background:#ddd;">col-lg-6 (PC grande)</div>
</div>
<br />
<div class="row">
<div class="col-md-6" style="background:#bbb;">col-md-6 (PC mediano)</div>
<div class="col-md-6" style="background:#ddd;">col-md-6 (PC mediano)</div>
</div>
<br />
5
<div class="row">
<div class="col-sm-6" style="background:#bbb;">col-sm-6 (Tablet)</div>
<div class="col-sm-6" style="background:#ddd;">col-sm-6 (Tablet)</div>
</div>
<br />
<div class="row">
<div class="col-xs-6" style="background:#bbb;">col-xs-6 (móvil)</div>
<div class="col-xs-6" style="background:#ddd;">col-xs-6 (móvil)</div>
</div>
</div>
Nota: Recuerde que al ejemplo anterior se le aplica un estilo CSS (.style) para una mejor visualización
del tamaño de las columnas. No es obligatorio usarlo.
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-md-6" style="background:#bbb;">
Tamaño variable
</div>
</div>
</div>
El siguiente ejemplo define un tamaño diferente a una columna dependiendo del dispositivo
donde se muestre. Se define un tamaño de: 10 columnas para un teléfono; 9 columnas para una tablet;
6 columnas para un PC mediano; y 5 columnas para un PC grande:
<div class="container-fluid">
<div class="row">
<div class="col-xs-10 col-sm-9 col-md-6 col-lg-5"
style="background:#bbb;">Cuatro tamaños
</div>
</div>
</div>
Nota: Recuerde que el estilo CSS (.style) se aplica con fines de una mejor visualización del tamaño de
las columnas. No es necesario usarlo.
6
Por ejemplo, podemos centrar una columna, definida con col-xs-6, con un margen izquierdo
definido con col-xs-offset-3.
<div class="container-fluid">
<div class="row">
<div class="col-xs-6 col-xs-offset-3" style="background:#ccc;">
Esta columna está centrada
</div>
</div>
</div>
El siguiente ejemplo centra una columna con diferente tamaño dependiendo del dispositivo donde
se muestre. Tamaño de: 10 columnas para un teléfono; 8 columnas para una tablet; 6 columnas para un
PC mediano; y 4 columnas para un PC grande:
<div class="container-fluid">
<div class="row">
<div class="col-xs-10 col-xs-offset-1 col-sm-8 col-sm-offset-2
col-md-6 col-md-offset-3 col-lg-4 col-lg-offset-4"
style="background:#ccc;">
<h3>Columna</h3>
<h3>centrada</h3>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-md-8 col-md-offset-2" style="background:#ccc;">
Nivel 1: .col-md-8
<div class="row">
<div class="col-md-6" style="background:#bbb;">
Nivel 2: .col-md-6
</div>
<div class="col-md-6" style="background:#ddd;">
Nivel 2: .col-md-6
</div>
</div>
</div>
</div>
</div>
-------- o --------
7
3. Tipografía:
Los estilos relacionados con la tipografía y el texto de los contenidos son esenciales en cualquier
framework CSS. Por esa razón, Bootstrap 3 incluye decenas de estilos para los principales elementos
utilizados en los sitios y aplicaciones web.
<div class="container">
<h1>h1 Heading. <small>Subtítulo h1</small></h1>
<h2>h2 Heading. <small>Subtítulo h2</small></h2>
<h3>h3 Heading. <small>Subtítulo h3</small></h3>
<h4>h4 Heading. <small>Subtítulo h4</small></h4>
<h5>h5 Heading. <small>Subtítulo h5</small></h5>
<h6>h6 Heading. <small>Subtítulo h6</small></h6>
</div>
3.2. Párrafo:
Bootstrap ofrece un tamaño de fuente (.font-size) global de 14px, que se aplica por defecto a
un texto o párrafo. Un párrafo se define con la etiqueta <p>. Un párrafo incluye un margen inferior cuyo
valor es la mitad que su interlineado (10px por defecto). Ejemplo:
Etiqueta Descripción
<strong> Muestra el texto con un estilo de fuente en negrita. Se usa para indicar énfasis fuerte.
<b> Muestra el texto con un estilo de fuente en negrita.
<em> Muestra el texto con un estilo en cursiva o itálica. Se usa para términos técnicos.
<i> Muestra el texto con un estilo en cursiva o itálica.
<ins> Muestra el texto subrayado. Se usa para marcar secciones de texto que fueron insertadas.
<u> Muestra el texto subrayado. (Esta etiqueta está desaprobada)
<del> Muestra el texto tachado. Se usa para marcar secciones de texto que han sido borradas.
<s> Muestra el texto tachado. (Esta etiqueta está desaprobada)
<big> Muestra el texto con un tamaño un poco más grande.
<small> Muestra el texto con un tamaño más pequeño (85% del tamaño de letra).
<sup> Muestra el texto como superíndice.
<sub> Muestra el texto como subíndice.
<mark> Muestra el texto resaltado, con un fondo de color (highlight). Se usa para indicar relevancia.
<kbd> Muestra el texto resaltado, con fondo oscuro. Se usa para indicar combinaciones de teclas.
<code> Se usa para definir código de computadora (lenguajes de programación).
<pre> Se usa para mostrar texto preformateado, respetando los saltos de línea y espaciado.
8
Ejemplo:
Clase Descripción
.text-left Permite alinear el texto a la izquierda.
.text-center Permite centrar el texto.
.text-right Permite alinear el texto a la derecha.
.text-justify Permite justificar el texto.
.text-nowrap Permite que el texto no se fragmente al disminuir el ancho del navegador.
Ejemplo:
<h4>Ejemplo de alineación de un texto</h4>
<p class="text-left">Texto alineado a la izquierda.</p>
<p class="text-center">Texto centrado.</p>
<p class="text-right">Texto alineado a la derecha.</p>
<p class="text-justify">Texto justificado.</p>
<p class="text-nowrap">Texto que no se fragmenta al disminuir la ventana.</p>
Clase Descripción
.text-primary Aplica un color que indica que es “importante” a un texto.
.text-success Aplica un color de “resultado exitoso” a un texto.
.text-info Aplica un color referente a una “información” a un texto.
.text-warning Aplica un color que indica que se “requiere atención” a un texto.
.text-danger Aplica un color de “acción negativa o peligrosa” a un texto.
.text-muted Aplica un color gris a un texto.
Ejemplo:
<h4>Ejemplo de texto en color</h4>
<p class="text-primary">Texto tipo primary.</p>
<p class="text-success">Texto tipo success.</p>
<p class="text-info">Texto tipo info.</p>
<p class="text-warning">Texto tipo warning.</p>
<p class="text-danger">Texto tipo danger.</p>
<p class="text-muted">Texto tipo muted.</p>
9
3.6. Texto con fondo de color:
Clase Descripción
.bg-primary Aplica un fondo de color “primary” (importante) a un texto.
.bg-success Aplica un fondo de color “success” (resultado exitoso) a un texto.
.bg-info Aplica un fondo de color “info” (información) a un texto.
.bg-warning Aplica un fondo de color “warning” (requiere atención) a un texto.
.bg-danger Aplica un fondo de color “danger” (acción negativa o peligrosa) a un texto.
Ejemplo:
<h4>Ejemplo de texto con fondo de color</h4>
<p class="bg-primary">Texto con fondo primary.</p>
<p class="bg-success">Texto con fondo success.</p>
<p class="bg-info">Texto con fondo info.</p>
<p class="bg-warning">Texto con fondo warning.</p>
<p class="bg-danger">Texto con fondo danger.</p>
Clase Descripción
.text-uppercase Convierte todo el texto en mayúscula.
.text-lowercase Convierte todo el texto en minúscula.
.text-capitalize Convierte un texto a la inicial de cada palabra en mayúscula.
Ejemplo:
<h4>Ejemplo de conversión en mayúscula y minúscula</h4>
<p class="text-uppercase">Texto en mayúscula.</p>
<p class="text-lowercase">Texto en minúscula.</p>
<p class="text-capitalize">Texto con iniciales en mayúscula.</p>
<address>
<strong>Twitter, Inc.</strong><br/>
1355 Market Street, Suite 900<br/>
San Francisco, CA 94103<br/>
Phone: (123) 456-7890
</address>
10
Este es otro ejemplo de información de contacto:
<address>
<strong>Ing. Eduardo Vargas</strong><br>
<a href="mailto:#">[email protected]</a>
</address>
<blockquote>
<p>Este es un texto de otro autor.</p>
</blockquote>
<blockquote>
<p>Cuando quieres una cosa, todo el Universo conspira para ayudarte a
conseguirla.</p>
<footer> Paulo Coelho en <cite title="Source Title"> El Alquimista</cite>
</footer>
</blockquote>
<blockquote class="blockquote-reverse">
<p>Huid del país donde uno solo ejerce todos los poderes: es un país de
esclavos.</p>
</blockquote>
-------- o --------
11
4. Tablas (Tables):
Clase Descripción
.table Aplica el estilo de tabla de Bootstrap.
Para aplicar los estilos básicos de Bootstrap 3 a una tabla, agregue la clase .table a un
elemento <table>. El resultado es una tabla con un .padding muy sutil y con líneas de separación
solamente en las filas.
<div class="container">
<table class="table">
<caption>Tabla básica</caption>
<thead>
<tr>
<th>Nombre</th>
<th>Apellido</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pablo</td>
<td>Picasso</td>
<td>[email protected]</td>
</tr>
<tr>
<td>Salvador</td>
<td>Dalí</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
</div>
Una tabla tipo cebra (piel de cebra) es aquella cuyas filas alternan su color de fondo para mejorar
la legibilidad de los contenidos. En Bootstrap 3, agregue la clase .table-striped para crear una tabla
cebreada. Ejemplo:
Nota: Las tablas tipo cebra no funcionan en Internet Explorer 8, porque utilizan el selector :nth-child
de CSS.
Para aplicar el estilo tradicional de las tablas con los cuatro bordes en todas las celdas y en la
propia tabla, agregue la clase .table-bordered. Ejemplo:
12
4.4. Tabla dinámica:
Clase Descripción
.table-hover Este estilo cambia el color de fondo de una fila, cuando se posa encima el
cursor.
Usando la clase .table-hover, se consigue que cuando pasemos el cursor por encima de una
fila, cambia su color de fondo (gris claro) para mejorar la lectura de dicha fila y de la tabla en general.
Ejemplo:
Cuando una tabla es muy grande o se tienen muchas tablas en una misma página, puede ser
interesante mostrar sus contenidos de forma más compacta. Agregue la clase .table-condensed a
una tabla para que el padding de las filas se reduzca a la mitad. Ejemplo:
Clase Descripción
.active Aplica el color del estado .hover (gris) a una fila <tr> o una celda <td>.
.success Aplica un color de “resultado exitoso” a una fila <tr> o una celda <td>.
.info Aplica un color referente a una “información” a una fila <tr> o una celda <td>.
.warning Aplica un color que indica que se “requiere atención” a una fila <tr> o una celda <td>.
.danger Aplica un color de “acción negativa o peligrosa” a una fila <tr> o una celda <td>.
Ejemplo:
<div class="container">
<table class="table">
<caption>Tabla con colores</caption>
<thead class="active">
<tr>
<th>Pais</th>
<th>Moneda</th>
</tr>
</thead>
<tbody>
<tr class="success">
<td>Estados Unidos</td>
<td>Dolar</td>
</tr>
<tr>
<td>Venezuela</td>
<td class="active">Bolívar</td>
</tr>
<tr>
<td class="info">Japón</td>
<td>Yen</td>
</tr>
</tbody>
</table>
</div>
13
4.7. Tabla responsive:
Clase Descripción
.table-responsive Este estilo aplica a la tabla un comportamiento responsive.
La solución que propone Bootstrap 3 para crear tablas responsive que se vean bien en
dispositivos pequeños consiste en añadir un “scroll horizontal” a las tablas que sean demasiado anchas.
Para ello, encierre cualquier tabla con la clase .table dentro de un elemento (ej: <div>) con la clase
.table-responsive.
En otras palabras, si el dispositivo o ventana del navegador tiene una anchura menor o igual a
768px y la tabla responsive tiene una anchura mayor, se agregará un “scroll horizontal”.
Cuando las tablas responsive se muestran en dispositivos con una anchura superior a 768px, se
ven igual que cualquier otra tabla normal.
Ejemplo:
<div class="container">
<div class="table-responsive">
<table class="table">
...
</table>
</div>
</div>
<div class="container">
<table class="table table-striped table-bordered table-hover">
...
</table>
</div>
El siguiente ejemplo muestra cómo usar rowspan para fusionar dos filas; es decir, que una celda
ocupe dos filas contiguas en una misma columna:
<tr>
<td>A</td>
<td rowspan="2">B</td>
</tr>
<tr>
<td>C</td>
</tr>
-------- o --------
14
5. Listas:
Clase Descripción
.list-unstyled Esta clase puede aplicarse a una lista ordenada <ol> o desordenada <ul>,
para que los ítems no muestren viñetas o numeración.
Ejemplo:
15
5.5. Lista en línea:
Clase Descripción
.list-inline Esta clase puede aplicarse a una lista ordenada <ol> o desordenada <ul>,
para que los ítems se muestren en una misma línea.
Ejemplo:
Etiqueta Descripción
<dl> Esta etiqueta define una lista de definición o de descripción. Este tipo de listas agrupa
los ítems en pares: un ítem corresponde a un término (o descriptor) y el otro ítem
corresponde a su descripción.
<dt> Esta etiqueta define a un ítem correspondiente a un término.
<dd> Esta etiqueta define a un ítem correspondiente a una descripción.
Ejemplo:
Clase Descripción
.dl-horizontal Use esta clase en una lista de definición para que un ítem <dt> y su
correspondiente ítem <dd> se muestren en una misma línea.
Ejemplo:
-------- o --------
16
6. Formularios (Forms):
Bootstrap 3 aplica por defecto algunos estilos a todos los componentes de un formulario.
Un formulario se compone de una serie de controles (o campos) agrupados con la etiqueta
<form>.
Cada control estará acompañado por un elemento <label>.
El elemento <label> y el control se agrupan en una etiqueta <div>. Esta etiqueta <div>
incluirá la clase .form-group para un espaciado óptimo.
Agregue la clase .form-control a todos los elementos textuales <input>, <textarea> y
<select> para asignarles una anchura width: 100%.
Clase Descripción
.form-group Incluya esta clase en una etiqueta <div> para que Bootstrap agrupe
apropiadamente un elemento <label> y el control respectivo.
.form-control Agregue esta clase a los elementos <input>, <textarea> y <select> para
establecer su anchura width: 100%.
<form>
<div class="form-group">
<label for="usu">Usuario</label>
<input type="text" class="form-control" id="usu" placeholder="Usuario" />
</div>
<div class="form-group">
<label for="pw">Clave</label>
<input type="password" class="form-control" id="pw" placeholder="Clave" />
</div>
</form>
Ejemplo # 2:
<form>
<div class="form-group">
<label for="correo">E-mail</label>
<input type="email" class="form-control" id="correo" placeholder="E-mail"
/>
</div>
<div class="form-group">
<label for="pass">Password</label>
<input type="password" class="form-control" id="pass"
placeholder="Password" />
</div>
<div class="form-group">
<label for="archivo">Adjuntar un archivo</label>
<input type="file" id="archivo" />
<p class="help-block">Ejemplo de texto de ayuda.</p>
</div>
<div class="checkbox">
<label>
<input type="checkbox" />Activa esta casilla
</label>
</div>
<button type="submit" class="btn btn-default">Enviar</button>
</form>
17
6.2. Tipos de diseño de Formulario:
Bootstrap ofrece tres tipos diferentes de diseño de formulario:
Vertical (diseño por defecto)
Horizontal
En línea
<div class="row">
<div class="col-xs-offset-4 col-xs-4" style="background:#ddd;">
<h4>Ejemplo de Formulario vertical</h4>
<form>
<div class="form-group">
<label for="lg">Login</label>
<input type="text" class="form-control" id="lg" placeholder="Login" />
</div>
<div class="form-group">
<label for="pass">Password</label>
<input type="password" class="form-control" id="pass"
placeholder="Password" />
</div>
<button type="submit" class="btn btn-default">Enviar</button>
</form>
</div>
</div>
<form class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-2" for="ced">Cédula:</label>
<div class="col-sm-6">
<input type="number" class="form-control" id="ced" placeholder="Cédula">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-6">
<div class="checkbox">
<label><input type="checkbox"> Recordar</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-6">
<button type="submit" class="btn btn-default">Enviar</button>
</div>
</div>
</form>
18
6.2.3. Formulario en línea:
Clase Descripción
.form-inline Esta clase modifica el diseño de un formulario, colocando la etiqueta <label> a
la izquierda del control, que fueron agrupados con .form-group, y agrupa toso
los elementos en una sola línea horizontal.
Un formulario con diseño En línea requiere que se aplique la clase .form-inline. Este diseño
muestra todos los elementos del formulario en una misma línea horizontal. Ejemplo:
<div class="container">
<h3>Formulario Inline (ancho > 768px)</h3>
<form class="form-inline">
<div class="form-group">
<label for="email">E-mail:</label>
<input type="email" class="form-control" id="email" placeholder="Entre
e-mail">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd" placeholder="Entre
password">
</div>
<div class="checkbox">
<label><input type="checkbox">Recordar</label>
</div>
<button type="submit" class="btn btn-default">Enviar</button>
</form>
</div>
Nota: Este diseño aplica cuando la ventana del navegador tenga una anchura de al menos 768px. Si la
anchura disminuye el diseño se mostrará vertical.
<div class="form-group">
<label for="apell">Apellido:</label>
<input type="text" class="form-control" id="apell">
</div>
type Descripción
.text Casilla para ingresar un texto, tal como nombre o dirección.
.password Casilla para ingresar una contraseña (enmascarada con asteriscos o círculos).
.datetime Casilla para ingresar una fecha y hora.
.datetime-local Casilla para ingresar una fecha y hora (sin zona horaria).
.date Casilla para ingresar una fecha.
.month Casilla para ingresar un mes y año.
19
.time Casilla para ingresar un valor de hora (sin zona horaria).
.week Casilla para ingresar un número referente a una semana del año.
.number Casilla para ingresar un valor numérico.
.email Casilla para ingresar un correo electrónico.
.url Casilla para ingresar una dirección URL.
.search Casilla para ingresar un texto a buscar.
.tel Casilla para ingresar un número telefónico.
.color Casilla para ingresar un nombre de color.
<div class="form-group">
<label for="obs">Observaciones:</label>
<textarea class="form-control" rows="5" id="obs"></textarea>
</div>
<div class="checkbox">
<label><input type="checkbox" id="op1" value="op1">Opción 1</label>
</div>
<div class="checkbox">
<label><input type="checkbox" id="op2" value="op2" checked>Opción 2</label>
</div>
<div class="checkbox disabled">
<label><input type="checkbox" id="op3" value="op3" disabled>Opción 3</label>
</div>
Nota: Puede iniciar el formulario con una casilla de verificación marcada usando la propiedad checked;
o desactivarla aplicando la clase .disabled.
Clase Descripción
.checkbox-inline Aplique esta clase a todas las etiquetas <div> de los controles Checkbox, para
que aparezcan en una misma línea horizontal.
<div class="checkbox-inline">
<label><input type="checkbox" id="op1" value="op1">Opción 1</label>
</div>
<div class="checkbox-inline">
<label><input type="checkbox" id="op2" value="op2">Opción 2</label>
</div>
<div class="radio">
<label>
<input type="radio" name="opt" id="opt1" value="opt1" checked>Option 1
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="opt" id="opt2" value="opt2">Opción 2
</label>
</div>
20
<div class="radio disabled">
<label>
<input type="radio" name="opt" id="opt3" value="opt3" disabled>Opción 3
</label>
</div>
Nota: Puede iniciar el formulario con un botón de radio marcado usando la propiedad checked; o
desactivarlo aplicando la clase .disabled.
Clase Descripción
.radio-inline Aplique esta clase a todas las etiquetas <div> de los controles Radio, para que
aparezcan en una misma línea horizontal.
<div class="radio-inline">
<label>
<input type="radio" name="opt" id="opt1" value="opt1">Opción 1
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" name="opt" id="opt2" value="opt2">Opción 2
</label>
</div>
<div class="form-group">
<label for="lista">Lista de selección:</label>
<select class="form-control" id="lista">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
</div>
Nota: Una lista de selección permite escoger una opción de una lista. Para seleccionar más de una
opción de una lista se debe agregar la propiedad multiple.
<div class="form-group">
<label for="lista">Lista de selección Múltiple:</label>
<select multiple class="form-control" id="lista">
<option>A</option>
<option>B</option>
<option>C</option>
<option>D</option>
</select>
</div>
21
6.4. Estados de un control:
Existen diferentes estados de un control:
Con Foco
Deshabilitado (disabled)
Solo lectura (readonly)
Bootstrap 3 aplica una sombra a los campos seleccionados (que reciben el foco) colocando un
sombreado alrededor mediante la propiedad box-shadow de CSS.
Agregue la propiedad booleana readonly para prevenir que el usuario modifique su valor.
Ejemplo:
Altura de un control
Altura de un control y su label
Ancho de un control
Clase Descripción
.input-lg Agregue esta clase a un control para que se muestre más alto.
.input-sm Agregue esta clase a un control para que se muestre más bajo.
El siguiente ejemplo muestra tres casillas de texto (alta, normal, baja); y tres listas de selección
(alto, normal, bajo):
22
6.5.2. Altura de un control y su label:
Clase Descripción
.form-group-lg Agregue esta clase junto a la clase .form-group para que el control y su label se
muestren más altos.
.form-group-sm Agregue esta clase junto a la clase .form-group para que el control y su label se
muestren más bajos.
<form class="form-horizontal">
<div class="form-group form-group-lg">
<label for="cod1" class="col-sm-2 control-label">Alto:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="cod1" placeholder="Código">
</div>
</div>
<div class="row">
<div class="col-xs-2">
<input type="text" class="form-control" placeholder=".col-xs-2">
</div>
<div class="col-xs-3">
<input type="text" class="form-control" placeholder=".col-xs-3">
</div>
<div class="col-xs-4">
<input type="text" class="form-control" placeholder=".col-xs-4">
</div>
</div>
<div class="form-group">
<label for="cedula">Cédula:</label>
<input type="number" class="form-control" id="cedula">
<span class="help-block">Ingrese solo números.</span>
</div>
-------- o --------
23
7. Botones (Buttons):
Clase Descripción
.btn-default Aplica un color gris por defecto.
.btn-primary Aplica un color que indica que es el botón principal.
.btn-success Aplica un color de “acción exitosa o positiva”.
.btn-info Aplica un color referente a una “información”.
.btn-warning Aplica un color que indica que se “requiere precaución” con esta acción.
.btn-danger Aplica un color de “acción potencialmente negativa o peligrosa”.
.btn-link Aplica un color que lo enfatiza haciendo que se vea como un enlace (link).
Bootstrap provee siete clases para dar estilo a los botones. Ejemplo:
Ejemplo:
<div class="container">
<button type="button" class="btn btn-primary">Botón</button>
<a href="#" class="btn btn-danger" role="button">Link</a>
<input type="button" class="btn btn-warning" value="Botón en Input" />
<input type="submit" class="btn btn-success" value="Botón en Submit" />
</div>
Clase Descripción
.btn-lg Aplica un tamaño más grande a un botón o a un enlace <a>.
.btn-md Aplica un tamaño igual al tamaño por defecto a un botón o a un enlace <a>.
.btn-sm Aplica un tamaño más pequeño a un botón o a un enlace <a>.
.btn-xs Aplica un tamaño mucho más pequeño a un botón o a un enlace <a>.
Bootstrap provee cuatro tamaños que se pueden aplicar a un botón o a un enlace <a> (link).
Este ejemplo aplica tamaño a sus botones:
<div class="container">
<h2>Tamaño de los botones</h2>
<button type="button" class="btn btn-primary">Normal</button>
<button type="button" class="btn btn-primary btn-lg">Large</button>
<button type="button" class="btn btn-primary btn-md">Medium</button>
<button type="button" class="btn btn-primary btn-sm">Small</button>
<button type="button" class="btn btn-primary btn-xs">XSmall</button>
</div>
24
El siguiente ejemplo aplica tamaños a los enlaces <a> (links):
<div class="container">
<h2>Tamaño de los links</h2>
<a href="#" class="btn btn-info" role="button">Link normal</a>
<a href="#" class="btn btn-info btn-lg" role="button">Link Large</a>
<a href="#" class="btn btn-info btn-md" role="button">Link Medium</a>
<a href="#" class="btn btn-info btn-sm" role="button">Link Small</a>
<a href="#" class="btn btn-info btn-xs" role="button">Link XSmall</a>
</div>
Clase Descripción
.btn-block Un botón bloque se extiende por todo el ancho del elemento padre (contenedor).
Ejemplo:
<div class="container">
<h2>Botones bloque</h2>
<button type="button" class="btn btn-primary btn-block">Botón 1</button>
<button type="button" class="btn btn-default btn-block">Botón 2</button>
<h2>Links bloque</h2>
<a href="#" class="btn btn-primary btn-block" role="button">Link 1</a>
<a href="#" class="btn btn-default btn-block" role="button">Link 2</a>
</div>
Clase Descripción
.active Aplica a un botón la apariencia de estar presionado.
.disabled Deshabilita un botón, no permite hacerle clic (estado inhabilitado).
<div class="container">
<button type="button" class="btn btn-primary">Botón normal</button>
<button type="button" class="btn btn-primary active">Botón active</button>
<button type="button" class="btn btn-primary disabled">Inhabilitado</button>
-------- o --------
25
8. Grupo de Botones (Button Groups):
Clase Descripción
.btn-group Bootstrap agrupa una serie de botones a la vez (en una sola línea).
Bootstrap le permite agrupar una serie de botones a la vez (en una sola línea) en un grupo de
botones. Ejemplo:
<div class="btn-group">
<button type="button" class="btn btn-primary ">Primero</button>
<button type="button" class="btn btn-primary ">Segundo</button>
<button type="button" class="btn btn-primary ">Tercero</button>
</div>
<div class="btn-group">
<a href="#" class="btn btn-info" role="button">Link 1</a>
<a href="#" class="btn btn-info" role="button">Link 2</a>
<a href="#" class="btn btn-info" role="button">Link 3</a>
</div>
Clase Descripción
.btn-group-lg Aplica un tamaño más grande a todos los botones de un grupo .btn-group.
.btn-group-sm Aplica un tamaño más pequeño a todos los botones de un grupo .btn-group.
.btn-group-xs Aplica un tamaño mucho más pequeño a los botones de un grupo .btn-group.
Bootstrap provee tres tamaños para un grupo de botones. Estas clases se pueden aplicar a un
grupo de botones en lugar de cambiar el tamaño de cada botón. Ejemplo:
<div class="container">
<h3>Grupo de botones tamaño lg</h3>
<div class="btn-group btn-group-lg">
<button type="button" class="btn btn-default ">Uno</button>
<button type="button" class="btn btn-default ">Dos</button>
<button type="button" class="btn btn-default ">Tres</button>
</div>
</div>
Clase Descripción
.btn-group-vertical Agrupa una serie de botones verticalmente en lugar de su estilo horizontal
habitual.
Ejemplo:
<div class="container">
<h3>Grupo de botones Vertical</h3>
<div class="btn-group-vertical">
<button type="button" class="btn btn-primary">Apple</button>
<button type="button" class="btn btn-primary">Samsung</button>
<button type="button" class="btn btn-primary">Sony</button>
</div>
</div>
26
8.3. Grupo de Botones en Toolbar:
Clase Descripción
.btn-toolbar Permite agrupar una serie de .btn-group en una misma línea.
Clase Descripción
.btn-group-justified Agrupa una serie de botones verticalmente en lugar de su estilo horizontal
habitual.
Bootstrap le permite que un grupo de botones abarque todo el ancho de la pantalla, haciendo que
cada botón ocupe la misma anchura. El siguiente ejemplo usa elementos <a href>.
<div class="container">
<h3>Grupo de botones links Justified</h3>
<div class="btn-group btn-group-justified">
<a href="#" class="btn btn-primary">Link 1</a>
<a href="#" class="btn btn-primary">Link 2</a>
<a href="#" class="btn btn-primary">Link 3</a>
</div>
</div>
Para elementos <button>, debe envolver cada botón en una clase btn-group.
<div class="container">
<h3>Grupo de botones Justified</h3>
<div class="btn-group btn-group-justified">
<div class="btn-group">
<button type="button" class="btn btn-primary">Botón A</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-primary">Botón B</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-primary">Botón C</button>
</div>
</div>
</div>
27
9. Botón desplegable (dropdown):
Clase Descripción
.dropdown-toggle Agregue esta clase al botón que se va a desplegar.
.dropdown-menu Agregue esta clase a la lista desordenada <ul>.
.dropdown Agrupe el botón y la lista desordenada con una clase .dropdown
Ejemplo:
<div class="dropdown">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle =
"dropdown">
Menú desplegable
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
</ul>
</div>
Otra forma de crear un botón desplegable es a partir de un enlace <a> como botón principal del
menú. Ejemplo:
<div class="dropdown">
<a href="#" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
Link desplegable
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
</ul>
</div>
Clase Descripción
.dropup Agrupe el botón y la lista desordenada con una clase .dropup para crear
un botón desplegable hacia arriba.
Ejemplo:
<div class="dropup">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle =
"dropdown">
Menú hacia arriba
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
</ul>
</div>
28
9.2. Separador de ítems (divider):
Clase Descripción
.divider Use esta clase en una etiqueta <li> para que se muestre una línea
separadora entre ítems.
Ejemplo:
<div class="dropdown">
<button type="button" class="btn btn-info dropdown-toggle" data-toggle =
"dropdown">
Menú desplegable
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">JavaScript</a></li>
</ul>
</div>
Clase Descripción
.active Coloque esta clase en una etiqueta <li> para una apariencia de estar seleccionado.
.disabled Coloque esta clase en una etiqueta <li>, para deshabilitar un ítem (no permite hacerle
clic).
Ejemplo:
<div class="dropdown">
<button type="button" class="btn btn-primary dropdown-toggle" data-
toggle="dropdown">
Menú desplegable
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li class="active"><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li class="disabled"><a href="#">Link 3</a></li>
</ul>
</div>
-------- o --------
29
10. Menú desplegable (dropdown):
Clase Descripción
.btn-group Agrupe cada botón desplegable del menú desplegable con la clase .btn-group.
Podemos crear un menú desplegable (dropdown) agrupando una serie de botones desplegables.
Cada botón desplegable debe estar agrupado con la clase .btn-group.
El siguiente ejemplo muestra un menú desplegable formado por dos botones desplegables y un
botón (link):
<div class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle =
"dropdown">
Menú desplegable 1
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Link 3</a></li>
</ul>
</div>
<div class="btn-group">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle =
"dropdown">
Menú desplegable 2
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Link 4</a></li>
<li><a href="#">Link 5</a></li>
<li role="separator" class="divider"></li>
<li class="disabled"><a href="#">Link 6</a></li>
</ul>
</div>
<div class="btn-group">
<a href="#" class="btn btn-danger" role="button">Link</a>
</div>
-------- o --------
30
11. Elementos de navegación (Navs):
Clase Descripción
.nav Use esta clase en una lista desordenada <ul> para aplicar a sus ítems (links) el estilo
de elementos de navegación.
Bootstrap permite aplicar a una lista desordenada <ul> que contiene enlaces (links) el estilo de
elementos de navegación, agregando la clase .nav acompañada del tipo de elemento.
La sintaxis para un navegador es:
Clase Descripción
.nav-tabs Agregue esta clase junto a .nav para crear el estilo de pestañas de navegación.
.nav-pills Agregue esta clase junto a .nav para crear el estilo de botones de navegación.
Clase Descripción
.nav-stacked Agregue esta clase junto a una clase .nav-pills para obtener un estilo de
botones de navegación “vertical”.
Los elementos de navegación de tipo botones también se pueden apilar verticalmente. Sólo tiene
que añadir la clase .nav-stacked:
Ejemplo:
31
11.3. Elementos de navegación justificado (Justified):
Clase Descripción
.nav-justified Agregue esta clase junto a una clase .nav-tabs o a una clase .nav-pills
para aplicar un estilo de navegación “justificado”.
Esta clase permite crear una lista de navegación que ocupa toda la anchura del contenedor en el
que se encuentra, donde todos sus enlaces tienen la misma anchura.
Este comportamiento sólo es posible para los dispositivos con una anchura superior a 768px. En
una anchura menor, la lista de navegación se muestra verticalmente.
Esta es su sintaxis:
Clase Descripción
.active Coloque esta clase en una etiqueta <li> para una apariencia de estar seleccionado.
.disabled Coloque esta clase en una etiqueta <li>, para deshabilitar un ítem (no permite hacerle
clic).
Ejemplo:
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">
Menú desplegable
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Link 3</a></li>
</ul>
</li>
<li><a href="#">Mensajes</a></li>
</ul>
32
11.6. Ejemplo de navegación dinámica:
Puede crear elementos de navegación dinámicos, es decir, que cada cuerpo o contenido de la
página esté asociado a cada elemento (pestaña o botón) de navegación.
El procedimiento, en general es:
Crear una lista de navegación, de tipo pestañas o botones.
Agregue a cada enlace <a> el elemento: data-toggle="tab".
Además, cada enlace <a> dede tener un elemento href que sea igual a un identificador precedido
por “#”.
A continuación de esta lista, se crearán las páginas para cada enlace: encerrados con una etiqueta
<div> que incluya un id y un elemento class="tab-pane fade".
Todos estos <div> se envolverán con un <div> con la clase “.tab-content”.
Ejemplo:
<div class="container">
<h2>Elementos de navegación dinámicos</h2>
<ul class="nav nav-tabs">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li>
<li><a href="#menu1" data-toggle="tab">Menu 1</a></li>
<li><a href="#menu2" data-toggle="tab">Menu 2</a></li>
<li><a href="#menu3" data-toggle="tab">Menu 3</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME:</h3>
<p>Bienvenidos.</p>
</div>
<div id="menu1" class="tab-pane fade">
<p>Aquí se muestra una imagen (foto).</p>
<img src="foto1.jpg" class="center-block img-responsive" width="400">
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2:</h3>
<p>Este es el contenido de Menu 2.</p>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3:</h3>
<p>Aquí se muestra otra imagen (foto).</p>
<img src="foto2.jpg" class="center-block img-responsive" width="400">
</div>
</div>
</div>
Para crear una lista de navegación con botones, sólo cambie la tercera línea del ejemplo anterior
por esta otra línea:
-------- o --------
33
12. Barras de navegación (NavBar):
Las barras de navegación (Navbars) son componentes adaptados al diseño web responsive y
que se utilizan como elemento principal (cabecera) de navegación tanto en las aplicaciones como en los
sitios web.
En los dispositivos móviles se muestran inicialmente minimizadas (colapsadas) y al pulsar sobre
ellas, se despliegan todas sus opciones. Si la anchura del dispositivo aumenta hasta un nivel suficiente,
las barras de navegación muestran todos sus contenidos horizontalmente.
Ejemplo:
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
</div>
</nav>
</div>
</nav>
34
12.3. Botón de despliegue:
Podemos agregar un botón que aparecerá cuando la barra de navegación colapse. Este botón
sirve para desplegar y ocultar el menú (los enlaces) de la barra.
El siguiente ejemplo crea una barra de navegación con un botón de despliegue “Menú”:
El siguiente ejemplo agrega un botón de despliegue con icono de tres barras horizontales:
35
12.4. Elementos del Menú:
La barra de navegación puede contener varios elementos en el menú de opciones, tales como
enlaces, listas desplegables o formularios (casillas de texto y botones), los cuales se pueden ocultar al
minimizar la barra.
El siguiente ejemplo crea una barra de navegación con diferentes elementos en el menú:
36
12.5. Alinear elementos de la barra:
Clase Descripción
.navbar-left Esta clase permite alinear los elementos a la izquierda (por defecto) de la barra.
.navbar-right Esta clase permite alinear los elementos a la derecha de la barra.
Para alinear los enlaces, formularios, botones o texto de la barra de navegación, puede utilizar las
clases .navbar-left y .navbar-right, que añaden a ese elemento un float en la dirección
correspondiente. Así, para alinear por ejemplo varios enlaces de navegación, puede encerrarlos dentro
de un elemento <ul> y aplicar sobre este último una de las dos clases mencionadas anteriormente.
En realidad, estas clases se basan en las clases genéricas .pull-left y .pull-right. La
diferencia es que han sido adaptadas a los diferentes visores para que los elementos de la barra de
navegación se vean lo mejor posible en todo tipo de dispositivos.
Nota: No olvide añadir el atributo role="navigation" a todas las barras de navegación, para mejorar
la accesibilidad de los sitios y aplicaciones.
Nota: La barra de navegación responsive requiere el uso del plugin collapse de JavaScript incluido en
Bootstrap 3. Esto para prevenir si Javascript está desactivado en el navegador.
37
12.6. Barra de navegación fija (Fixed to top):
Clase Descripción
.navbar-fixed-top Esta clase fija la barra de navegación en la parte superior de la página.
Nota: Debido a los estilos aplicados, la barra de navegación fija (to top) puede tapar los contenidos que
se encuentran en la parte superior de la página. Para evitarlo, añada un .padding-top en el elemento
<body>. Como por defecto la barra de navegación tiene una altura de 50px, aplique un estilo
recomendado de 70px:
El siguiente ejemplo muestra la manera de crear una barra de navegación fija en la parte
superior:
<div class="container">
<h3>Barra de navegación Fija (Fixed to top)</h3>
<p>Este ejemplo muestra la manera de usar <strong>.navbar-fixed-top</strong>
en la barra de navegación.</p>
</div>
</body>
Nota: Debido a los estilos aplicados, la barra de navegación fija (to bottom) puede tapar los contenidos
que se encuentran en la parte inferior de la página. Para evitarlo, añada un .padding-bottom: 70px.
El siguiente ejemplo muestra la manera de crear una barra de navegación fija en la parte inferior:
<div class="container">
<h3>Barra de navegación Fija (Fixed to bottom)</h3>
</div>
</body>
38
12.8. Barra de navegación estática en la parte superior (Static top):
Clase Descripción
.navbar-static-top Esta clase adapta la barra de navegación al contenedor, en la parte superior
de la página.
Aplique la clase .navbar-static-top para crear una barra de navegación que ocupe toda la
anchura del elemento (contenedor) en el que se encuentra.
El siguiente ejemplo muestra la manera de crear una barra de navegación estática en la parte
superior:
<div class="container">
<nav class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container-fluid">
<!-- Encabezado de la barra de navegación -->
...
<!-- Enlaces de navegación de la barra -->
...
</div> <!-- /.container-fluid -->
</nav>
Clase Descripción
.navbar-inverse Esta clase aplica un color oscuro a la barra de navegación.
El estilo por defecto de las barras de navegación no queda muy bien en las páginas con fondo
oscuro. Por eso Bootstrap 3 define un estilo alternativo muy oscuro que se activa aplicando la clase
.navbar-inverse a la barra de navegación. Ejemplo:
<div class="container">
<h3>Barra de navegación Invertida (Inverse)</h3>
<p>Este ejemplo muestra la manera de usar <b>.navbar-inverse</b>
en la barra de navegación.</p>
</div>
39
12.10. Ejemplo de Barra de navegación con formulario login desplegable a la derecha:
</div>
</div>
</nav>
<div class="container">
<h3>Navbar With Dropdown</h3>
</div>
40
12.11. Ejemplo de Barra de navegación lateral (Slide Menu):
El siguiente código pertenece a la barra de navegación:
<div class="container">
<h3>Slide menu Navbar</h3>
<p>This example adds a slide menu in the navigation bar.</p>
</div>
41
El siguiente código pertenece al script CSS para que funcione el Slide:
<style>
nav.sidebar,
.main {
-webkit-transition: margin 200ms ease-out;
-moz-transition: margin 200ms ease-out;
-o-transition: margin 200ms ease-out;
transition: margin 200ms ease-out;
}
.main {
padding: 10px 10px 0 10px;
}
42
}
nav.sidebar {
width: 200px;
height: 100%;
margin-left: -160px;
float: left;
margin-bottom: 0px;
}
nav.sidebar li {
width: 100%;
}
nav.sidebar:hover {
margin-left: 0px;
}
.forAnimate {
opacity: 0;
}
}
nav:hover .forAnimate {
opacity: 1;
}
</style>
-------- o --------
43
13. Etiquetas (Labels):
Clase Descripción
.label Use esta clase dentro de un elemento <span> para crear una etiqueta.
Las etiquetas se utilizan generalmente para expresar información valiosa en las páginas web,
tales como notas importantes, tips, consejos, mensajes de advertencia, o información adicional acerca de
algo. El uso de la clase .label se muestra en el siguiente ejemplo:
Clase Descripción
.label-default Aplica un color gris por defecto.
.label-primary Aplica un color que indica que es principal.
.label-success Aplica un color de “acción exitosa o positiva”.
.label-info Aplica un color referente a una “información”.
.label-warning Aplica un color que indica que se “requiere precaución” con esta acción.
.label-danger Aplica un color de “acción potencialmente negativa o peligrosa”.
Bootstrap provee seis clases para dar estilo a las etiquetas. Ejemplo:
-------- o --------
44
14. Badges:
Clase Descripción
.badge Use esta clase dentro de un elemento <span> para crear un indicador “badge”.
Los elementos “badges” son indicadores numéricos asociados a un enlace (link). Los “badges”
se emplean para destacar elementos nuevos o que no han sido leídos.
El uso de la clase .badge se muestra en el siguiente ejemplo:
<span class="badge">1</span>
Por otra parte, los “badges” disponen por defecto de los estilos adecuados para verse bien
cuando se incluyen dentro del enlace seleccionado de un elemento de navegación (.nav).
El siguiente ejemplo aplica “badges” a una serie de botones de navegación (.nav pills):
Nota: Lo mejor de los “badges” es que se ocultan automáticamente cuando no hay elementos nuevos o
sin leer, gracias al selector :empty de CSS. Este comportamiento no está disponible en Internet
Explorer 8 porque ese navegador no soporta el selector :empty.
-------- o --------
45
15. Glyphicons:
Bootstrap incluye más de 250 glifos en formato de fuente (font format). Los glifos medianos
(Glyphicons Halflings) no están normalmente disponibles de forma gratuita, pero su creador los ha puesto
a disposición de Bootstrap libre de costo.
<div class="container">
<h3>Ejemplo de uso de Glyphicon</h3>
<button type="button" class="btn btn-primary">
<span class="glyphicon glyphicon-user"></span>
</button>
<button type="button" class="btn btn-default">
Inicio <span class="glyphicon glyphicon-home"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-search"></span> Buscar2
</button>
<button type="button" class="btn btn-primary">
<span style="font-size:20px;" class="glyphicon glyphicon-
user"></span>
</button>
</div>
El siguiente ejemplo permite incluir un glifo en un link <a href> tipo botón. No olvide añadir un
espacio entre el icono y el texto para que se vea mejor.
<div class="container">
<h3>Ejemplo 2 de uso de Glyphicon</h3>
<a href="#" class="btn btn-info" role="button">
Link 1 <span class="glyphicon glyphicon-globe"></span>
</a>
<a href="#" class="btn btn-info" role="button">
Link 2 <span class="glyphicon glyphicon-wrench"></span>
</a>
</div>
Este ejemplo crea un grupo de botones tipo barra de herramientas (toolbar) que incluye glifos.
<div class="container">
<h3>Ejemplo 3 de uso de Glyphicon</h3>
<div class="btn-toolbar" role="toolbar">
<div class="btn-group">
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-align-left"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-align-center"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-align-right"></span>
</button>
<button type="button" class="btn btn-default">
<span class="glyphicon glyphicon-align-justify"></span>
</button>
</div>
</div>
</div>
-------- o --------
46
16. Imágenes (Images):
Clase Descripción
.img-responsive Añada esta clase a una imagen para que se comporte de manera responsive.
.center-block Añada esta clase a una imagen para centrarla en su contenedor.
El siguiente ejemplo muestra una imagen responsive que ocupa el ancho del contenedor:
<div class="container">
<img src="../img/foto2.jpg" class="img-responsive" alt="Imagen responsive">
</div>
<div class="container">
<img src="../img/foto3.jpg" class="center-block img-responsive" width="400">
</div>
Clase Descripción
.img-rounded Aplica esquinas redondeadas a la imagen.
.img-circle Aplica la forma de un círculo.
.img-thumbnail Muestra la imagen con un relleno blanco y un borde fino.
Ejemplo:
<div class="container">
<img src="../img/foto1.jpg" class="img-rounded" width="350">
<img src="../img/foto2.jpg" class="img-circle" width="350">
<img src="../img/foto3.jpg" class="img-thumbnail" width="350">
</div>
Nota: La clase .img-rounded y la clase .img-circle no son soportadas por Internet Explorer 8.
<div class="row">
<div class="col-xs-6 col-md-3">
<a href="#" class="thumbnail">
<img src="../imagenes/foto.jpg" alt="Thumbnail">
</a>
</div>
...
</div>
-------- o --------
47
17. Objetos multimedia (Responsive embed):
Bootstrap ofrece clases que permiten a los navegadores mostrar vídeos o presentaciones de
diapositivas de manera responsive.
Ejemplo:
Nota: La relación de aspecto (aspect radio) de una imagen describe la proporción entre su anchura y su
altura. Dos proporciones comunes son: 16:9 y 4:3.
Nota: Actualmente, existen tres formatos de vídeo soportados: mp4, WebM y Ogg.
Ejemplo:
Nota: Actualmente, existen tres formatos de audio soportados: mp3, Wav y Ogg.
Ejemplo:
-------- o --------
48
18. Encabezado de página (Page header):
Clase Descripción
.page-header Use esta clase para agregar un estilo y espacio apropiado alrededor de los títulos de
una página.
Bootstrap define un componente "encabezado de página" que resulta muy útil en páginas de
sitios web como blogs, periódicos y revistas para que muestren de forma muy destacada el titular de la
página, con alguna otra información relacionada.
Normalmente, el contenido de este elemento, al que se aplica la clase .page-header, está
formado por un elemento <h1> y un elemento <small> asociado para la información secundaria, aunque
puede contener cualquier otro tipo de elemento. Ejemplo:
<div class="page-header">
<h1>Encabezado de página <small>con un texto secundario</small></h1>
</div>
<p>Este es un texto cualquiera.</p>
<p>Este es otro texto.</p>
-------- o --------
19. Jumbotron:
Clase Descripción
.jumbotron Use esta clase para mostrar contenido de forma muy destacada.
Este componente permite mostrar contenido de forma muy destacada. Si se encierra dentro de
un .container, solamente ocupará la anchura del contenedor y mostrará esquinas redondeadas.
Si no se encierra dentro de un elemento .container, ocupa toda la anchura del dispositivo.
Ejemplo:
<div class="container">
<div class="jumbotron">
<h1>Bootstrap Tutorial</h1>
<p>Bootstrap is the most popular HTML, CSS, and JS framework for
developing responsive, mobile-first projects on the web.</p>
</div>
<p>This is some text.</p>
<p>This is another text.</p>
</div>
-------- o --------
<div class="container">
<div class="well">Este texto usa la clase .well</div>
</div>
<div class="container">
<div class="well well-lg">Este texto usa la clase .well-lg.</div>
<div class="well">Este texto usa la clase .well (normal).</div>
<div class="well well-sm">Este texto usa la clase .well-sm.</div>
</div>
-------- o --------
49
21. Alertas (Alerts):
Este tipo de mensajes se utiliza normalmente para proporcionar al usuario información contextual
sobre el resultado de sus acciones.
La clase base .alert no define un estilo por defecto. Por eso es obligatorio acompañar esta
clase con uno de sus modificadores. El motivo es que en la práctica no tiene sentido mostrar un mensaje
de alerta neutro (por ejemplo, de color gris claro), ya que las alertas siempre son de algún tipo
(advertencia, error, éxito, información). Ejemplo:
<div class="container">
<h2>Alertas</h2>
<div class="alert alert-success" role="alert">
<strong>Success!</strong> Los datos fueron gardados.
</div>
<div class="alert alert-info" role="alert">
<strong>Info!</strong> Esta es una información.
</div>
<div class="alert alert-warning" role="alert">
<strong>Warning!</strong> Está a punto de borrar toda la base de datos.
</div>
<div class="alert alert-danger" role="alert">
<strong>Danger!</strong> Error al conectar.
</div>
</div>
Clase Descripción
.alert-dismissable Esta clase permite agregar un botón de cierre al mensaje de alerta.
Clase Descripción
.fade .in Agregue estas clases para un efecto animado al cerrar el mensaje de alerta.
Estas clases añaden un efecto de atenuación cuando se cierra (X) el mensaje de alerta.
Ejemplo (pulsa sobre la X de la derecha para cerrar el mensaje):
Clase Descripción
.alert-link Agregue esta clase al enlace (link) para adaptar su aspecto al mensaje de alerta.
-------- o --------
Clase Descripción
.panel-body Esta clase define la sección de contenido de un panel.
Algunas veces usted puede requerir colocar su contenido en una caja para una mejor
presentación. En tal situación, el componente panel de Bootstrap puede ser muy útil.
La clase base .panel no define un estilo si se coloca sola. Por eso es obligatorio acompañar
esta clase con uno de sus modificadores para aplicar un borde de color a la caja.
Agregue la clase .panel-body para definir la sección de contenido del panel. Ejemplo:
<div class="container">
<h2>Paneles básicos</h2>
</div>
51
22.1. Panel con título (heading):
Clase Descripción
.panel-heading Esta clase define una sección para un título.
Use la clase .panel-heading para agregar fácilmente una sección para colocar un título
encima de la sección de contenido .panel-body. Ejemplo:
Opcionalmente puede encerrar el título con cualquiera de las etiquetas <h1>..<h6> aplicándole
la clase .panel-title. Esta clase aplica un estilo predefinido por Bootstrap a las etiquetas
<h1>..<h6>. Sin embargo, el tamaño de la fuente será sobreescrito por .panel-heading.
Ejemplo:
Los paneles también pueden contener un pie o zona inferior donde incluir por ejemplo los botones
de acción o cualquier otro texto secundario. Estas zonas inferiores se utilizan con un estilo de color por
defecto .panel-default, debido a que no heredan los colores ni los estilos cuando se utilizan los
paneles contextuales (tal como .panel-primary).
Ejemplo:
52
22.3. Panel con tabla:
Puede incluir dentro de un panel cualquier tabla sin borde y con la clase .table. Sus contenidos
se adaptarán perfectamente al panel. Si además existe un elemento con la clase .panel-body, se
añade un borde extra en la parte superior de la tabla para mejorar su separación.
Su sintaxis es:
</div>
Ejemplo:
</div>
-------- o --------
53
23. Carrusel (Carousel plugin):
El carrusel (carousel plugin), también conocido como presentación de diapositivas (slideshow) o
deslizador de imágenes (slider), es una de las mejores maneras de mostrar gran cantidad de contenidos
dentro de un pequeño espacio en las páginas web. Es una presentación dinámica responsive de
contenidos donde las imágenes, vídeos y el texto se hacen visibles o accesibles al usuario de forma
cíclica.
El siguiente ejemplo le mostrará cómo construir un carrusel simple:
<div class="item">
<img src="../imagenes/foto2.jpg" alt="foto2">
<div class="carousel-caption">
<h3>Título 2</h3>
<p>Este es un subtítulo.</p>
</div>
</div>
<div class="item">
<img src="../imagenes/foto3.jpg" alt="foto3">
<div class="carousel-caption">
<h3>Título 3</h3>
<p>Este es un subtítulo.</p>
</div>
</div>
</div>
Nota: Internet Explorer 8 y 9 no soportan las propiedades CSS necesarias para esta animación.
-------- o --------
54
24. Modales (Modal plugin):
Los modales son, básicamente, un cuadro de diálogo que se utiliza para proporcionar información
importante al usuario o pedirle que tome las medidas necesarias antes de continuar. Estas ventanas
modales son ampliamente usadas para advertir a los usuarios de situaciones como el fin de sesión o para
recibir su confirmación final antes de realizar alguna acción crítica, tal como guardar o borrar datos
importantes.
Para activar un modal de Bootstrap (a través de los atributos de datos) se necesita básicamente
dos componentes: el elemento controlador o disparador (trigger) tal como un botón o un enlace; y el
elemento modal en sí.
<div class="container">
<h2>Ejemplo de Modal</h2>
Nota: La clase .fade en el elemento .modal añade un efecto de animación mientras se muestra y
oculta la ventana modal. Si desea que el modal simplemente aparezca sin ningún efecto sólo elimine
esta clase.
55
El siguiente ejemplo muestra la forma de activar el modal mediante un enlace o link (trigger):
<div class="container">
<h2>Ejemplo 2 de Modal</h2>
Clase Descripción
.modal-lg Aplica un tamaño más largo que el normal a la ventana modal.
.modal-sm Aplica un tamaño más corto que el normal a la ventana modal.
Los modales tienen dos tamaños opcionales, disponibles a través de las clases modificadotas
colocadas junto a la clase .modal-dialog.
Ejemplo:
<div class="container">
<h2>Ejemplo 3 de Modal</h2>
<script type="text/javascript">
$(document).ready(function(){
$(function () {
$("#miModal-1").modal('show');
})
});
</script>
-------- o --------
56
25. Tooltips (Tooltip plugin):
Clase Descripción
.data-toggle="tooltip" Esta clase activa el tooltip.
.title Esta clase permite definir el texto del tooltip.
Los tooltips son pequeñas etiquetas emergentes que se muestran cuando el puntero del ratón se
posa durante unos instantes encima de un componente visual. Son muy prácticos para suministrar una
información adicional relacionada con este componente.
Los tooltips se usan generalmente sobre enlaces (links) o botones. Por defecto, el tooltip se
muestra en la parte superior.
El siguiente ejemplo muestra el uso de tooltip en un botón y en un enlace:
<div class="container">
<h3>Ejemplo de Tooltip en un botón</h3>
<button type="button" class="btn btn-success" data-toggle="tooltip"
title="Soy un botón!">Botón</button>
El plugin tooltip no es solamente un plugin-css, tal como dropdown u otros plugins. El plugin
tooltip (así como el plugin popover) lo debe inicializar usted mismo.
Para utilizar este plugin debe activarlo usando jQuery (javascript). Para activar todos los tooltips
en su página sólo tiene que utilizar este script:
<script type="text/javascript">
$(document).ready(function(){
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
});
</script>
Ejemplo:
<div class="container">
<h3>Ejemplo de posicionar Tooltip</h3>
<a href="#" data-toggle="tooltip" data-placement="top" title="Estoy
arriba!"> Enlace 1</a>
<a href="#" data-toggle="tooltip" data-placement="bottom" title="Estoy
abajo!"> Enlace 2</a>
<a href="#" data-toggle="tooltip" data-placement="left" title="Estoy a la
izquierda!"> Enlace 3</a>
<a href="#" data-toggle="tooltip" data-placement="right" title="Estoy a la
derecha!"> Enlace 4</a>
</div>
-------- o --------
57
26. Popovers (Popover plugin):
Clase Descripción
.data-toggle="popover" Esta clase activa el popover.
.title Esta clase permite definir el título del popover.
.data-content Esta clase permite definir el contenido del popover.
Los popovers son pequeñas etiquetas emergentes similares a los tooltips que ofrecen
información más completa y extendida. Tienen un título y un contenido, parecido a los de los iPad.
Los popovers se pueden activar al pulsar en un botón o en un enlace, o al posar el puntero del
ratón encima de un componente visual (dependiendo de las clases modificadoras).
Los popovers se usan generalmente sobre enlaces (links) o botones. Por defecto, un popover se
muestra del lado derecho.
<div class="container">
<h3>Ejemplo de Popover en un botón</h3>
<button type="button" class="btn btn-info" data-toggle="popover" title="Aquí
va el título!" data-content="Algún contenido del popover">Botón</button>
El plugin popover no es solamente un plugin-css, tal como dropdown u otros plugins. El plugin
popover (así como el plugin tooltip) lo debe inicializar usted mismo.
Para utilizar este plugin debe activarlo usando jQuery (javascript). Para activar todos los
popovers en su página sólo tiene que utilizar este script:
<script type="text/javascript">
$(document).ready(function(){
$(function () {
$('[data-toggle="popover"]').popover()
})
});
</script>
<div class="container">
<h3>Ejemplo de posicionar Popover</h3>
<a href="#" data-toggle="popover" data-placement="top" title="Título!" data-
content="Estoy arriba!"> Enlace 1</a>
<a href="#" data-toggle="popover" data-placement="bottom" title="Título!"
data-content="Estoy abajo!"> Enlace 2</a>
<a href="#" data-toggle="popover" data-placement="left" title="Título!"
data-content="Estoy a la izquierda!"> Enlace 3</a>
<a href="#" data-toggle="popover" data-placement="right" title="Yítulo!"
data-content="Estoy a la derecha!"> Enlace 4</a>
</div>
58
26.2. Cerrar Popover fuera del elemento:
Clase Descripción
.data-trigger="focus" Esta clase cierra el popover al pulsar fuera del elemento.
Por defecto, los popovers no se esconden hasta que haga clic nuevamente sobre el elemento
disparador (trigger) que lo activó. Se puede utilizar el disparador focus para ocultar un popover cuando el
usuario haga el siguiente clic fuera del elemento.
El siguiente ejemplo activa un popover al pulsar sobre un enlace y lo oculta con un clic fuera del
enlace:
<div class="container">
<h3>Ejemplo de Popover que cierra fuera</h3>
<a href="#" data-toggle="popover" data-trigger="focus" title="Un título!"
data-content="Algún contenido del popover">Mi enlace</a>
</div>
Clase Descripción
.data-trigger="hover" Esta clase activa y oculta el popover posando el cursor sobre el elemento.
Si desea que el popover se active al mover el puntero del ratón sobre un elemento y ocultarlo al
retirarlo, use el atributo .data-trigger con el valor "hover". Ejemplo:
<div class="container">
<h3>Ejemplo de Popover que cierra fuera</h3>
<a href="#" data-toggle="popover" data-trigger="hover" title="Un título!"
data-content="Algún contenido del popover">Mi enlace</a>
</div>
-------- o --------
Clase Descripción
.data-toggle="collapse" Esta clase se coloca en el disparador (trigger): botón o enlace.
.data-target="#id" Esta clase va en el disparador y conecta con el elemento colapsable.
.collapse Esta clase define el elemento colapsable (que se muestra y oculta).
Elementos colapsables son útiles cuando se desea ocultar y mostrar gran cantidad de contenido.
El siguiente ejemplo define un enlace que funciona como disparador para mostrar/ocultar un
contenido colapsable (debajo):
<div class="container">
<a href="#demo1" data-toggle="collapse">Enlace</a>
59
El siguiente ejemplo define un botón que funciona como disparador para mostrar/ocultar un
contenido colapsable (debajo):
<div class="container">
<button data-toggle="collapse" data-target="#demo2">Botón</button>
Clase Descripción
.panel-collapse .collapse Use estas dos clases juntas para definir un panel colapsable.
<div class="container">
<h2>Ejemplo de Panel colapsable</h2>
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" href="#demo4">Enlace</a>
</h4>
</div>
<div id="demo4" class="panel-collapse collapse">
<div class="panel-body">Cuerpo del panel</div>
<div class="panel-footer">Pie del panel</div>
</div>
</div>
</div>
</div>
60
27.2. Acordeón (Accordion):
El siguiente ejemplo muestra un sencillo acordeón mediante la ampliación del componente panel:
<div class="container">
<h2>Ejemplo de Acordeón</h2>
<p><b>Note:</b> The <b>data-parent</b> attribute makes sure that all
collapsible elements under the specified parent will be closed when one of the
collapsible item is shown.</p>
<div class="panel-group" id="acordeon">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#acordeon" href="#colapsa1">
Grupo Colapsable 1</a>
</h4>
</div>
<div id="colapsa1" class="panel-collapse collapse in">
<div class="panel-body">"Clama a mí, y yo te responderé, y te enseñaré
cosas grandes
y ocultas que tú no conoces". Jeremías 33:3</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#acordeon" href="#colapsa2">
Grupo Colapsable 2</a>
</h4>
</div>
<div id="colapsa2" class="panel-collapse collapse">
<div class="panel-body">"Antes de que me llamen, yo les responderé;
antes de que terminen
de hablar, ya los habré escuchado". Isaías 65:24</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#acordeon" href="#colapsa3">
Grupo Colapsable 3</a>
</h4>
</div>
<div id="colapsa3" class="panel-collapse collapse">
<div class="panel-body">"Si a alguno de ustedes le falta sabiduría,
que la pida a Dios,
y la recibirá, porque él la da a todos generosamente, sin exigir nada
en cambio." Santiago 1:5</div>
</div>
</div>
</div>
</div>
-------- o --------
61