Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los navegadores funcionan con un protocolo que define cómo se realiza la transferencia de
datos a través de internet .Es llamado
Google Chrome es uno de los navegadores más modernos y más utilizado, el cual tiene 3
versiones:
● Google Stable. Versión que todos usamos
● Google Dev: Versión para desarrolladores que contiene las nuevas funcionalidades y
el navegador se actualiza semanalmente
● Google Canary: Versión para desarrolladores que contiene las nuevas
funcionalidades y el navegador se actualiza diariamente
Otro navegador muy común es Firefox que también cuenta con 2 versiones:
● Firefox: Version normal
● Firefox Dev: Versión para desarrolladores
HTML
Acá va el título del proyecto
<meta name="viewport" content="width=device-width, inictial-scale1.0">
Esta meta nos ayuda a que la página se vea escalonada desde cualquier dispositivo y que
sea responsive.
<link rel="stylesheet" href="">
Nos permite enlazar los estilos de css
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<meta name="description" content=" ">
<meta name="robots" content="index,follow">
<meta name="author" content=" ">
<title>Document</title>
<meta name="viewport" content="width=device-width,
inictial-scale1.0">
<link rel="stylesheet" href="">
</head>
Etiquetas contenedoras:
<header>
Va todo lo que va en el encabezado
<nav>
Va la barra de navegación
</nav>
</header>
<main>
</main>
Va el contenido de la página
</footer>
<section></section>
Section:Nuestro website puede estar dividido por secciones, por ejemplo platzi tiene 3: El
navegador de cursos y rutas, el feed y nuestras rutas de aprendizaje
<article></article>
article: diferentes partes del contenido que pueden vivir por sí mismas. Contenido
independiente de la página. Es reutilizable
<ul>
<li>
</li>
</ul>
ul y ol: listas de ítems.
</ol>
Etiquetas de contenido
<h1>Es el título</h1>
h1 a h6: son etiquetas para indicar títulos con un estilo que destaca del resto.
<p>
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Mollitia eaque atque, quidem esse, eveniet nesciunt cumque ad, neque
fugiat placeat sit odit? Aliquid, dolorem. Excepturi maiores iusto ea
repellendus nobis.
</p>
<a href=""></a>
a: corresponde a un ancla o enlace a una url interna o externa del documento.
Anatomía de una etiqueta
Etiqueta de ancla:
Existen dos tipos de imágenes, sin pérdida o con pérdida, y esto depende de como el
formato maneja las imágenes.
Optimización de imágenes
Etiqueta de imágenes
<figure>
<img src="/imagenes/cerdito.jpg" alt="">
</figure>
<figcaption>Es una imagen de una chuleta
</figcaption>
Responsive NOTA: Cambio de imagen con media querin
<picture>
<source media="(max-width:768px)" srcset="imgenes\images.png">
<img src="imgenes\squarespace-logo-horizontal-black.jpg"
alt="">
</picture>
Etiqueta de vídeo
<form action="">
<label for="nombre">
<span>¿Cual es tu nombre?</span>
<input type="text" id="nombre" placeholder="Tu nombre" />
</label>
<label for="inicio-platzi">
<span>¿Qué día comenzaste en Platzi?</span>
<input type="date" id="inicio-platzi" />
</label>
<label for="horario">
<span>¿En que horario estudias?</span>
<input type="time" id="horario" />
</label>
</form>
Calendario
Forma 1 (larga)
<form action="">
<label for="hora">
<span>hora</span>
<input type="time" id="hora" name="hora">
</label>
<label for="dia">
<span>Día</span>
<input type="date" id="dia" name="dia">
</label>
<label for="semana">
<span>semana</span>
<input type="week" id="semana" name="semana">
</label>
<label for="mes">
<span>Mes</span>
<input type="month" id="mes" name="mes">
</label>
<input type="submit" />
</form>
Forma 2 (corta)
<form action="">
<label for="calendario">
<span>Calendario</span>
<input type="datetime-local" id="calendario" name="calendario">
</label>
</form>
Atributos de input
https://developer.mozilla.org/es/docs/Web/HTML/Element/input#atributos
Autocomplete y require
<form action="">
<label for="nombre">
<span>¿Cual es tu nombre?</span>
<input
type="text"
name="nombre"
id="nombre"
autocomplete="name"
required
/>
</label>
<label for="correo">
<span>¿Cual es tu email?</span>
<input
type="email"
name="correo"
id="correo"
autocomplete="email"
required
/>
</label>
<label for="pais">
<span>¿Cual es tu pais?</span>
<input
type="text"
name="pais"
id="pais"
autocomplete="country"
required
/>
</label>
<form action=""></form>
<label for="cp">
<span>¿Cual es tu codigo postal?</span>
<input
type="text"
name="cp"
id="cp"
autocomplete="postal-code"
required
/>
</label>
<input type="submit" />
</form>
El atributo require, evita que se envíe información del formulario, si el input está vacío. El
atributo se coloca en la etiqueta <input>.
Atributos de autocomplete
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
Select
Para crear inputs con una lista de varias opciones, se puede desarrollar de dos maneras
diferentes:
.
1. Etiqueta <select>: Esta permite crear la lista, con las etiquetas <option>:
<select name="cursos" id="">
<option value="JavaScript">JavaScript</option>
<option value="HTML5">HTML5</option>
<option value="CSS3">CSS3</option>
<option value="Web Standards">Web Standards</option>
</select>
2. Etiqueta <input list = “”>: De este modo, se puede utilizar una etiqueta <datalist>
con etiquetas <option> dentro del input. De este modo, el usuario puede escribir
dentro del input, y filtrar los resultados de la lista:
<input list="cursos" />
<datalist id="cursos">
<option value="JavaScript"></option>
<option value="HTML5"></option>
<option value="CSS3"></option>
<option value="Web Standards"></option>
</datalist>
CSS
¿Qué es CSS?
Cascading style sheet (css) es la herramienta con la que le damos estilo a nuestra pagina
ya sea color, tamaño, espacios, lugares de posición y más.
Selector
HTML
<p class="parrafo">Soy un texto</p>
<p id="texto">Soy otro texto</p>
CCS
p {
color: blue;
font-size: 40px;
}
/* class */
.parrafo {
color: red;
}
/* ID */
#texto {
color: yellow;
font-size: 24px;
}
Pseudo-classes
Una pseudoclase CSS es una palabra clave que se añade a los selectores y que especifica
un estado especial del elemento seleccionado. Por ejemplo, :hover aplicará un estilo
cuando el usuario haga hover sobre el elemento especificado por el selector.
div:hover {
background-color: #F89B4D;
}
Las pseudoclases, junto con los pseudoelementos, permiten aplicar un estilo a un elemento
no sólo en relación con el contenido del árbol de documento, sino también en relación a
factores externos como el historial del navegador (:visited, por ejemplo), el estado de su
contenido (como :checked en algunos elementos de formulario), o la posición del ratón
(como :hover que permite saber si el ratón está encima de un elemento o no).
Sintaxis
selector:pseudoclase { propiedad: valor; }
Pseudoelementos
Al igual que las pseudo-classes, los pseudo-elementos se añaden a los selectores, pero en
cambio, no describen un estado especial sino que, permiten añadir estilos a una parte
concreta del documento. Por ejemplo, el pseudoelemento ::first-line selecciona solo la
primera línea del elemento especificado por el selector.
Sintaxis
selector::pseudo-elemento { propiedad: valor; }
Modelo de caja
* {
box-sizing: border-box;
padding: 0;
margin: 0;
}
Paiding y margin en 0 Nos ayuda a reiniciar los estilos que traen los navegadores por
defecto.
Box-sizing:border-box; Elimina espacios indeseados.
Herencia
h1 {
font-size: inherit;
}
Especificidad en selectores
1. Importancia
2. Especificidad
3. Orden de fuente
Importancia.
2. Declaraciones normales en hojas de estilo de autor (nuestro .css) que son los estilos
que nosotros colocamos en nuestro proyecto.
Especificidad:
el orden de importancia es:
● !important
● Iniline styles
● #id
● ,class
● tag
Para evitar rescribir estilos y que se rompa nuestro código tenemos que evitar los
!important, Iniline styles #id y tag.
Orden de la fuente:
las declaraciones finales son las que se se van a ejecutar en el caso que los estilos tienen
la misma especificidad
Ejemplo de especificidad
1 importancia
h1 {
color: purple;
font-family: serif;
margin-bottom: 10px;
}
2 importancia
.title {
font-size: 18px;
font-family: monospace;
}
h2+p:
El más lo que indica es agregar este estilo a las etiquetas “p” que tengan un “h2” justamente
arriba de sí mismas.
Hermano general
h2~p:
Agregale este estilo a las etiquetas “p” que están abajo de un “h2” (no importando si está
justamente arriba o si está separado por otras etiquetas, la cosa es que tenga un "h2 arriba
en html).
Hijo
Descendiente
div p{ todas las etiquetas párrafo que estén dentro de una etiqueta div aplícale el estilo}
Medidas
Absolutas
medida absoluta: el valor de este no cambia y siempre será el mismo asi la pagina cambie
su tamaño, las medidas absolutas son:
➔ mm = milímetros
➔ cm = centímetros
➔ in = pulgada
➔ pc = picas
➔ px = pixel
Relativas
las medidas relativas: estas medidas heredan el tamaño o se basan en algún tamaño que
se haya seleccionado y el valor irá cambiando según si la pagina cambia de tamaño, las
medidas relativas son :
➔ %
➔ em
➔ rem
Medidas Em
Ejemplo:
Padre: es container que le dimos un tamaño de 20 px
Hijo: es Div y le dijimos que tuviera un tamaño de 2 em
20px * 2 em = 40px
Medidas Rem
Es proporcional de manera constante a el valor dado por HTML es decir no toma en cuenta
el tama;o de padre sino siempre tomará como referencia HTML
1 rem = 16 px
TIP: Para no tener que estar realizando cálculos vamos a dar a HTML un tamaño en
font-size: 62,5% esto hará que el tamaño de la fuente quede en 10px.
1rem=10px
1.6rem= 16px
2 rem=20px
3rem=30px
Ejemplo:
Max/Min width
Las medidas vh y vw
son medidas relativas de acuerdo al viewport.
Vh hace referencia a la centésima parte de la altura del viewport y vw a la centésima parte
del ancho del viewport.
Max-width
La propiedad de CSS max-width coloca el máximo ancho a un elemento. Además, impide
que el valor de width sea más largo que el valor especificado en max-width.
Min-width
A diferencia de max-width que define el tamaño máximo, min-width define el mínimo tamaño
que un elemento puede tener.
Max-heigth
La propiedad max-height funciona de manera similar a la propiedad max-width, pero afecta
a la altura en lugar de anchura.
Min-heigth
A diferencia de la altura máxima, la propiedad altura mínima proporciona una altura mínima
para un elemento
Position
La propiedad position de CSS especifica cómo un elemento es posicionado en el
documento. Las propiedades top, right, bottom, y left determinan la ubicación final de los
elementos posicionados.
static
El elemento es posicionado de acuerdo al flujo normal del documento. Las propiedades top,
right, bottom, left, and z-index no tienen efecto. Este es el valor por defecto.
relative
El elemento es removido del flujo normal del documento, sin crearse espacio alguno para el
elemento en el esquema de la página. Es posicionado relativo a su ancestro posicionado
más cercano, si lo hay; de lo contrario, se ubica relativo al bloque contenedor inicial. Su
posición final está determinada por los valores de top, right, bottom, y left.
fixed
El elemento es removido del flujo normal del documento, sin crearse espacio alguno para el
elemento en el esquema de la página. Es posicionado con relación al bloque contenedor
inicial establecido por el viewport, excepto cuando uno de sus ancestros tiene una
propiedad transform, perspective, o filter establecida en algo que no sea none (ver CSS
Transforms Spec), en cuyo caso ese ancestro se comporta como el bloque contenedor.
sticky
Display Flex
Flex es un tipo de display que permite que el contenedor padre sea flexible a los cambios
que puedan tener los elementos hijos en su alineación.
Una vez tengamos el elemento padre con display flex tenemos otras propiedades que
podremos usar para nuestro beneficio.
Flex-direction
Te permite elegir la alineación de los elementos hijos sea en vertical (column) u horizontal
(row), esta alineación viene por defecto.
Justify-content
Esta propiedad nos permite alinear el contenido de forma horizontal
Valores.
Flex-start
Alinear ítems del flex desde el comienzo.
Flex-end
Alinear items desde el final.
Center
Alinear items en el centro del contenedor.
Space-between
Distribuir items uniformemente, el primer ítems al inicio, el último al final.
Space-around
Distribuir items uniformemente, estos tienen el mismo espacio a su alrededor.
Space-evenly
Distribuye uniformemente el espacio entre los ítems y su alrededor.
Flex-wrap
Permite que un elemento cuyo tamaño sea mayor al de la página haga un salto de línea sin
salirse del contenedor, pues este se agranda.
Order
Especifica el orden utilizado para disponer los elementos en su contenedor flexible. Los
elementos estarán dispuestos en orden ascendente según el valor de order.
Flex-grow
Especifica qué cantidad del espacio restante dentro del contenedor flexible, debería ocupar
el ítem en cuestión según su dirección principal, esta última determinada por flex-direction.
Flex-basis
¿Cómo se declara?
Normalmente se declara dentro de :root pondremos colores, fuentes, bordes que sean
repetitivos serán variables globales.
indicando con – (Doble guión) y seguido del Nombre de la variable y el **valor **que este
tendrá.
como llamarla?
Fonts
Son grupos familiares de fuentes, los navegadores web poseen fuentes predeterminadas y
dependiendo del mismo cada uno de ellos posee estilos diferentes.
serif: Son un tipo de fuente de estilo formal o clásico como Times New Roman.
sans-serif: No tienen acabado en las puntas, como: Verdana.
cursive: Son las que tienen estilo cursivo.
monospace: Son tipos de fuentes con espaciado entre las letras, como: Roboto mono.
https://fonts.google.com/icons?selected=Material+Icons
https://fontawesome.com/
https://fonts.google.com/
https://developer.mozilla.org/en-US/docs/Web/CSS/font-family
Responsive design
El viewport lee el tamaño de la pantalla para generar la escala este se ingresa en el head de
HTML
Si queremos evitar que el usuario puede escalar nuestra web, debemos establecer un
user-scalable=no, así le decimos al navegador que el usuario no puede hacer zoom en la
página.
De donde inicies el css depende del tipo de proyecto que está realizado esto se basará en
la experiencia de usuario ejemplo si su uso será más en escritorio o desde el celular.
Desktop first
mobile first
Media queries
Se debe optimizar para todos los dispositivos. Hay tiene que tener en claro un par de
conceptos:
Break points: cuando la pantalla sea de cierto tamaño, se generará un cambio para
reposicionar o redimensionar los contenedores.
Media Query: son condicionales. No es la mejor práctica pero aplicándolo al CSS: @media
(min-width: #;) {"código que se aplicará"} y se aplican para cada tamaño de dispositivo.
El pixelaje dado será el break point.
Lo más importante es diseñar para el móvil. Por lo que se debe diseñar con mobile first. Es
decir, primero diseñar para celular, luego un break point para tablet y finalmente un break
point para PC.
Para aplicar media queries con buenas prácticas, hay que hacerlo en el header. Porque así
solo se descarga el código necesario según el dispositivo, mientras que en CSS se
descarga todo sin importar nada.
En la tag link se colocan los atributos href, rel y, a partir del segundo archivo, el break point
media="screen and (min-width: #px". El style.css debe estar hecho para mobile. Luego se
pueden crear otros archivos como tablet.css o desktop.css.
https://www.mydevice.io/
Concepto de columnas
Columnas estáticas
Columnas dinámicas
Consta de 12 columnas.
Mostly Fluid
El patrón Mostly fluid consiste, principalmente, en una cuadrícula fluida. Por lo general, en
las pantallas grandes o medianas se mantiene el mismo tamaño y simplemente se ajustan
los márgenes en las más anchas.
@media(min-width:600px) {
.c2,
.c3,
.c4{
width:50%
}
Layout shifter
El patrón Layout shifter es el más adaptable, ya que posee varios puntos de interrupción en
diferentes anchos de pantalla.
<main class="container">
<div class="c1"></div>
<div class="c4">
<div class="c2"></div>
<div class="c3"></div>
</div>
<div class="c5"></div>
@media (min-width:600px) {
.c1{
width: 25%;
}
.c4{
width: 75%;
}
.c5{
width: 100%;
}
}
@media (min-width:800px){
.container{
width: 800px;
margin-left: auto;
margin-right: auto;
}
.c1{
width: 50%;
order: 1;
}
.c4{
width: 100%;
}
.c5{
width: 50%;
order: 2;
}
}
Column drop
En el caso de los diseños con varias columnas de ancho completo, durante el proceso de
colocación de columnas éstas únicamente se colocan de forma vertical debido a que el
ancho de la ventana es demasiado reducido para el contenido.
<main class="container">
<div class="c1"></div>
<div class="c2"></div>
<div class="c3"></div>
<div class="c4"></div>
<div class="c5"></div>
</main
.container{
display: flex;
flex-wrap: wrap;
}
.c1,
.c2,
.c3,
.c4,
.c5{
width: 100%;
min-width: 150px;
height: 150px;
}
.c4{
height: auto;
}
.c1{
background-color: #fabfb7;
}
.c2{
background-color: #fdf9c4;
}
.c3{
background-color: #ffda9e;
}
.c4{
background-color: #c5c6c8;
}
.c5{
background-color: #b2e2f2;
}
.c4{
width: 100%;
order: 4;
.c5{
width: 100%;
order: 5;
}
}
@media (min-width:800px){
.c1{
width: 30%;
}
.c2{
width: 40%;
}
.c3{
width: 30%;
}
.c4{
width: 50%;
}
.c5{
width: 50%;
}
}
Tiny tweaks: El patrón Tiny tweaks permite realizar pequeños cambios en el diseño, como
ajustar el tamaño de la fuente, cambiar el tamaño de las imágenes o desplazar el contenido
de maneras muy poco significativas.
Off canvas: En lugar de apilar contenido verticalmente, el patrón Off canvas coloca
contenido menos usado (tal vez menús de navegación o de apps) fuera de la pantalla y solo
lo muestra cuando el tamaño de la pantalla es suficientemente grande.
Configuración del proyecto
Setup del proyecto, es como vamos a organizar nuestras carpetas y archivos del proyecto.
Shortcut, abreviación que nos permite generar un grupo de código.
.
Repaso de etiquetas:
• <!DOCTYPE html> esta etiqueta sirve para avisar al navegador que estamos hablando de
HTML5.
• Head, es una etiqueta contenedora, y no es visible para el usuario, pero es necesaria para
manejar dependencias.
• Body, es una etiqueta contenedora, y contiene todo lo visual con lo que el usuario puede
interactuar.
• Link, es una etiqueta de contenido que sirve para referenciar ciertos assets y por medio de
esta invocamos nuestro archivo css.