Lectura - Bootstrap (Parte 2)
Lectura - Bootstrap (Parte 2)
Introducción a Bootstrap
Competencias
● Reconocer qué son los framework CSS y las ventajas del uso de Bootstrap para el
desarrollo web.
● Identificar los aspectos claves de la filosofía “mobile first”, su implicancia en la
construcción de sitios web responsivos y la experiencia del usuario.
Introducción
Hasta ahora hemos aprendido cómo crear páginas web utilizando HTML y CSS, estos
conocimientos son la base que nos permitirá construir sitios cada vez más profesionales.
En esta unidad conoceremos qué son los frameworks CSS, cuáles son las ventajas de su
utilización y tendremos un primer acercamiento a Bootstrap. Además, abordaremos una
filosofía muy utilizada actualmente al construir sitios web, que es el “mobile first”.
_ 1
www.desafiolatam.com
Conociendo los frameworks CSS
Un framework CSS provee una estructura básica que nos ayudará a resolver problemas
típicos de estilo dentro del desarrollo web.
Dentro de los Frameworks CSS, existe una gran cantidad de opciones para elegir como:
● Bootstrap.
● Foundation.
● Bulma.
● Semantic UI.
● UI kit.
La mejor opción para elegir dependerá de lo que queramos hacer y lo que ya conozcamos
preliminarmente.
En nuestro caso, usaremos uno de los framework CSS más completos para crear páginas
web responsivas llamado Bootstrap, que además hoy en día es el más popular.
_ 2
www.desafiolatam.com
¿Qué es Bootstrap?
Bootstrap es un framework CSS, desarrollado y liberado por Twitter, que sirve para maquetar
páginas web de manera rápida y sencilla. Es de código abierto, por lo que lo podemos usar
de forma gratuita y sin restricciones.
Las características que hacen de Bootstrap el framework CSS más popular de la web son:
● Estilos en la mayoría de los elementos HTML: Los elementos HTML como listas,
botones, formularios, entre otros., vienen estilizados y mejorados con clases. De
manera que nosotros no debemos escribir mucho CSS para estilizar los elementos.
● Una gran lista de componentes: Contiene una gran cantidad de componentes que
podremos usar en nuestra página web.
_ 3
www.desafiolatam.com
Ejemplos de sitios realizados con Bootstrap
Neat:
_ 4
www.desafiolatam.com
Kingdom Rush:
Como hemos visto, Bootstrap es una gran herramienta con la que podremos hacer
atractivos sitios y no necesariamente todos se van a ver igual.
_ 5
www.desafiolatam.com
Conociendo Mobile First
Conoceremos uno de los conceptos más importantes a la hora de crear páginas web
responsivas, o pensadas para ser adaptadas a los distintos tamaños de dispositivo.
De hecho, es tan reconocida que Bootstrap se basó en esta filosofía para crear todo sus
componentes y características. Conocerlo nos dará todas las bases para poder trabajar de
manera óptima con Bootstrap.
Luego de tener el diseño establecido para las pantallas reducidas, se irá escalando hacia
pantallas de mayor tamaño.
_ 6
www.desafiolatam.com
Desarrollar una página pensando en dispositivos móviles es una gran estrategia, debido al
gran uso que han alcanzado estos dispositivos el último tiempo.
Imagen 5. Número de usuarios de teléfonos móviles entre el 2015 y el 2020 (en millones)
Fuente: Statista.com.
De hecho, se han vuelto tan esenciales para nuestra vida diaria que la cantidad de personas
que tienen un dispositivo móvil es, a la fecha, de 4.93 billones, esto es casi el 63% de la
población mundial.
Entender estos números es importante ya que las tecnologías están apuntando hacia esa
dirección.
_ 7
www.desafiolatam.com
¿Cómo podemos comenzar a trabajar con mobile first?
Para comenzar a trabajar con mobile first en nuestro código, debemos entender cómo
trabajar con diferentes resoluciones de pantalla. Esto conlleva a que debemos aprender a
cómo normalizar los tamaños sobre los cuales trabajaremos mientras desarrollamos la
página.
Afortunadamente, existen los frameworks CSS, como Bootstrap, que nos pueden ayudar a
lidiar con esto. Dentro de su página existen media queries que contienen tamaños
específicos para diferentes anchos de pantalla y ventanas de visualización.
_ 8
www.desafiolatam.com
Trabajar usando características de los diseños responsivos
Se debe trabajar con funcionalidades usadas en los diseños responsivos, esto incluye:
● Usar la etiqueta meta viewport: El meta viewport es una etiqueta HTML usada para
darle al navegador instrucciones sobre cómo controlar las dimensiones y la escala
de la página. Ésta se pone dentro de la etiqueta <head>.
Esta etiqueta nos puede ayudar a mejorar drásticamente la usabilidad de una página web,
puesto que el contenido de la página se escalará dependiendo del tamaño.
En el siguiente ejemplo podemos ver una página no utilizando la etiqueta meta viewport y
otra que sí.
_ 9
www.desafiolatam.com
Como podemos observar, al no utilizar viewport, tanto la fuente como la imagen no se
adaptan al dispositivo desde el cual se está consultando, lo que ocasiona una mala
experiencia al usuario que está visitando el sitio.
● Usar grillas: Las grillas son un componente de estructura, que nos ayuda a disponer
los elementos de una página web de forma óptima, sencilla y rápida.
En el caso de este proyecto usaremos la grilla que incluye Bootstrap, debido a que es fácil
de implementar en la diagramación del sitio web.
● Usar imágenes responsivas: El siguiente punto es simple, puesto que para crear
imágenes responsivas sólo debemos usar unidades de medida relativas.
Esto quiere decir que estas medidas estarán basadas en tamaños relativos al tamaño del
viewport o su contenedor. A través de las clases que nos entrega Bootstrap podremos darle
esa propiedad.
_ 10
www.desafiolatam.com
Considerar la experiencia que tendrá el usuario con la página web
El siguiente paso es reconocer la experiencia que tendrá el usuario con nuestro sitio web en
diversos dispositivos.
Reconocer el cómo interactúa el usuario con nuestro sitio es esencial, ya que al saberlo
podremos desarrollar una mejor experiencia al usar características específicas de un
dispositivo en concreto.
Por ejemplo: Podemos aprovechar los gestos de un teléfono para hacer scroll más rápido, o
usar un atajo de teclado para abrir un link en nuestro computador. Tener en consideración
esto hará que nuestras páginas sean más cómodas, demostrando que fueron hechas
pensando en los usuarios.
El último punto importante para trabajar con mobile first, es el priorizar el contenido basado
en la importancia que tiene dentro de la página web.
Esto quiere decir, que nosotros debemos ser capaces reconocer cuándo es mejor mostrar o
no un contenido, dependiendo de la resolución de pantalla del dispositivo. Por lo general los
dispositivos móviles, al tener menor tamaño, deben tener un contenido simplificado, que se
enfoque en el objetivo principal del sitio web.
_ 11
www.desafiolatam.com
Ejercicio guiado: Sitio Web Olivia Ros
En esta unidad trabajaremos con un proyecto, pensado en dar énfasis a la marca personal
de su dueña, llamada Olivia Ros. En ella podremos encontrar una barra de navegación,
cuatros secciones que presentan un header donde aparecen dos botones, una sección que
presenta lo que hace, sus últimos trabajos y una sección de contacto, junto con un footer.
Para crear esta página usaremos distintos conceptos que nos servirán para hacer de esta
página un sitio responsivo, es decir, que busca la correcta visualización en distintos
dispositivos.
_ 12
www.desafiolatam.com
Imagen 11. Sitio Web Olivia Ros.
Fuente: Desafío Latam.
_ 13
www.desafiolatam.com
Comencemos a construir el proyecto.
Antes de comenzar, debemos descargar los archivos que se encuentran dentro de los assets
que usaremos en la página web. Con eso listo, comencemos a crear la estructura de
directorios del proyecto.
● Paso 3: Agregar todos los directorios que falten en el proyecto. En este caso sería la
carpeta assets, que contendrá todos los diferentes archivos de nuestro proyecto
como las imágenes, los archivos CSS, entre otras cosas.
● Paso 4: Crear la carpeta assets presionando "botón derecho" y luego nueva carpeta.
● Paso 5: Crear dentro de la carpeta assets una carpeta llamada img, donde irán todas
las imágenes del proyecto (descargadas desde assets).
Ya hemos terminado de crear todas las carpetas y archivos necesarios para comenzar con
nuestro proyecto.
_ 14
www.desafiolatam.com
● Paso 9: Lo siguiente que haremos será agregar la estructura HTML de nuestro
proyecto, para hacerlo agregaremos el doctype de la versión HTML5.
<!DOCTYPE html>
<html>
</html>
<html lang="es">
</html>
<!DOCTYPE html>
<html lang="es">
<head>
</head>
</html>
● Paso 13: Dentro pondremos el meta charset="utf-8" para no tener problemas con
los caracteres especiales.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
</head>
</html>
_ 15
www.desafiolatam.com
● Paso 14: Debajo agregaremos el meta visto anteriormente, llamado meta viewport.
Esta meta, como sabemos, nos ayudará a escalar el tamaño del viewport
dependiendo del espacio que dispongamos dentro la ventana del navegador.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
</html>
● Paso 16: Lo último que nos falta es agregar el título de la página usando la etiqueta
<title>. Escribamos como título Olivia Ros | Food Blogger
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Olivia Ros | Food Blogger</title>
</head>
</html>
_ 16
www.desafiolatam.com
Ejercicio propuesto (1)
Contexto
Como vimos, el viewport nos permite controlar las dimensiones y la escala de la página.
Experimentemos qué ocurre al definir distintos tipos de viewport.
Agrega un par de párrafos al código que hemos creado para el sitio de Olivia Ros y abre el
sitio en el navegador. En el inspector de código, visualiza el sitio en versión móvil.
- content="width=500, initial-scale=1".
- content="width=device-width, maximum-scale=2".
- content="height=device-height".
- Eliminando el meta del viewport.
Intenta resolverlo y luego revisa el paso a paso para comparar tus resultados.
_ 17
www.desafiolatam.com
Solución Ejercicio Propuesto (1)
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Olivia Ros | Food Blogger</title>
</head>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.</p>
</body>
</html>
_ 18
www.desafiolatam.com
Imagen 13. Viewport.
Fuente: Desafío Latam.
_ 19
www.desafiolatam.com
● Paso 3: Probemos la siguiente configuración: content="width=500, initial-scale=1"
Para esto, solo modificaremos la línea del viewport, como sigue:
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=500, initial-scale=1">
<title>Olivia Ros | Food Blogger</title>
</head>
Observemos que parte del contenido se pierde, debido a que fijamos un ancho de
500px y, por ejemplo, el Iphone X del ejemplo que estamos viendo, tiene un máximo
de 375px.
_ 20
www.desafiolatam.com
● Paso 4: Probemos la siguiente configuración: content="initial-scale=1,
maximum-scale=1"
Para esto, solo modificaremos la línea del viewport, como sigue:
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
<title>Olivia Ros | Food Blogger</title>
</head>
Al guardar y refrescar, podemos ver que nos permite hacer zoom-in solamente hasta
2 veces el tamaño del contenido.
_ 21
www.desafiolatam.com
● Paso 5: Probemos la siguiente configuración: content="height=device-height"
Para esto, solo modificaremos la línea del viewport, como sigue:
<head>
<meta charset="utf-8">
<meta name="viewport" content="height=device-height">
<title>Olivia Ros | Food Blogger</title>
</head>
_ 22
www.desafiolatam.com
● Paso 6: Finalmente, probaremos cómo se visualiza el texto sin configurar el viewport.
Para esto, eliminaremos la etiqueta del HTML:
<head>
<meta charset="utf-8">
<title>Olivia Ros | Food Blogger</title>
</head>
Es por esto que es importante el uso del viewport en nuestros sitios, pues nos
permite controlar cómo el usuario va a interactuar con el contenido y evitar
comportamientos inesperados en la visualización del mismo.
_ 23
www.desafiolatam.com
Integrando Bootstrap
Competencias
Introducción
En el capítulo anterior vimos las bases de la filosofía “mobile first” y aprendimos sobre la
utilidad de los frameworks CSS para el desarrollo web. Ya es momento de que vayamos
conociendo Bootstrap, cómo integrarlo en nuestros proyectos y cómo leer su
documentación.
_ 24
www.desafiolatam.com
Integrando el CDN de Bootstrap
Para integrar Bootstrap a nuestro proyecto, debemos incluir algunos recursos externos que
requiere para operar.
Una de las herramientas clave tanto para este paso como para los siguientes, es conocer la
documentación de Bootstrap. Para ello iremos a su página oficial: https://getbootstrap.com/
Para integrar Bootstrap a nuestro proyecto, Bootstrap nos propone un template de inicio, que
incluye las referencias y etiquetas necesarias para trabajar. También podemos agregarlas
manualmente a nuestro proyecto previamente creado.
_ 25
www.desafiolatam.com
1. CSS.
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.cs
s"
integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqK
I2xXr2" crossorigin="anonymous">
2. Javascript
Para estos recursos, existe un recurso “bundle” que contiene todo lo necesario para
que funcionen los componentes de Bootstrap:
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrC
XaRkfj" crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.m
in.js"
integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7
ZeZDyx" crossorigin="anonymous"></script>
_ 26
www.desafiolatam.com
O podemos agregar Jquery, Popper.js y Bootstrap por separado, de la siguiente
forma:
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrC
XaRkfj" crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu73
5Sk7lN" crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js"
integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5
D92v7s" crossorigin="anonymous"></script>
Estos scripts según la propia documentación de Bootstrap, deben ir antes del cierre
de la etiqueta <body> y en ese orden, ya que va leyéndolos desde arriba hacia abajo.
Además, Bootstrap provee una plantilla de base que podemos utilizar al iniciar nuestros
proyectos:
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
_ 27
www.desafiolatam.com
s"
integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqK
I2xXr2" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body>
<h1>Hello, world!</h1>
_ 28
www.desafiolatam.com
Integrando Bootstrap mediante descarga
Para hacer esto, debemos ir a la opción “download” dentro del menú derecho de la
documentación y descargar los archivos bajo la opción de “compiled CSS and JS”:
Una vez que hemos descargado los archivos, vemos que contiene dos carpetas: “js” y “css”.
Copiaremos ambas y la llevaremos a la carpeta assets del proyecto en el que estemos
trabajando:
_ 29
www.desafiolatam.com
La forma de integrarlo al proyecto es referenciando los archivos a la ruta local de nuestro
proyecto, de esta manera:
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
<title>Hello, world!</title>
</head>
<body>
<h1>Hello, world!</h1>
_ 30
www.desafiolatam.com
CSS de Bootstrap
Lo que hicimos fue llamar, desde CDN, el código CSS de Bootstrap minificado, o sea,
condensado para reducir su tamaño. Esto se logra eliminando los caracteres superfluos, sin
que deje de funcionar.
Este código minificado tiene sólo 7 líneas de código, ya que al estar minificado evita
caracteres como espacios adicionales, saltos de línea, sangrías y comentarios. Con el
objetivo de que pese menos.
Cuando se desarrollan sitios web uno de los aspectos importantes a tomar en cuenta es la
experiencia del usuario. Los archivos minificados mencionados anteriormente, aportan en
cierta medida que la experiencia sea positiva, disminuyendo el tiempo de carga de nuestro
sitio y optimizando los recursos, frameworks y librerías que se estén ocupando.
_ 31
www.desafiolatam.com
En la siguiente imagen veremos un ejemplo de cómo se vería un archivo CSS minificado:
Pero si este código no estuviese minificado sería muchísimo más largo, en específico
tendría 9030 líneas de código.
_ 32
www.desafiolatam.com
Como pueden ver, el CSS que hemos integrado de Bootstrap es nada más ni nada menos
que una gran hoja de estilo. Lo que hace Bootstrap es proveer propiedades definidas para
las distintas etiquetas HTML, además de características definidas para diversas clases
creadas que se pueden utilizar en distintos elementos desde el HTML.
_ 33
www.desafiolatam.com
Navbar
Para integrarlo dentro de un proyecto, ya teniendo todos los recursos agregados en archivo
HTML, copiamos el snippet de código que se encuentra bajo el encabezado Nav.
_ 34
www.desafiolatam.com
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span
class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
</nav>
<div style="page-break-after: always;"></div>
_ 35
www.desafiolatam.com
Ejercicio guiado: Integrando Bootstrap al Sitio Web Olivia Ros
Entender estos flujos es muy relevante, ya que son la base para construir proyectos más
complejos utilizando Bootstrap para manejar los aspectos de estilo de nuestro sitio web.
Lo primero que haremos será integrar Bootstrap 4 dentro de nuestra página web.
Si miramos debajo del botón "get started" podremos ver cuál es la versión más
reciente de este framework. También lo podremos hacer buscando en la barra de
navegación.
● Paso 2: Volvamos al home del sitio de Bootstrap, clickeamos "get started", ahí nos
darán el paso a paso para incorporar Bootstrap.
● Paso 3: Copiamos el link de los recursos CSS y la pegamos debajo del meta
viewport.
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Olivia Ros | Food Blogger</title>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.mi
n.css"
integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg
6uqKI2xXr2" crossorigin="anonymous">
</head>
_ 36
www.desafiolatam.com
● Paso 4: Agregamos arriba un comentario con la versión de Bootstrap. El hacer esto
nos ayudará a reconocer de manera más rápida el código incluido en nuestro HTML.
Para incluir un comentario debes escribir:
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Olivia Ros | Food Blogger</title>
<!-- Bootstrap 4.5.3 CSS -->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.mi
n.css"
integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg
6uqKI2xXr2" crossorigin="anonymous">
</head>
La solución a esto es poner estos archivos debajo de todos los scripts, puesto que el
navegador cargará primero el HTML, luego el CSS y finalmente los archivos
JavaScript. Suena muy técnico, pero aplicarlo nos ayudará a cargar nuestra página
web de manera más rápida.
● Paso 6: Sabiendo esto, es momento de pegar los scripts antes del cierre de la
etiqueta <body>:
<body>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew
+OrCXaRkfj" crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.j
s"
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7n
iu735Sk7lN" crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.
js"
_ 37
www.desafiolatam.com
integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBN
mNb5D92v7s" crossorigin="anonymous"></script>
</body>
Se debe tener en cuenta cuál es la etiqueta usada para integrar los archivos
JavaScript.
Esta etiqueta se llama <script> y es la encargada de contener los scripts de
JavaScript. Se puede usar para llamar un archivo externo o escribir directamente los
script dentro de la etiqueta. Con esto interiorizado, sigamos mejorando nuestro
código.
<!--jQuery 3.5.1-->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew
+OrCXaRkfj" crossorigin="anonymous"></script>
<!--Popper JS 1.16.1-->
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.j
s"
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7n
iu735Sk7lN" crossorigin="anonymous"></script>
<!--Bootstrap JS 4.5.3-->
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.
js"
integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBN
mNb5D92v7s" crossorigin="anonymous"></script>
_ 38
www.desafiolatam.com
● Paso 8: Bien, ya solo nos falta agregar los CDN de las fuentes e íconos que
usaremos dentro del proyecto.
Así que iremos a Google Fonts y haremos los pasos ya conocidos para vincular la
tipografía con nuestro proyecto.
<link href="https://fonts.googleapis.com/css?family=Raleway:400,700"
rel="stylesheet">
● Paso 10: También iremos a Font Awesome a copiar el código para llamarlo en
nuestro archivo y así tener a disposición los íconos de Font Awesome.
<link rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.15.1/css/all.css"
integrity="sha384-vp86vTRFVJgpjF9jiIGPEEqYqlDwgyBgEF109VFjmqGmIY/Y4HV4d3
Gp2irVfcrp" crossorigin="anonymous">
● Paso 11: Lo último que haremos antes de probar si funciona Bootstrap es agregar el
archivo con nuestros estilos.
Con esto hemos terminado con la integración de todo lo que necesitaremos en este
proyecto, ahora vamos a probar si está todo OK para comenzar.
_ 39
www.desafiolatam.com
● Paso 12: Para probar si funcionó la integración de Bootstrap, debemos copiar algún
componente de Bootstrap y ver si se están respetando los estilos que le entrega a
las distintas clases del contenido en sí, es decir, un contenido que en HTML no
debería tener formato, con Bootstrap se le atribuye.
● Paso 13: Allí dentro, copiemos todo el snippet de código que se encuentra bajo el
encabezado Nav y lo pegaremos dentro de la etiqueta <body>, justo cuando empieza:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<title>Olivia Ros | Food Blogger</title>
<!-- Bootstrap 4.5.3 CSS -->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.mi
n.css"
integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg
6uqKI2xXr2" crossorigin="anonymous">
<!--Google Font: Raleway (Regular, Bold)-->
<link href="https://fonts.googleapis.com/css?family=Raleway:400,700"
rel="stylesheet">
<!--Font Awesome 5.15.1-->
<link rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.15.1/css/all.css"
integrity="sha384-vp86vTRFVJgpjF9jiIGPEEqYqlDwgyBgEF109VFjmqGmIY/Y4HV4d3
Gp2irVfcrp" crossorigin="anonymous">
<!--Mi estilo-->
<link rel="stylesheet" href="assets/css/style.css">
</head>
<body>
<!--Navbar agregado-->
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false"
_ 40
www.desafiolatam.com
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span
class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
</nav>
<!--jQuery 3.5.1-->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew
+OrCXaRkfj" crossorigin="anonymous"></script>
<!--Popper JS 1.16.1-->
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.j
s"
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7n
iu735Sk7lN" crossorigin="anonymous"></script>
<!--Bootstrap JS 4.5.3-->
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.
js"
integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBN
mNb5D92v7s" crossorigin="anonymous"></script>
</body>
</html>
_ 41
www.desafiolatam.com
● Paso 14: Ahora guardamos y luego vamos a abrir index.html dentro de nuestro
navegador.
Podemos ver que hemos escrito un navbar con estilo, colores, tipografía y tamaños
-todo gracias a Bootstrap- entonces podemos comprobar que el CSS de Bootstrap
está bien incorporado.
_ 42
www.desafiolatam.com
● Paso 15: Ahora, para comprobar que los scripts están bien incorporados,
achiquemos el tamaño de resolución del navegador. Podemos ver que el menú se
transformó en el llamado "menú hamburguesa".
_ 43
www.desafiolatam.com
Probemos presionando la hamburguesa del menú para ver si se despliega el menú.
Efectivamente, los ítems del menú se desplegaron. Eso sólo se puede lograr con
JavaScript, por lo tanto podemos asumir que también está bien incorporado.
Con esto hemos comprobado que hemos integrado todo lo que necesitaremos en
este proyecto, preliminarmente.
_ 44
www.desafiolatam.com