HTML y CSS
HTML y CSS
desarrollo backend
Ejemplo:
En un formulario de registro el equipo frontend va a crear un formulario
visualmente, siguiendo los parámetros del diseño, cuando el usuario
complete este formulario y lo envíe, vamos a “enviar” esos datos al
backend y ellos lo van a almacenar. Gracias a eso, nosotros vamos a
poder acceder a esa información en otras instancias de nuestra
aplicación (web o mobile)
¿QUÉ ES HTML?
Sus siglas significan: HyperText Markup Language (‘lenguaje de marcado
de hipertexto’)
¿QUÉ ES CSS?
Sus siglas significan Cascading Style Sheets, en español, Hoja de estilo en
cascada.
HTML va a ser el esqueleto de nuestra web, mientras que con CSS vamos a
darle estilos a ese esqueleto permitiendo llevar a cabo un diseño
determinado para completar lo visual en nuestra web.
¿QUÉ ES HTML5?
Es la versión 5 de HTML Que trajo algunos cambios:
SINTAXIS
Son reglas que van a determinar que un documento HTML está escrito
correctamente, es decir, que seguimos una secuencia determinada de los
elementos.
<img /> → este elemento no tiene contenido (definimos qué imagen será
con su atributo source, pero no tenemos contenido) por lo tanto cerramos
la etiqueta en la misma etiqueta de apertura
ATRIBUTOS
Los elementos tienen ciertos atributos que configuran cómo será el
comportamiento de ese elemento.
<p></p> → párrafo
<strong></strong> → negrita
<i></i> → cursiva
<a></a> → link
<hr/> → semánticamente representa cambio de tema entre párrafos →
representado por una línea
Iframe
Permite poner un fragmento de html dentro de esta etiqueta.
Atributos:
src → link al “pedacito” de html que deseamos se vea en nuestra web
allowfullscreen → permite la pantalla completa
importance → prioridad de descarga frente a otros elementos
name
¿CÓMO ESTILAR?
Estilo en línea → usar atributo style en cada etiqueta
Etiqueta style dentro de head → vamos a poder usar CSS con la etiqueta
style
<style>
p{
color: red
</style>
ARCHIVO CSS
Misma sintaxis que dentro de la etiqueta style en head
SELECTORES
Nos permiten seleccionar un elemento a través de una clase o un ID para
poder darle a estos un estilo en particular.
ID: usarse una sola vez (para esos casos que sepamos que vamos a dar
ese estilo por única vez en nuestra web) → también nos va a servir si
queremos linkear un elemento para navegar en nuestra página (a través
de la etiqueta <a></a>)
PADDING Y MARGIN
El padding crea espacio extra dentro del elemento
FUENTES
Con font family indicamos qué fuente queremos usar (qué tipo de letra) →
por defecto tenemos ciertas fuentes, pero si queremos usar otras,
podemos importarlas de google fonts
Tipos de letra:
FLEX
Una manera de distribuir los elementos de una web.
Podemos ubicarlas horizontal o verticalmente →
Usar:
https://flexboxfroggy.com/#es
TAMAÑOS
Además de píxeles, tenemos varias unidades de medida en CSS.
COLORES
Con rgb:
En hexadecimal:
#cantidadderojocantidaddeverdecantidaddeazul
Habrá dos valores para cada cantidad #ff0000 → aquí rojo con su valor
máximo y 0 para verde y azul
FORMULARIOS
Etiqueta form como principal → su atributo más importante es method →
post será el más seguro, mientras get hará que se muestre la información
ingresada en la url
Label → como contenedor de los inputs y el texto que quiera poner antes,
después o dentro del input
INPUT
Tipos: checkbox, radio, text, password, email, file, number, date → hay
muchos más. Se escribe como cualquier atributo type=”text”
Atributos: value (para el valor del input, por ahora no va a ser tan usado
como cuando aprendan JS), placeholder (un texto que podemos poner
dentro del input para dar una pista de cómo completar el input pero que
no le da un valor), name (muy importante, ponerlo obligatoriamente,
sobre todo para los input radio). Hay más.
LABEL
Su atributo más importante es for=”nombre del ID del input”. Porque
vincula el label con su respectivo input
BORDER
Le da un borde a nuestros elementos:
Border radius:
Sintaxis:
selector:pseudoclase
:hover → cuando se pasa el cursor encima del elemento
https://developer.mozilla.org/es/docs/Web/CSS/Pseudo-classes
https://www.w3schools.com/css/css_pseudo_classes.asp
Pseudoelementos
Sirve para estilar partes específicas de un elemento
selector::pseudoelemento
Position
Static
Por defecto. Se posiciona siguiendo el flujo normal de los elementos
pero NO se podrá posicionar utilizando las propiedades top, left, right,
bottom
Relative
Se posiciona también siguiendo el flujo normal de los elementos (se va
a ubicar donde nosotros esperamos), pero vamos a poder “moverlo”
utilizando las propiedades antes mencionadas
Absolute
Se posiciona respecto a su predecesor más próximo que también use
position (que no sea static) En caso que no haya, se posicionará
respecto al body
Fixed
A diferencia de absolute, no toma en cuenta un predecesor
posicionado. Sigue en la misma posición respecto de la ventana del
navegador aunque se haga scroll
Initial
Sería lo mismo que poner ‘static’ (porque static es el default)
Inherit
Valor heredado del elemento padre
Sticky
Comportamiento de position relative, hasta que, al llegar a
determinado punto empiece a funcionar como fixed → tengo un
elemento a mitad de pantalla, cuando hago scroll y toco ese elemento,
empieza a ser fixed.
Z-index
Ayuda a ordenar “en capas” nuestros elementos posicionados.
el que tenga z-index de mayor valor, será el que se verá por encima de
otros con menor valor.
elemento1{
position: relative
z-index: 2
}
elemento2{
position: absolute
z-index: 1
}
El elemento 1 se verá por encima del elemento 2
Shadow
Sirve para darle sombra a un elemento
box-shadow: 10px 10px (lo que hará que se ponga una sombra totalmente
negra, sin difuminación)
box-shadow: 10px 10px gray (lo que hará que se ponga una sombra gris, sin
difuminación)
box-shadow: 10px 10px 10px gray (lo que hará que se ponga una sombra
gris, con difuminación)
box-shadow: 10px 10px 10px 10px gray (lo que hará que se ponga una
sombra gris, con difuminación y un alcance de 10px - una especie de
“tamaño”)
Diseños responsivos
Hacemos una web responsiva cuando la misma se ve bien y funcional en
todos los dispositivos.
Media queries
Con ellas, vamos a indicar a CSS que tamaños mínimos o máximos (o
ambos) vamos a tomar de referencia para estilar de manera que se vea
bien en todas las pantallas. En general las medidas son estas (o similares)
Ejemplo:
@media(max-width: 576px) {
propiedad: valor
@media (min-width: 576px) and (max-width: 992px) → entre 576 y 992 tendrán
esos estilos
Siempre debemos ordenarlas de la siguiente manera:
@media(max-width: 900px){
estilos
@media(max-width: 700px){
estilos
Dropdown
HTML
.dropdown{
position: relative
}
.dropdown-content{
position: absolute
display: none
}
.dropdown:hover{
dropdown-content{
display: block
}
}
Transitions
Define la transición entre dos estados de un elemento.
Transition-timing-function
ease (por defecto) —> empieza lento, va más rápido y al final vuelve a
estar lento
linear —> la misma velocidad
ease-in —> empieza lento
ease-out —> termina lento
ease-in-out —> lento al inicio y final
cubic-bezier(n,n,n,n) —> valores propios
Transform
Translate
Rotate
Rota el elemento
transform: rotate(nºdeg)
scale para cambiar el tamaño, skew para modificar los grados de los
lados verticales u horizontales , matrix para combinar todos los tipos
de transformación
(matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY()))
https://www.w3schools.com/css/css3_2dtransforms.asp
Tablas
<table> es la etiqueta que engloba toda la tabla.
Usaremos tbody, thead, tfooter → si queremos usar etiquetas semánticas
para determinar la finalidad de cada sección de la tabla.
El header o título de cada columna o fila se dará con un <th>, cada fila con
un <tr> y con <td> cada celda
<table>
<tr><th></th></tr>
<tr><td></td></tr>
</table>
Para estilos:
border-collapse → una sola línea en el borde, no por cada elemento
text-align → horizontalmente
vertical-align → verticalmente
Pros:
Mobile first
Buena experiencia de usuario → componentes/colores intuitivos
Reutilización de código
Contras:
Hace que todas las webs sean casi iguales
No vamos a tener un buen HTML
Podemos descargarlo (quizá podría ser necesario en aquellos casos que
usemos JS o alguna librería - como React, Vue, Angular)
https://getbootstrap.com
Sistema de grillas
Sintaxis