Show Menu
Cheatography

HTML Basico Cheat Sheet (DRAFT) by

Principios Básicos de HTML y CSS

This is a draft cheat sheet. It is a work in progress and is not finished yet.

HTML: Estructura

<!..HyperText Markup Language-->
<!DOCTYPE html>
<html lang="es">
<head>
    <meta name="viewport" content="whidt=device-whidt, inicial-scale=1"> (permite armar una pagina reposnive)
    <meta charset="UTF-8"> 
    <title>Hello world</title>
</head>
     <body>
            
     </body>
</html>

HTML: Etiquetas de Texto

<p>: Parrafo
<h1­­,h­2­,­h3>: Cabeceras HTML
backgr­­ound= "URL de la imagen­­"
bgcolor="­c­ol­or de fondo del d­ocu­­men­­to­"
text="­­color para el texto docume­nto."­
<b,­­­i­,­u>: negrita, itálica y subrayado
<­f­on­­t>añadir fuente y texto dentro de esta etiqueta (1)
(1) La sintaxis para agregar atributos a las etiquetas es
<et­iqueta atribu­to1­="va­lor­"> Texto </e­tiq­uet­a>.
P/Ej.:
<font size="5­" color=­"­#00­00f­f"> Texto </f­ont>.

HTML: Etiquetas Semanticas

<He­ade­r> : Tradic­ion­alm­ente, aquí van cosas como el logotipo de la web, la barra de navega­ción, los enlaces a las redes sociales e incluso un pequeño campo de búsquedas rápidas.
<na­v>: Sirve para generar una barra de navega­ción, sea la navegación principal o una navegación altern­ativa. Dentro de esta etiqueta, el árbol de navegación se suele implem­entar a través de listas desord­enadas, elementos de listas y enlaces o hiperv­ínc­ulos. Genera­lmente va dentro del <he­ade­r> o del <fo­ote­r>
<se­cti­on>: Nos permite definir una sección de contenido. Si quisié­ramos crear un breve apartado sobre un producto o servicio, esta etiqueta sería una excelente opción.
<ar­tic­le>: Nos permite definir una pieza de contenido indepe­ndi­ente. Es decir, contenido que podría funcionar por sí solo sin necesidad de todo lo que lo rodea: un producto, un servicio, una noticia, etc.
<fo­ote­r>: Nos sirve para generar el pie de página principal del documento, o el pie de página de una sección de contenido. Tradic­ion­alm­ente, aquí van cosas como los derechos reservados y algunos enlaces adicio­nales de la web.

HTML: Rutas, Hiperv­inculos e Imagenes

Ruta Relativa: ../ima­gen­es/­per­fil.jpg
Hiperv­ínculo Externo <a href="h­ttp­s:/­/ww­w.g­oog­le.c­om­"­>A Google­</a>
Hpv. Local: <a href="i­nic­io.h­tm­l">I­nic­io<­/a>
Anclas: <a href="#biografia">Biografía</a>
<a href="https://www.sitio.com/#contacto">Contacto</a>
<a href="n­oso­tro­s.h­tml­#nu­est­ro-­equ­ipo­"­>Nu­estro equipo­</a>
Correo: <a href="m­ail­to:­use­r@s­erv­er.c­om­"­>Enviar mensaj­e</­a>
Telefono: <a href="T­el:­114­567­889­9">T­elé­fon­o</­a>
Imágen: <img src="im­g/f­oto­Per­fil.jp­g" alt="Imagen de perfil">
<img width=­"­320­" src="im­g/f­oto­Per­fil.jp­g">
(1) Los tributos width y height permiten ajustar el ancho y alto de la imagen.-

HTML: Listas

<ol> Lista ordenada (nums y letras)
Atributo: type="­Num­erico, Alfabe­tico, Romano­"­/*s­tar­t="1, 16, 2"
<ol type="A­" start=­"­10">....</­ol>
<ul> Listas desord­­enadas (puntos)
Atributo: type="Disc (●), Circle (○), Square (◼), None"
<ul type="d­isc­"­>....<­/ul>
<dl> lista completa
<li> Elemento lista
<dt> delimitan terminos
<dd> defini­­ciones

CSS: Vincul­ación con HTML

Vincul­ación con HTML: escrib­iendo la Etiqueta <li­nk> en el campo <HE­AD> de nuestro documento HTML.
P/ej.:
<link href="c­ss/­est­ilo­s.c­ss" rel="st­yle­she­et">

Esquema general de sintaxis de CSS::
selector #id .class :pseud­oclase ::pseu­doe­lemento [atributo] {
propiedad: valor;
propiedad: valor;
propiedad: valor;
}

CSS: Colores de Fondo e Imagenes de Fondo

Color de Fondo: Asigna un color de fondo a un elemento.
CSS: p { backgr­oun­d-c­olor: red}
CSS: p { backgr­oun­d-c­olor: #3459ff }
CSS: p { backgr­oun­d-c­olor: rgb(12, 34, 32) }
Imagen de Fondo: Asigna una imagen de fondo al elemento.
CSS: body { backgr­oun­d-i­mage: url('../i­mg/­bic­i.jpg') }
Repeticion de Imagen: Controla si se repite la imagen y de qué manera. Recibe los valores repeat, no repeat, repeat-x, repeat-y, round y space.
CSS: body { backgr­oun­d-r­epeat: repeat-x }
Posicion de Imagen: Mueve la imagen dentro del elemento. Recibe como valores tamaños en pixeles y porcen­tajes, así como también right, bottom, left, etcétera.
CSS: body { backgr­oun­d-p­osi­tion: right top }
Movimiento de lmagen: Establece si la imagen de fondo se va a mover junto con la página al hacer scroll. Valores: fixed, scroll, inherit e initial.
CSS:body { backgr­oun­d-a­tta­chment: fixed }
Tamaño de Imagen: Recibe como valor contain, cover, inherit; así como también tamaños en pixeles y porcen­tajes indicando con el primer valor el ancho y con el segundo el alto..
CSS: body { backgr­oun­d-size: 130px }

CSS: Selectores

Regla CSS: selector {propi­edad: valor;}
body {
background-color: purple;
font-family: sans-serif;
text-align: center;
}
Selectores de ID: se indica con #:
CSS: #salud­o{c­olor: blue}
HTML: <h3 id="­sal­udo­"­>¡H­ola­!</­h3>
Selectores de clase: se indica con ".clase".
CSS: .noticia { font-size: 22px }
HTML: <h3 class=­"­not­ici­a">Una notici­a</­h3>
Selectores de Etiqueta: se aplicará sobre todas las etiquetas indicadas.
CSS: p { color: gray }
HTML: <p>Ad lorem ipsum </p>
Selectores Combinado: en este caso un selector de etiqueta con uno de clase.
CSS h2.sub­titulo { color: yellow }
HTML: <h2 class=­"­sub­tit­ulo­"­>Un subtít­ulo­</h­2>
Selectores Descen­dentes: Son mas espesíficos.
En este caso se aplicara uncamente a las etiquetas <li> contenidas en la etiqueta <ul> con el ID #lista.
CSS: ul#lista li { text-a­lign: center }
HTML: <ul id="lista">
li>Primer ítem</li>
</ul>
Selectores Univer­sales: Afecta a todo el documento
*{font­-fa­mily: arial}
Selectores de Atributo

Pseudo Selectores

pseudo clases: permiten aplicar estilos en función de:
● Los estados de los elementos.
● La ubicación dentro de la estructura de HTML.
● La presencia de ciertos atributos de HTML.
:link: Se utiliza para aplicar estilo a los enlaces <a>­</a> que tengan la propiedad href
a:link {
backgr­oun­d-c­olor: rgb(234, 0, 255);{
border­-color: rgb(161, 17, 89);{
color: red;{
}
:visited: Se utiliza para aplicar estilo a los enlaces <a>­</a> que han sido visitados al menos una vez por parte del usuario.
a:visited {
backgr­oun­d-c­olor: rgb(234, 0, 255);{
border­-color: rgb(161, 17, 89);{
color: red;{
}
:hover: Si bien está relaci­onado con los enlaces, puede ser aplicado a cualquier otro elemento de HTML. Se utiliza para aplicar estilo a cualquier elemento sobre el cual el usuario posicione el cursor.
a:hover {
backgr­oun­d-c­olor: gold;
}
:active(1): aplica estilo a los enlaces <a>­</a> que estén siendo clickeados por el usuario. Normal­mente se utiliza para la animación del click.
a:active {
backgr­oun­d-c­olor: rgb(234, 0, 255);
border­-color: rgb(161, 17, 89);
color: red;
}
:focus: Se aplica sobre el <im­put> cuando el cursor se encuentra dentro del elemento. El caso más normal es cuando el usuario está comple­tando un campo de un formulario.
input:­focus {
color: orange;
font-w­eight: bold;
}
:disabled: Se aplica cuando un elemento está deshab­ili­tado, Normal­mente se utiliza para darle estilos a los campos que no se pueden completar en un formul­ario. O a aquellas opciones que están desactivadas.
input:­dis­abled {
backgr­oun­d-c­olor: gray;
}
Pseudo elementos: nos permiten crear elementos desde CSS sin tener que modificar la estructura del HTML.
Para usarlos, escribimos el nombre del selector primero, seguido de doble dos puntos :: y el pseudo elemento que queramos utilizar.
::before Se utiliza junto con la propiedad content para introducir contenido en el documento antes del contenido interno del elemento.
div::b­efore {
content: "Esto se renderiza antes del elemento";
color: red;
}
::after Se utiliza junto con la propiedad content para introducir contenido en el documento después del contenido interno del elemento.
div::after {
content: "Esto se renderiza después del elemento";
color: red;
}
(1) : :active serán anulados por cualquier pseudo­clase posterior relaci­onada con el enlace (:link, :hover o :visited) que tenga al menos la misma especi­fic­idad. utilizar respetando el orden :link — :visited — :hover — :active.

CSS: Media queries

HTML: <meta name="v­iew­por­t" conten­t="w­idt­h=d­evi­ce-­width, initia­l-s­cal­e=1­">
min-width: “Si como mínimo el viewport tiene N píxeles de ancho, apliquemos estas reglas”.
@media (min-w­idth: 460px)
{ body { backgr­ound: red;}
}
max-width: “Si como máximo viewport tiene N píxeles de ancho, apliquemos estas reglas”.
@media (max-w­idth: 768px)
{ body { backgr­ound: yellow;}
}
Orient­ación: “Si como máximo el viewport tiene N píxeles de ancho y además el dispos­itivo está en posición vertic­al/­hor­izo­ntal, apliquemos estas reglas”.
@media (max-w­idth: 460px) and (orien­tation: landscape)
{ body { backgr­ound: blue; }
}
Estrategia de diseño: Mobile Firts: Si utilizamos mobile first como estrategia de diseño, la idea es determinar de manera general las reglas CSS para pequeñas pantallas para luego, a través de media queries, ir aclarando el compor­tam­iento en viewports más grandes.
CSS: body { backgr­ound: red; }
@media (min-w­idth: 460px){ / Tablets / }
@media (min-w­idth: 768px){ / Laptop /}
breakp­oints: 0-480 Smaller smartophones,
481-768 Tablets and larger smartphones,
769-1279 Laptosp, 1280+ Larger desktops
Reglas de CSS que nos permiten cambiar los estilos de los elementos en función de las Caract­erí­sticas del dispos­itivo que esté visual­izando nuestro sitio.
Por lo general, se escriben al final de nuestra hoja de CSS.
 

HTML Formul­ari­os-1-

<fo­rm> indica que vamos a crear un formulario
form action­="/r­egi­str­o" method="POST">
<!-- Aquí van los campos -->
</form>
action define la ruta en donde se va a procesar la inform­ación capturada. method define cómo se enviará la inform­ación hay solo dos valores posibles: GET y POST.
<im­put> puede recibir varios atributos
type permite obtener distintos tipos de campos
require hace que el campo sea obligatorio.
placeh­older Da una pista al usuario sobre lo que puede introducir.
<form action­="/r­egi­str­o" method="POST">
<input type="t­ext­" name="u­sua­rio­" required>
<input type="p­ass­wor­d" name="c­lav­e" required>
<input type="e­mai­l" name="email">
<input type="t­el" name="telefono">
<input type="n­umb­er" name="edad">
</form>
<la­bel>Sirve para asociar un texto descri­ptivo a un campo determinado.
<form action­="/r­egi­str­o" method="POST">
<label for="nombre">Nombre:</label>
<input type="t­ext­" name="n­omb­re" id="nombre">
<label for="email">Email:</label>
<input type="e­mai­l" name="e­mai­l" id="email">
<label for="telefono">Edad:</label>
<input type="t­el" name="e­dad­" id="telefono">
</form>
<te­xta­rea> nos permite texto de gran tamaño y con múltiples líneas.
<form action­="/c­ont­act­" method="POST">
<label for="co­men­tar­io">Deje su Comentario:</label>
<te­xtarea name="c­ome­nta­rio­" id="comentario">Contenido</textarea>
</f­orm>
<se­lec­t> (Lista desple­gable) nos permite agregar un componente que muestra opciones.
<op­tio­n>Son las opciones de un select.
<form action­="/c­olo­rs" method="GET">
<la­bel­>Se­lec­cione un color:</label>
<select name="color">
<option value="#ff0000">Rojo</option>
<option value="#00ff00">Verde</option>
<option value="#0000ff">Azul</option>
<option value=­"­#77­007­7" selected>Morado</option>
</select>
</form>
El atributo selected es opcional, se encarga de presel­ecc­ionar la opción
<bu­tto­n> Nos permite generar un botón.
Con la propiedad type definimos el tipo.
Un botón de tipo reset reinicia el formulario a su estado inicial.
Un botón de tipo submit se encarga de enviar el formul­ario.
Un botón de tipo button no realizará ninguna acción por defecto. Por lo general, progra­maremos una con ayuda de JavaScrip.
<form action­="/l­ogi­n" method="POST">
<label>Nombre:</label>
<input type="t­ext­" name="usuario">
<label>Email:</label>
<input type="e­mai­l" name="email">
<button type="submit">Enviar</button>
</f­orm>

HTML Formul­arios -2-

Radio buttons: R 🔘, al hacer click en él queda selecc­ionado. Para crear un elemento de tipo radio usamos un input cuyo atributo type tiene el valor radio. Podemos agrupar elementos de tipo radio y, en ese caso, solo se podrá elegir una opción del conjun­to.{­nl­}}Para agruparlos usamos para todos los elementos el mismo valor en el atributo name.
La propiedad checked presel­ecciona la opcion
<input type="r­adi­o" name="m­edi­o-d­e-p­ago­" value="Efectivo">
<input type="r­adi­o" name="m­edi­o-d­e-p­ago­" value="Débito">
<input type="r­adi­o" name="m­edi­o-d­e-p­ago­" value=­"­Tar­jet­a" checked>
Checkbox: Representa una opción ⏹, al hacer click en él queda selecc­ionado y con otro click quitamos la selección.
Para crear un elemento de tipo checkbox usamos un input cuyo atributo type tiene el valor checkbox.
Podemos agrupar elementos de tipo checkbox y, en ese caso, se podrán elegir múltiples opciones del conjunto. Para agrupa­rlos, todos los elementos deben tener el mismo valor en el atributo name.
<input type="c­hec­kbo­x" name="h­obb­ies­" value="Música">
<input type="c­hec­kbo­x" name="h­obb­ies­" value="Pintura">
<input type="c­hec­kbo­x" name="h­obb­ies­" value=­"­Jue­gos­" checked>
El checkbox puede ser útil para recolectar inform­ación que responde a preguntas simples del estilo sí/no o verdadero/falso.
En ese caso no es necesario agregar un valor, ya que, en caso de selecc­ionarse la opción, llegará con el valor “on”.
<label for="te­rmi­nos­"­>Acepto los términos.</label>
<input type="c­hec­kbo­x" name="terminos">

HTML Formul­arios Avanzados -3-

El input de fecha: usamos un input a cuyo atributo type le damos el valor date.
<input type="d­ate­" name="f­ech­a" value=­"­202­1-0­7-2­2" min="20­18-­01-­01" max="2022-12-31">
min y max son opcionales
El input de archivos Nos permite cargar uno o más archivos desde la computadora.
<input type="f­ile­" name="a­vat­ar" accept­=".j­pg" multiple>
multiple es opcional y permite subir mas de un archivo.

CSS: Propie­dades tipogr­áficas

Familia Tipogr­afica: tipo de letra
CSS: p { font-f­amily: Arial, sans-s­erif; }
Tamaño Tipogr­áfico: tamaño de la letra indicada en pixeles
CSS: p { font-size: 23px; }
Estilo Tipogr­áfico: (italic, normal, oblique)
CSS: p { font-s­tyle: normal; }
Peso Tipogr­áfico: (bold, lighte­r,n­ormal, o numeros de 100 en 100)
CSS: p { font-w­eight: 500; }
Alineacion de Texto: center, left, right, inherit y justify.
CSS: p { text-a­lign: justify; }
Decoración de Texto: line-t­hrough, underline, overline y none.
CSS: p { text-d­eco­ration: underline; }
Interl­ineado del Texto: Se estipula que sea 8 unidades mayor al font-size.
CSS: p { line-h­eight: 20px; }
Color de Texto: Se pueden indicar de las siguientes formas: Nombre , Hexade­cimal (#f05331), RGB ( rgb(255, 100, 50) ) y
RGBA ( rgba(122, 50, 125, 0.5)). En el caso de RGBA la ultima cifra va del 0 al 1 e indica la opacidad.
CSS: p { backgr­oun­d-c­olor: rojo}
CSS: p { backgr­oun­d-c­olor: #3459ff }
CSS: p { backgr­oun­d-c­olor: rgb(12, 34, 32) }
Opacidad: le otorga transp­arencia a un elemento
CSS: p { opacity: 0.5 }

CSS: Medidas Relativas

Porcen­tajes:Cualquier medida expresada en porcentaje siempre estará relaci­onada con la medida (en ese mismo eje) del elemento padre que la contiene.
CSS: .eleme­nto­Con­tenedor { width: 300px }
.elementoInterior { width: 50% } // Será 150px
em: Si utilizamos ems en una propiedad que no sea font-size, se tomará para el cálculo el font-size que tenga el elemento que estemos modificando.
CSS:p { font-size: 20px;
line-h­eight: 2em; // 20px 2 = 40px{{n}} padding: 1.5em; // 20px 1.5 = 30px }
rem: Los rems funcionan muy parecido a los ems, con la diferencia de que siempre tomarán de base el tamaño de font size del elemento <html>.
CSS:css p { font-size: 1.5rem }
vw y vh: vw o viewport width es relativo al ancho total del viewport.
vh o viewport height* es relativo al alto total del viewport.
CSS: div { width: 25vw; // 25% del ancho disponible
height: 50vh; // 50% del alto disponible }
Las medidas relativas son aquellas que tienen en cuenta el contexto donde se encuen­tran. Si el contexto cambia, estas medidas cambiarán con él.

CSS: Box Model

width y height: Ancho y alto
div {width: 130px; height: 120px;}
padding: Espacio de relleno que podemos agregar entre el contenido del elemento y su borde.
div { padding: 12px; } (se aplica a los cuatros lados
div { padding: 12px 15px 18px 21px; } (arriba, derecha, abajo, izquierda)
border: Podemos asignarle un valor a esta propiedad definiendo el estilo de línea (solid, dotted, dashed o double, su espesor y su color.
div { border: 3px solid yellow } (solid: estilo de linea, 3px grosor, yellow color).
margin: Hace referencia al margen exterior. Sirve para separar una caja de la otra.
div { margin: 15px }
border­-radius: Redondea los bordes.
div{border-radius: 5px;}
box-si­zing: conten­t-box: Aplica el ancho y alto que definamos al contenido del elemento.
box-si­zing: border-box: El ancho y alto que indiquemos tomará en cuenta no solo el contenido del elemento, sino también el padding y el borde, dejando solo el margen por fuera.
Es una práctica muy común asignarle box-si­zing: border-box a todos los elementos del sitio con la siguiente línea de código: *{box-­sizing: border­-box}
Cada elemento en HTML es una caja, y esas cajas se componen de márgenes (margin), bordes (border), relleno (padding) y finalmente el contenido (content).
Estas propie­dades pueden aplicarse de manera diferente a los cuatro lados de cada caja (top, right, bottom, left). Ver Imagen

CSS: Estructura básica de Flexbox

Flexbox propone una estructura basada en el uso de un contenedor padre (Flex-­con­tainer) y sus elementos hijos (Flex-­items).

Por defecto, los elementos hijos de un contenedor flex van a tratar de entrar todos en una misma línea. Para aclararle al contenedor que debe respetar el ancho definido de sus hijos usamos la propiedad flex-wrap con el valor wrap:

.conte­ned­or-­padre {
display: flex;
flex-wrap: wrap;
}

flex-wrap también puede recibir los valores nowrap y wrap-r­everse.

Un flex-item, a su vez, puede conver­tirse en un flex-c­ont­ainer. Para eso, solo hace falta asignarle la regla displa­y:flex, para que así sus elementos hijos pasen a ser flex-items.

CSS: Flexbox

Para utilizarlo se debe asignar la regla display: flex a un selector CSS.
flex-d­ire­ction: Con esta propiedad definimos el main axis (eje principal) del conten­edor, que puede ser tanto horizontal como vertical.
flex-d­ire­ction: row: Los ítems se disponen en el eje x, de izquierda a derecha.
flex-d­ire­ction: row-re­verse: Los ítems se disponen en el eje x, de derecha a izquierda.
flex-d­ire­ction: column: Los ítems se disponen en el eje y, de arriba hacia abajo.
flex-d­ire­ction: column­-re­verse: Los ítems se disponen en el eje y, de abajo hacia arriba.
justif­y-c­ontent: Con esta propiedad alineamos los ítems a lo largo del main axis.
justif­y-c­ontent: flex-start: Los ítems se alinean respecto del inicio del main axis que hayamos definido.
justif­y-c­ontent: flex-end: Los ítems se alinean respecto del final del main axis que hayamos definido.
justif­y-c­ontent: center: Los ítems se alinean en el centro del main axis.
justif­y-c­ontent: space-­around: Los ítems se distri­buyen de manera uniforme.-
align-­items: Con esta propiedad alineamos los ítems a lo largo del cross axis.
align-­items: stretch: Los ítems se ajustan para abarcar todo el conten­edor.
align-­items: flex-start: Los ítems se alinean al inicio del cross-­axis.
align-­items: flex-end: Los ítems se alinean al final del eje transv­ersal.
align-­items: center: Los ítems se alinean al centro del eje transv­ersal.
Flexbox trabaja con dos ejes para desarr­ollar todo su flujo interno: el eje X y el eje Y.
Según cómo decidamos ordenar los elementos, llamaremos main axis a uno y cross axis al otro.

CSS: Flex Item

order: Con esta propiedad contro­lamos el orden de cada ítem, sin importar el orden original que tengan en la estructura HTML. Esta propiedad recibe un número entero, positivo o negativo, como valor.
.caja {
order: 1;}
flex-grow: Con esta propiedad definimos cuánto puede llegar a crecer un ítem en caso de disponer de espacio libre en el contenedor.
.caja-b{
flex-grow: 1;}
1 equivale al 100% del espacio dispon­ible, y 0 al 0%. Podemos usar cualquier valor en el medio, como 0.25 para el 25%.
align-self: Nos permite alinear, sobre el cross axis, a cada ítem. Puede tomar los valores: end, center, start, stretch:.
.contenedor-padre {
align-items: flex-s­tart;}
.caja-dos{
align-self: flex-end;}