03 - 3 - Lectura HTML - CSS - Boostrap
03 - 3 - Lectura HTML - CSS - Boostrap
Para hacer páginas Web necesitas aprender dos lenguajes: HTML y CSS. Estos son los lenguajes
que los navegadores (Firefox, Chrome, Internet Explorer) entienden e interpretan para
mostrarte lo que ves cuando abres alguna página.
HTML se usa para definir la estructura de la página (títulos, párrafos, tablas, listas, vínculos,
formularios, imágenes, etc.) y CSS se usa para aplicarle el estilo (color de fondo, márgenes
entre los elementos, tamaño de las fuentes, bordes, etc.).
Etiquetas
HTML está compuesto de etiquetas. Una etiqueta es una palabra clave encerrada entre < y
> . Por ejemplo, < hr> es una etiqueta que pinta una línea horizontal como la siguiente :
Algunas etiquetas necesitan una etiqueta de cierre porque pueden contener texto y otras
etiquetas. La etiqueta de cierre lleva un slash (/) antes de la palabra clave. Por ejemplo, la
etiqueta < p> se utiliza para definir un párrafo y necesita una etiqueta de cierre </p>
cuando termina el párrafo:
<p>
Este es un párrafo <em>importante</em> .
</p>
En este ejemplo hemos definido un párrafo que contiene texto y una etiqueta <em> con más
texto.
<body>
…
</body>
</html>
La primera línea <!DOCTYPE html> le dice al navegador que estamos usando la última versión de
HTML,HTMLS. Un documento HTML siempre empieza con la etiqueta <html> .
En el <head> va información que no es visible en la pantalla como el título del documento,
referencia a otros archivos, etc. En el <body> van los elementos visibles en la pantalla.
Generalmente, el código HTML (Hyper Text Markup Language) viaja a través de HTTP (Hyper
Text Transfer Protocol). Pero es posible crear un archivo con extensión .html y abrirlo en un
navegador directamente.
La estructura con las nuevas etiquetas que soporta html5 serían las siguientes.
HEAD: Es para indicar la cabeza de tu documento. No debes confundir esto con header que se
define más adelante.
META. Con esto defines el tipo de codificación del documento por ejemplo utf-8
TITLE: Sirve para especificar el título del documento. Este aparece en la barra del
navegador. Esta es muy importante incluirla a los documentos creados, ya que la
asociamos a una identidad por medio de su título.
HEADER: En esta sección va la cabecera de tu sitio web. El nombre, slogan y logo deben ir aquí.
SECTION: Es la sección dónde va el contenido de tu sitio. Este a su vez puede agrupar articles
ARTICLE: Como su nombre lo indica, contiene un artículo. A su vez cada ARTICLE puede contener
etiquetas <h2> para definir el título del artículo. Se recomienda que haya solo un <H1> por cada
página que representa el título de tu página. A google no le gustan muchos <h1>, esto para
tomarlo en cuenta en tu estrategia seo.
ASIDE: Contiene una barra lateral, como para poner enlaces a facebook, twitter y demás. Así
divides el cuerpo de tu página en dos columnas. Una donde va el contenido, artículos, etc y otro
donde van banners, ligas, etc.
Elementos
Un elemento HTML consiste generalmente de una etiqueta de inicio (p.e. <p>) y
una etiqueta de cierre (p.e. </p>).
Las etiquetas se pueden anidar. Por ejemplo, para resaltar un texto
en negrilla dentro de un párrafo se utiliza el elemento strong:
<p>Esto es un párrafo <strong>con un texto en negrilla</strong></p>
Párrafos
Los párrafos se definen con la etiqueta <p>:
<p>Esto es un párrafo</p>
<p>Esto es otro párrafo</p>
Títulos (encabezados)
Los títulos se definen con las etiquetas <h1> a <h6> siendo <h1> el título de más
importancia y <h6> el de menos importancia:
<h1>Este es un título 1</h1>
<h2>Este es un título 2</h2>
<h3>Este es un título 3</h3>
Vínculos (links)
Los vínculos se definen con la etiqueta <a>:
<a href="http://makeitreal.camp/">Make it Real</a>
El destino del vínculo se define en el atributo href. Los atributos se utilizan para
proveer información adicional a la etiqueta.
Imágenes
Las imágenes se definen con la etiqueta <img>:
<img src="imagen.jpg" alt="Una imagen">
La etiqueta <img> no necesita una etiqueta de cierre. El atributo src contiene la
ruta al archivo con la imagen y el atributo alt contiene el texto que describe la
imagen (útil para los buscadores y personas que utilizan lectores de pantallas).
Comentarios
Puedes agregar comentarios al código HTML utilizando la siguiente sintaxis:
<!-- Escribe acá tu comentario -->
Los comentarios no son visibles en el documento HTML.
Listas
Puedes crear listas ordenadas y no ordenadas.
Una lista ordenada está enumerada mientras que una lista no ordenada utiliza
viñetas.
1. Item 1
2. Item 2
3. Item 3
Item 1
Item 2
Item 3
Una lista ordenada se crea con la etiqueta <ol> y los items con la etiqueta <li>:
<ol>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ol>
Una lista no ordenada se crea con la etiqueta <ul> y los items con la
etiqueta <li>:
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
Nota: Por ningún motivo utilices la etiqueta <li> por fuera de un <ul> o <ol>.
Etiquetas invisibles
Existen dos etiquetas que no son visibles en el documento pero se utilizan para
agrupar otros elementos y aplicarles estilos: <div> y <span>.
Veamos un ejemplo de <div> en donde estamos agrupando un título <h1>, una
imagen <img> y un párrafo <p>:
<div class="main-section">
<h1>Título</h1>
<img src="imagen.jpg" alt="Imagen">
<p></p>
</div>
<span> se utiliza para aplicarle estilos a un texto (generalmente dentro de un
parrafo):
<p>Hola, tu saldo es <span class="saldo">$12000</span></p>
CSS
CSS (Cascading Style Sheets) , es una tecnología que nos permite crear páginas web de una
manera más exacta. Gracias a las CSS somos mucho más dueños de los resultados finales de la página,
pudiendo hacer muchas cosas que no se podía hacer utilizando solamente HTML, como incluir
márgenes, tipos de letra, fondos, colores. Por ejemplo, la siguiente regla cambia el color de
la fuente de los párrafos a azul:
p {
color: blue;
}
Introducción a CSS
CSS (Cascading Style Sheets) es un lenguaje que se utiliza para definir el
formato (los estilos) de los elementos HTML.
Existen 3 formas para definir los estilos CSS:
Inline CSS
Se utiliza para aplicarle estilos a un único elemento HTML:
<h1 style="color: blue">Este es un título de color azul</h1>
Nota: esto no se considera una buena práctica porque estás mezclando la
estructura del documento con el formato.
CSS Interno
Se utiliza para definir los estilos de una única página Web. El CSS se define en
el <head> dentro de la etiqueta <style>:
<!DOCTYPE html>
<html>
<head>
<style>
h1 { color: blue; }
</style>
</head>
<body>
<h1>Esta es un título de color azul</h1>
</body>
</html>
Para definir el CSS se utilizan reglas CSS:
h1 {
color: blue;
font-size: 24px;
}
Una regla CSS está compuesta de un selector (que define a qué elementos se
le quieren aplicar esos estilos), y una o más propiedades (que definen los
estilos que se le van a aplicar a los elementos seleccionados).
CSS Externo
Es un archivo con extensión .css que se utiliza para definir los estilos de
múltiples páginas Web.
Para referenciar el archivo CSS desde HTML se utiliza la etiqueta <link> en
el <head> del HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Esta es un título de color azul</h1>
</body>
</html>
Reglas CSS
Cuando utilizas CSS interno o externo los estilos se definen utilizando reglas
CSS.
Una regla CSS está compuesta de un selector (que define a qué elementos se
le quieren aplicar esos estilos), y una o más propiedades (que definen los
estilos que se le van a aplicar a los elementos seleccionados).
Por ejemplo:
h1 {
color: blue;
font-size: 24px;
}
h1 es el selector. En este caso estamos "seleccionando" todas los
elementos h1 del documento.
Las propiedades se encierran entre llaves { y }.
Cada propiedad está compuesta de un atributo, dos puntos y un valor. Al final
de cada propiedad va un punto y coma ( ;).
Selectores
La forma más fácil de seleccionar elementos es por etiqueta. Sin embargo ¿qué
pasa si solo queremos seleccionar ciertos párrafos del documento? Para eso
podemos utilizar clases y ids.
Clases
A las etiquetas HTML les puedes agregar un atributo especial llamado class que
después puedes usar como selector:
<p>Párrafo 1</p>
<p class="special">Parrafo 2</p>
Si queremos que los elementos que tengan la clase special sean de color azul,
podemos hacer lo siguiente:
.special {
color: blue;
}
Para seleccionar elementos por clase se utiliza un punto seguido del nombre de
la clase. Esto seleccionaría todos los elementos que tengan esa clase.
El atributo class en el HTML soporta más de una clase separándolas por
espacio. Por ejemplo:
<p class="clase1 clase2 clase 3">Parrafo 2</p>
Ids
Otra forma de seleccionar elementos es por el atributo id. La diferencia entre
clases y id's es que los ids no se deben repetir en varios elementos, las clases
si se pueden repetir.
<p>Párrafo 1</p>
<p id="algun-id">Parrafo 2</p>
Ahora, si queremos que el elemento que tenga el id algun-id sea de color azul,
podemos hacer lo siguiente:
#algun-id {
color: blue;
}
Nota: En general (y en lo posible) se recomienda utilizar clases en vez de ids.
Propiedades CSS
Dentro de una regla de CSS se pueden definir una o más propiedades CSS. Las
propiedades se componen de un atributo, seguido de dos puntos ( :), un espacio
y el valor:
color: blue;
Veamos algunos de los atributos que más se utilizan:
color
El atributo color define el color del texto. Las dos formas más comunes de
definir colores en CSS son:
font-size
El atributo font-size define el tamaño del texto. Las formas más comunes de
definir el tamaño son:
font-family
El atributo font-family define la fuente que se quiere usar. Se pueden definir
varias fuentes separadas por coma. Si la primera fuente no está instalada, se
intenta con la segunda y así sucesivamente.
font-weight
El atributo font-weight define el peso de una fuente (su grosor). Puede ser:
background-color
El atributo background-color define el color de fondo del elemento. Se utilizan
las mismas formas de definir el color que describimos en el
atributo color previamente.
border
El atributo border dibuja un borde alrededor del elemento, recibe tres
argumentos:
El ancho en px (pixeles).
El estilo de borde (sólido, punteado, doble, etc.)
El color del borde.
Ejemplos:
p { border: 1px solid grey; }
h1 { border: 5px dotted blue; }
h2 { border: 10px dashed #000; }
Tablas
Una tabla se define con la etiqueta <table>.
Las filas se definen con la etiqueta <tr>.
Las celdas se definen con la etiqueta <td>.
Ejemplo:
<table>
<tr>
<td>Pedro</td>
<td>Perez</td>
<tr>
<tr>
<td>Juan</td>
<td>Gomez</td>
<tr>
</table>
Nunca utilices <tr> por fuera de un <table>.
Nunca utilices <td> por fuera de un <tr>.
Agregando bordes
Por defecto las tablas no tienen bordes. Si deseas agregarles un borde puedes
utilizar la propiedad border de CSS:
table, th, td {
border: 1px solid black;
}
Encabezados
Para crear encabezados utiliza th en vez de td:
<table>
<tr>
<th>Nombre</th>
<th>Apellido</th>
<tr>
<tr>
<td>Juan</td>
<td>Gomez</td>
<tr>
</table>
Formularios
Los formularios nos permiten pedirle información a los usuarios.
</form>
Un formulario puede tener muchos elementos de entrada como campos de
texto, casillas de verificación (checkbox), listas desplegables, botones de envío
y muchos más. Veamos algunos de ellos:
Campo de texto
Para definir un campo de texto utiliza la etiqueta <input type="text">.
<form>
<input type="text">
</form>
Campo de contraseña
Los campos de contraseña son similares a los campos de texto pero el texto se
reemplaza automáticamente por asteriscos ( *) cuando la persona escribe.
Para definir un campo de contraseña utiliza la etiqueta <input type="password"> .
<form>
<input type="password">
</form>
Botón de envío
El botón de envío, como su nombre lo indica, se utiliza para enviar la
información que ha ingresado el usuario a un servidor remoto.
Por ejemplo:
<form action="http://mi-empresa.com/contacto">
<div>
Nombre: <input type="text" name="nombre">
</div>
<div>
Mensaje: <input type="text" name="mensaje">
</div>
<input type="submit" value="Enviar">
</form>
Labels
Es buena práctica utilizar una etiqueta <label> para encerrar el texto que se va a
mostrar para cada campo de entrada.
Para relacionar el <label> al campo de entrada debes:
Por ejemplo:
<form>
<label for="nombre">Nombre:</label> <input type="text" id="nombre"
name="nombre">
</form>
La ventaja de utilizar un label es que si hacen click sobre el label se va a
enfocar automáticamente el campo de entrada. Esto es especialmente útil en
casillas de verificación y botones de radio.
Botones de radio
Para definir un botón de radio utiliza la etiqueta <input type="radio">:
<form>
<input type="radio">
</form>
Los botones de radio son especialmente útiles para que el usuario escoja una
única opción. Por ejemplo:
<form action="/accion">
<div>
<label for="masculino">Masculino</label>
<input type="radio" name="genero" id="masculino" value="masculino">
</div>
<div>
<label for="femenino">Femenino</label>
<input type="radio" name="genero" id="femenino" value="femenino">
</div>
<div>
<label for="otro">Otro</label>
<input type="radio" name="genero" id="otro" value="otro">
</div>
<input type="submit" value="Enviar">
</form>
Fíjate en lo siguiente:
Es decir, que al servidor va a llegar el genero con el valor del botón de radio que
haya seleccionado el usuario ( masculino, femenino u otro).
Áreas de texto
Las áreas de texto son similares a los campos de texto pero pueden ser de
múltiples líneas.
Lista de selección
Para crear una lista de selección utiliza la etiqueta <select>:
<form>
<select name="genero">
<option value="masculino">Masculino</option>
<option value="femenino">Femenino</option>
</select>
</form>
Márgenes
El margen se utiliza para definir el espacio alrededor del elemento.
Bordes
Las propiedades CSS border-width, border-style y border-color nos permiten
definir el ancho, el estilo y el color del borde de un elemento.
El siguiente ejemplo definiría un borde sólido de 1px de color rojo:
p {
border-width: 1px;
border-style: solid;
border-color: red;
}
Las opciones más comunes de border-
style son solid (sólido), dotted (punteado), dashed(guiones) y double (doble).
Cada una de las propiedades puede recibir de uno a 4 valores, muy parecido a
como funciona con los márgenes:
Bordes redondeados
La propiedad border-radius se utiliza para agregar bordes redondeados a un
elemento:
p {
border: 2px solid red;
border-radius: 5px;
}
Puedes asignar la propiedad border-radius a cada esquina individualmente
con border-top-left-radius, border-top-right-radius, border-bottom-left-
radius y border-bottom-right-radius.
Al igual que con los márgenes externos, CSS tiene propiedades para definir
el padding de cada lado del elemento: padding-top, padding-right, padding-
bottom y padding-left.
p {
padding-top: 5px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
}
Atajo con padding
Para reducir el código puedes especificar todos los paddings en una sola
propiedad padding:
p {
padding: 5px 5px 5px 5px;
}
padding puede recibir uno, dos, tres y cuatro valores como margin:
Fondos
Para definir el color, la imagen, la posición, etc. de fondo de un elemento utiliza
las siguientes propiedades CSS:
background-color
Esta propiedad define el color de fondo del elemento. Por ejemplo, para que
todos los párrafos tengan un color azul utiliza la siguiente regla:
p {
background-color: blue;
}
También puedes usar un valor hexadecimal (p.e. #0000FF) o RGB (p.e. rgb(255,
0, 0)).
background-image
Define la imagen de fondo. Por ejemplo:
p {
background-image: url('mi-imagen.jpg')
}
La ruta de la imagen puede ser relativa al documento o un URL a una imagen en
Internet.
background-repeat
Por defecto, cuando utilizas una imagen de fondo, la imagen se repite tanto
horizontal como verticalmente (cuando no ocupa el ancho o alto del elemento).
background-position
Nos permite controlar la posición y el tamaño de la imagen cuando background-
repeat es no-repeat.
background-position recibe dos valores: la posición vertical y horizontal.
Los valores de background-position pueden ser una posición en palabras (p.e.
top left), un porcentaje o una posición en pixeles u otra unidad.
Por ejemplo, la siguiente regla centra la imagen en el componente:
p {
background-image: url('imagen.jpg');
background-repeat: no-repeat;
background-position: center center;
}
background-size
background-size nos permite cambiar el tamaño de la imagen de fondo.
background-size puede recibir dos valores: el ancho y el alto en porcentaje,
pixeles o alguna otra unidad. Por ejemplo:
p {
background-image: url('imagen.jpg');
background-repeat: no-repeat;
background-size: 60px 40px;
}
background-size también puede recibir dos valores especiales:
cover: la imagen se estira hasta que ocupe todo el área del elemento.
contain: la imagen se estira hasta que el alto o el ancho ocupen el alto o ancho del
contenedor.
background-attachment
Por defecto, cuando utilizas una imagen de fondo, la imagen se desplaza con la
página.
El atajo background
Puedes especificar varias propiedades de fondo en una línea con background.
Por ejemplo:
background: #00ff00 url("smiley.gif") no-repeat fixed center;
El orden es: background-color, background-image, background-position/background-
size, background-repeat y background-attachment.
No importa si omites algunas de las propiedades. Por ejemplo, las siguientes
declaraciones son válidas:
background: red;
background: url('mi-imagen');
background: red url('mi-imagen');
background: red url('mi-imagen') fixed center;
Posicionamiento
La propiedad CSS position define el tipo de posicionamiento para el elemento.
Los posibles valores son:
Lista de selectores
Puedes definir más de un selector en una regla CSS separando los selectores
por coma (,). Por ejemplo:
h1, h2, h3 {
margin-bottom: 21px;
}
Esta regla CSS le aplicaría el margen inferior a las etiquetas h1, h2 y h3.
Más específicos
Podemos ser más específicos mezclando los selector. Por ejemplo, si queremos
aplicar un estilos a todos los párrafos que tengan la
clase importante utilizaríamos el selector p.importante:
p.importante {
font-size: 21;
}
Descendientes
Puedes definir selectores que estén dentro de otros selectores.
Por ejemplo, la siguiente regla CSS aplica a las etiquetas span que estén dentro
de una etiqueta acon clase link, que a su vez estén dentro de una etiqueta div.
div a.link span {
color: red;
}
Descendientes directos
Puedes definir selectores que sean hijos directos de otros selectores.
Por ejemplo, la siguiente regla aplica a todos los elementos con clase link que
sean hijos directos de una etiqueta div:
div > .link {
color: red;
}
Cualquier selector
Utiilza el asterísco (*) para referirte a cualquier selector.
Por ejemplo, la siguiente regla aplicaría a todos los elementos de la página:
* {
box-sizing: border-box;
}
Pseudo clases
Nos permiten seleccionar elementos por su estado actual.
Por ejemplo los vínculos que ya han sido visitados, los checkboxes que están
seleccionados, los elementos sobre los que está pasando el mouse, etc.
Por ejemplo, los vínculos pueden estar en varios estados:
/* no visitado */
a:link {
color: #FF0000;
}
/* visitado */
a:visited {
color: #00FF00;
}
/* seleccionado */
a:active {
color: #0000FF;
}
:first-child y :last-child
Estas dos pseudo clases nos permiten definir el primer y último selector dentro
de cualquier elemento.
Antes se utilizaban trucos para lograr el mismo efecto con imágenes pero ahora
con CSS3 tenemos una forma más fácil y estándar de hacerlo.
Bordes redondeados
Veamos primero un ejemplo de bordes redondeados (consulta el HTML y CSS
en la pestaña respectiva):
border-top-left-radius
border-top-right-radius
border-bottom-left-radius
border-bottom-left-radius
Sin embargo, también existen atajos que puedes utilizar con border-radius. Por
ejemplo, puedes definir el tamaño de cada esquina separando los valores por
espacio:
div.redondeado {
border-radius: 5px 10px 10px 20px;
}
El primer valor aplica a la esquina superior izquierda, el segundo a la superior
derecha, el tercero a la inferior izquierda y el cuarto a la inferior derecha.
Sombras
Utiliza la propiedad box-shadow para agregarle sombra a una caja y text-
shadow para agregarle sombra al texto.
Sombra de caja
Veamos primero un ejemplo (consulta el HTML y CSS en la pestaña respectiva):
Sombra de texto
Veamos primero un ejemplo (consulta el HTML y CSS en la pestaña respectiva):
Lineales
Radiales
Gradientes lineales
Para crear un gradiente lineal utiliza la función linear-gradient en la
propiedad background o background-image:
.gradiente {
background: linear-gradient(red, orange);
}
Por defecto la dirección es de arriba hacia abajo:
Dirección
Para cambiar la dirección puedes pasarle un primer argumento a linear-
gradient. Los posibles valores son:
Múltiples colores
Puedes utilizar más de dos colores en tu gradiente:
.gradiente {
background: linear-gradient(to right, blue, red, yellow, green);
}
Veamos este ejemplo en Codepen:
Gradientes radiales
Para crear un gradiente radial utiliza la función radial-gradient en la
propiedad background o background-image:
.gradiente {
background: radial-gradient(red, yellow);
}
Por defecto el gradiente inicia en el centro de la caja y tiene forma de elipse:
Además de posiciones exactas puedes utilizar top, right, bottom, left, top right,
etc.
También puedes cambiar la forma del gradiente a un círculo de la siguiente
forma:
.gradiente {
background: radial-gradient(circle at 20px 20px, red, yellow);
}
Bootstrap 3
Bootstrap es el framework CSS más popular de la actualidad y se utiliza para
crear páginas Web con un diseño consistente, que se adapta a diferentes tipos
de pantallas (responsive design), utilizando componentes prediseñados que
pueden ser fácilmente modificados.
</body>
</html>
Bootstrap se compone de un archivo CSS y un archivo de JavaScript.
Adicionalmente necesitamos jQuery.
Algunas clases de CSS útiles para trabajar con texto y responsive design.
La documentación
Puedes encontrar la documentación de Bootstrap 3
en https://getbootstrap.com/docs/3.3/.
Encabezados
Utiliza los encabezados <h1> a <h6> normalmente en tus páginas.
También puedes utilizar la etiqueta <small> para agregar texto secundario como
se muestra en el siguiente ejemplo:
Alineación
Utiliza las clases text-left, text-center, text-right y text-justify en párrafos
para alinearlos a la izquierda, centro, derecha y justificados respectivamente.
Tablas
Para aplicarle los estilos de Bootstrap a las tablas debes agregar la clase table:
<table class="table">
...
</table>
Veamos un ejemplo que puedes editar para probar diferentes configuraciones:
Filas contextuales
Puedes utilizar las clases active, success, info, warning y danger sobre
los <tr>, <th> o <td> para cambiar el color de las filas o celdas:
<!-- En filas -->
<tr class="active">...</tr>
<tr class="success">...</tr>
<tr class="warning">...</tr>
<tr class="danger">...</tr>
<tr class="info">...</tr>
Formularios
Bootstrap le aplica algunos estilos a los formularios pero debes seguir la
siguiente estructura:
<form>
<div class="form-group">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" class="form-control">
</div>
<button type="submit" class="btn btn-default">Enviar</button>
</form>
Para tener en cuenta:
Encierra los campos de entrada con un div que tenga la clase form-group.
Agrégale la clase form-control al input.
Utiliza un <button> con type="submit". En la siguiente sección vamos a hablar más de
los botones.
Para los checkboxes utiliza la siguiente estructura:
<div class="checkbox">
<label>
<input type="checkbox"> Check me out
</label>
</div>
Existen muchas variaciones sobre los formularios. Para más información abre la
documentación en Bootstrap.
Botones
Agrega la clase btn sobre las etiquetas <a> y <button>, en conjunto con una de
las siguientes clases para crear un botón más estilizado: btn-default, btn-
primary, btn-success, btn-info, btn-warning, btn-danger o btn-link.
<button type="button" class="btn btn-default">Default</button>
Veamos un ejemplo con diferentes tipos de botones:
Tamaños
Utiliza las clases btn-lg, btn-sm y btn-xs para cambiar el tamaño del botón.
Mostrar en bloque
Utiliza la clase btn-block para que el botón ocupe el 100% del elemento que lo
contiene.
Botones deshabilitados
Agrega la propiedad disabled sobre los <button> y la clase .disabled sobre
los <a> para que el botón parezca deshabilitado:
<a href="#" class="btn btn-primary disabled">Primary link</a>
Imágenes
Para hacer las imágenes responsive agrega la clase img-responsive a <img>:
<img src="..." class="img-responsive" alt="Responsive image">
Utiliza la clase img-rounded para aplicarle borders redondeados a la imagen:
<img src="..." alt="..." class="img-rounded">
Utiliza la clase img-circle para que la imagen aparezca en un círculo:
<img src="..." alt="..." class="img-circle">
Utiliza la clase img-thumbnail para agregarle un bordes redondeados y un borde
adicional a la imagen:
<img src="..." alt="..." class="img-thumbnail">
La grilla
La grilla nos permite organizar nuestro contenido en la pantalla más facilmente
utilizando una combinación de contenedores, filas y secciones que pueden
ocupar de 1 a 12 columnas.
Fíjate que entre las secciones hay un espacio, llamado gutter. Por defecto ese
espacio (padding) es de 15px a cada lado. Entre una fila y otra no existe ningún
espacio.
Contenedores
Hasta ahora no lo hemos mostrado, pero las filas siempre deben estar
envueltas en un contenedor.
Un contenedor puede contener muchas filas.
</div>
Los contenedores de ancho fijo ocupan:
</div>
Filas
Para definir una fila se utiliza una etiqueta <div> con clase row:
<div class="row">
<!-- acá van las secciones -->
</div>
Cada fila se puede dividir en secciones que pueden ocupar de 1 hasta 12
columnas.
Para definir una sección se utiliza un <div> con una clase que comienza con
alguno de los prefijos col-xs-, col-sm-, col-md- o col-lg- seguido del número de
columnas que uno quiere que ocupe esa sección.
Nota: más adelante entenderás qué significan los prefijos, por ahora siempre
vamos a usar col-sm-.
Por ejemplo, la siguiente fila está dividida en dos secciones, cada una de 6
columnas:
<div class="row">
<div class="col-sm-6"></div>
<div class="col-sm-6"></div>
</div>
El siguiente ejemplo tiene una fila dividida en 3 secciones, cada una de 4
columnas:
<div class="row">
<div class="col-sm-4"></div>
<div class="col-sm-4"></div>
<div class="col-sm-4"></div>
</div>
Anidando filas
Dentro de una sección puedes anidar otra fila que nuevamente se va a dividir
en 12 columnas como se muestra a continuación:
El siguiente ejemplo tiene una fila que se divide en dos secciones, cada una
de 6 columnas. Dentro de la primera sección estamos definiendo otra fila con
una sección de 12 columnas:
<div class="row">
<div class="col-sm-6">
<div class="row">
<div class="col-sm-12"></div>
</div>
</div>
<div class="col-sm-6"></div>
</div>
Esto nos permite distribuir los elementos de la página en configuraciones
bastante complejas.
Filas y secciones
En una fila la suma de las columnas que ocupan las secciones no
necesariamente debe ser 12.