Guia HTML Css en Word
Guia HTML Css en Word
<!DOCTYPE html>
<html>
<head> DENTRO DEL HEAD VA TODO EL CODIGO INVISIBLE EN UNA PAGINA WEB
<link rel="stylesheet" type="text/css" href="styles.css">ESTE LINK LLAMA AL ARCHIVO CSS
<meta charset="utf-8"> ESTE META CORRIGE LOS ERRORES ORTOGRAFICOS DEL CODIGO
<meta name="viewport" content="width=device-width, initial-scale=1.0">DEFINE EL AREA DE
PANTALLA DEL CUERPO DEL CODIGO
<script src="https://kit.fontawesome.com/7086fe80f4.js" crossorigin="anonymous"></script> ESTE
SCRIPT LLAMA AL CODIGO DE ICONOS PARA TU CODIGO
<title>GUIA DE PAGINA WEB</title>
</head>
<body>
<header> es el encabezado y al agregarle el nav toma mejor semantica</header>
<nav>nav es el navegador de la pagina deberia ir en el header para colocar los enlaces de la barra deberiamos una
lista desordenada y dentro de esta ingresar los elementos li(<ul><li><a href="seccionesde la pagina">creadas en paginas a
parte</a></li></ul>)</nav>
<article>es un articulo justamente y puede ser dividido por secciones <section>se usa para dividir los articulos ejemplo:
(<article><section><h1></h1><h2></h2><p></p></section></article>)</section></article>
<aside>barra de navegacion secundaria o un contenido extra </aside>
<footer>pie de pagina</footer>
PRUEBA DE UN NAVEGADOR
<header>
<nav class="nav">
<ul class="menu">
<li class="nav-li fas fa-home"><a href="">Inicio</a></li>
<li class="nav-li fas fa-id-card-alt"> <a href="">Sobre nosotros</a></li>
<li class="nav-li fas fa-hand-holdng-usd"> <a href="">Gana dinero</a></li class="nav-li">
<li class="nav-li fas fa-question-circle"> <a href="">Ayuda</a></li>
</ul>
<ul class="responsive-menu">
<li class="nav-li-responsive fas fa-home"> <a href="">Inicio</a></li>
<li class="nav-li-responsive fas fa-id-card-alt"> <a href="">Sobre nosotros</a></li>
<li class="nav-li-responsive fas fa-hand-holdng-usd"> <a href="">Gana dinero</a></li>
<li class="nav-li-responsive fas fa-question-circle"> <a href="">Ayuda</a></li>
</ul>
</nav>
</header>
</body>
</html>
CSS APUNTES
css es un lenguaje que trabaja con hojas de estilo en cascada y se utiliza para darle estilo a las hojas de
codigo ya sea html o cualquier lenguaje compatible con css
Estructura CSS
el css se estructura eligiendo el selector luego las llaves {y dentro de las llaves la propiedad} el selector seria
la la etiqueta o clases del html y la propiedad es como cambiar el selector
selector de tipo son los que seleccionamos por elemento por ejemplo el h1 button etc etc
luego podemos seleccionar por clases (.) que son los atributos de html.
selector por descendencia se usa colocando la etiquita que se encuentra mas afuera hacia adentro por
ejemblo (<div><h1><p>ffdsfs</p></h1></div>) colocando div > h1 >p estariamos seleccionando el p para
darle estilo
selector por pseudo clases las cuales por ejemplo hace que cuando paso el mouse por algun elemento este
cambie y se llama con los dos puntos (:)
TEORIA DE ESPECIFIDAD
En css la teoria de especifidad significa que si una seleccion de estilo tiene mas orden jerarquico que otra a
la que le demos un estilo anteriormente o posteriormente esta toma el orden jerarquico mas alto
!importan
estilos en linea
identficadores(id)
{clases
pseudo-clases
atributos}estan en el mismo nivel jerarquico
{elementos
pseudo- elementos}mismo nivel jerarquico
METODOLOGIA BEM
BEM CSS es una metodología de nomenclatura para definir las clases en los nodos HTML del
documento.
Es decir, es una manera de nombrar las clases de los nodos de tu HTML para posteriormente
atacarlos con CSS de una manera fácil, sencilla y clara.
evita seleccionar muchas clases se selecciona y se selecciona con 2 guiones bajos para la etiqueta y con 2
guiones medios marcas que uno es distinto como por ejemplo
Teoria de Medidas
unidades relativas son las que pueden variar y se adaptan a las distintas plataformas con responsive design
son rem y em 1 em son 16 px por defecto pero se puede cambiar heredando declarando en la caja
contenedora mas grande a la propiedad
unidades fijas serian px cm mm pt
line-heigth: indica el espacio que ocupa la letra hacia arriba y hacia abajo
Normalize
NORMALIZE es un archivo con estilos que normaliza el diseño del navegador y es importante resetear el
estilo para que poder trabajar sin problemas en css
2) Al tratarse de una hoja de estilo (.css), debe ser tratado como tal, y por tanto simplemente hay que
referenciarlo en el <head> del documento html <link rel="stylesheet" href="normalize.css" />.
Muy importante colocar la referencia a este fichero antes que cualquier otro estilo.
3) Listo!, ya tendríamos normalizada nuestra página web, sin configuraciones ni instalaciones. Ya se debería
ver igual en todos los navegadores.
box-sizing: border-box hace que una caja sea siempre sea del mismo tamaño que la definimos antes en
cualquier navegador
Teoria de cajas
teoria de cajas hay 2 tipos en lineas y en bloque
las de bloque se ajustan al ancho del bloque
mientras los de linea solo ocupan el espacio que usa el contenido de la caja
con la propiedad display se puede cambar el comportamiento de estos elementos en line o en bloque
Propiedades de cajas
propiedades de caja son aquellas que modifican las cajas del html
heigth: alto
width: ancho
margin: es la distancia entre 2 cajas y tiene las misma propiedades que el padding
box-shadow: sombra de la caja y movemos el eje x 2px eje y 5px tamaño de desenfoque o tamaño de
sombra el borde que va a tener la sombra 0 y el color por ultimo
transform: rotate(rota la caja con los grados que le demos 45 deg) el transform tiene muchas propiedades
outline es un shourhan que significa que es una propiedad acortada como el padding o sea que solo con
outline se puede definir
el outline genera un border sin afectar a la caja por lo que no la modifica solo resalta el objeto
position tenemos distntas propiedades de ella y cuando algo esta posicionado significa que afecta el flujo
de html que es orden de los elementos
position: relative te mueve la caja sin modificar el espacio por lo que si uno la baja el lugar de la caja aun se
va a mantener para esto se le debe dar un
top left rigth bottom estas tienen jerarquia ya que top y left son de mayor lvl jerarquico
position : absolute hace que el espacio reservado ya no este reservado por lo que si le colocas esta
propiedad a una caja la de abajo sube
con esta propiedad la caja se ajusta al tamaño del contenido
en esta propiedad el top sera el contenedor de esta y asi lo mismo con las propiedades de esta caja
position: fixed es igual que el absolute pero este queda fijado por ende fija la caja en una poscion de la
ventana windows
PROPIEDAD DISPLAY
MODIFICA EL COMPORTAMIENTO DE LAS CAJAS TIENE MUCHAS PROPIEDADES PERO LAS MAS IMPORTANTES SON
BLOCK = ORDENA LOS ELEMENTO EN EL BLOQUE POR EJEMPLO H1 Y LAS COLOCA UNA DEBAJO DE LA OTRA
INLINE = ORDENA LOS ELEMENTOS EN LA LINEA DEL CONTENIDO POR EJEMPLO DE UN B Y SE USA MAS QUE NADA PARA TEXTO
Y LAS COLOCA UNA AL LADO DE LA OTRA Y ES PARA EL CONTENIDO SOLAMENTE
INLINE-BLOCK = SE LE PUEDE DAR UN ANCHO Y ALTO A LA CAJA MEZCLA EL INLINE Y EL BLOCK MOSTRANDO LA CAJA Y EL
CONTENIDO
INLINE-FLEX
INLINE-GIRD
OVERFLOW
HACE QUE EL SOBRANTE DE UNA CAJA CONTENEDORA SE ENCIERRE EN LA MISMA Y PERMITIRTE SCROLEAR EN ELLA O SEA
CORRE CON LA RUEDITA DEL MOUSE EL TEXTO
SEGUN LAS PROPIEDADES QUE LE PONGAMOS
FLOAT
Pseudo Elementos
PSEUDO-ELEMENTOS SE APLICAN A UN ELEMENTO
::PLACEHOLDER ES LO QUE APARECE DENTRO DE LOS INPUT Y CON EL PSEUDO ELEMENTO DEL MISMO SE LE PUEDE DAR EL
ESTILO QUE QUERAMOS
::AFTER SON HIJOS DEL ELEMENTO AL QUE SE APLICAN Y NECESITAN LA PROPIEDAD CONTENT Y SON ELEMENTOS EN LINEAS
::BEFORE SON HIJOS DEL ELEMENTO AL QUE SE APLICAN Y NECESITAN LA PROPIEDAD CONTENT Y SON ELEMENTOS EN LINEAS
NO DEJA SELECCIONAR LO QUE COLOQUES EN EL BEFORE
after y before crean una etiqueta hijo dentro de otra etiqueta pero con acciones limitadas
Pseudo Clases
PSEUDO CLASES trabajan como los pseudo elementos y sus propiedades escuchan acciones
:visited cambia el estilo de los link o elementos que ya vsite y juega con la jerarquia de css y esta por debajo
de id
:lang es una funcion que se le debe pasar en el parametro el lenguaje y se usa para modificar el estilo de
una etiqueta a la que le demos el lenguaje
:Fil
:Contain hace que la resolucion de la imagen se ajuste al contenido centrandola en el mismo y dejando un
borde
cursor es una propiedad que cambia el cursor del mouse al estar en un elemento o caja
Colores
Responsive
para solucionar los problemas de resolucion se usa una media con @media only and(max-width: px)esto
hace que cuando la pantalla alcanze resoluciones a los pixeles que le demos va a cambiar
para que esto haga efecto es necesario activar en el html la etiqueta meta viewport
Flex box
Flex box viene de caja flexible con flex box se maqueta y maneja el layout en una sola
dimensión a la vez — ya sea como fila o como columna. Esto contrasta con el modelo
bidimensional del Grid Layout de CSS, el cual controla columnas y filas a la vez.
Flex box trabaja sobre los ejes x e y(+)donde para seleccionar cada eje se hace a travez
de sus propiedades Donde main axis seria el eje horizontal o eje x obviamente este debe tener
un inicio y un final donde el inicio se declara como main-start y el final como main-end.
Y luego tenemos el cross axis donde tambien tiene un inicio y fin donde el inicio se declara
como cross-starr y cross-end Y con css podemos cambiar este flujo de direcciones
Y con display:flex para trabajar que es el que usaremos para que un contenedor tenga los flex
items y con estos los oredenaremos en nuestra pagina usando el flex box para colocarlos donde
queramos sobre el eje x o eje y haciendo que en base al contenido se mantenga la altura
Propiedades de main-axis
row-reverse hace que los items vayan sobre el mismo eje x pero iniciando desde el main-end
flex-wrap:wrap hace que un item flex no cambie su resolucon si no que se pase hacia abajo
flex-flow:flow es una mezcla de flex wrap y flex direcction haciendo mas optimo el codigo
justify-contain te centra el item flex y tiene varios valores los cuales son
justify-contain:space-arround trabaja casi como un margin:auto donde centra todo con un espacio
entre cajas
justify-contain:space-between hace que las cajas tengan la mayor cantidad de espacio entre ellas
posible
justify-contain:space-evenly da un margin especifico para que cada caja tenga exactamente el
mismo espacio dentro del viewport
Propiedades de cross-axis
align-items: se usa solo cuando hay solo una linea de items que son flex items
align-items:stretch
align-contain: se usa cuando hay mas de una linea de items que son flex items
flex-grow: el espacio sobrante lo reparte entre todas las cajas y a cada caja se le puede asignar si
queremos cierta cantidad de espacio sobrante
con numeros
flex-shrink: decide que espacio va a ocupar cada caja diciendo cuanto espacio puede ceder
segun el width que le demos
flex-basis: es como el width pero lo toma como mas importante dentro de los flex box
flex: flex-shrink
flex: flex-basis
GRID
grid es un estilo de layout y es un valor de la Propiedad de display y se trabaja en grilla por lo que
conceptos basicos
grid container es como el flex container y hace que cuando le doy a un contenedor padre la
propiedad grid container este se comporte por grilla
grid item son todos los elementos dentro del grid container y son los hijos directos del
conntenedor
grid area son las areas que nosotros seleccionamos o defnimos dentro del contenedor
grid line(column line y row line)son las lineas de cada linea del contenedor ya sean las de cada
columna o cada fila
el grid grid-template-columns tiene una propiedad repeat la cual con el numero que le asignemos
repitiendo la funcion (grid-template-rows:repeat(1,100px))
unidades auto y fr lo que hacen por ejemplo fr darle el espaco que sobra a las filas o columnas
donde se aplique trabajando asi como el flex row
grid-column-gap
grid-row-start
grid-row-end
grid-column-start
grid-column-end
grid-column con esta propiedad podemos seleccionar el area de trabajo por ejemplo el tamaño de
2 celdas siendo seleccionadas por columnas(1/2) y lo selecciona por lineas
grid-row es igual que el column pero selecciona el tamaño de filas tambien posee una propiedad
llamada span que esta hace que ocupe el espacio por columna o filas y no por lineas
GRID DINAMICO
minmax() le da el ancho y mnimo o maximo a la selda implementado en el repeat
mincontent valores que se colocan generalmente en el repeat (grid-template-columns:
repeat(3,max-content O si no min-content)) y esto hace que la celda se ajuste al contenido
max-content
cantidad:
Diferencia con Flex: es que hay varios tipos de alineacion individual por contenedor y por ITEM
justify-items (horizontalmente)
align-items(verticalmente)
AL GRID ITEM
[line-name]
SHORTHAND
@Media se usa en consultas de medios para aplicar diferentes estilos para diferentes tipos /
dispositivos de medios.
all
Apto para todos los dispositivos.
print
destinado a material impreso y visualizacion de documentos en una pantalla en el
modo vista previa de impresion.
screen
speech
Destinado a sintetizadores de voz.
Operadores AND | OR
__________TRANSITION_________
transition es 1 propiedad que permite realizar transicones en los cambios
transition:
transition-duration: duration/s
transition-delay: delay/s
transition:
__________ANMACONES___________
@keyframs
anmation-name:name
animation-duration: duration
animation-delay: delay
animation-iteration-count: number
animation-fill-mode: none | forwards | backwards | both | inithial | inerith;
____________TRANSFORM_______
transform: skew(angleUnit)
buscar en w3school
_____Background____
background-attachment: scroll(hace que se haga fondo del objeto contenedor) fixed(fija la imagen
haciendo que cuando uno scrolea se vea atras) inherit()
background-origin: origen del a foto(valores de arriba)lo mismo que clip pero crea la imagen a
partir de la propiedad
__________variables en css_______
variables globales son las que se ajustan a cualquier selector iniciandola con :root{--var-name} y
se las llama en los estilos con la funcion var(--var-nombre)
--varName
var()
_________Filter____________
none
blur(px)
brightness(0 - 1)
contrast(number or %)
grayscale(%)
hue-rotate(deg)
invert(%)
opacity(%)
saturate(%)
sepia(%)
url("flters.svg#filter-id");
CURIOSIDADES DE CSS