Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DISPLAY CSS:
Establece que elementos se van a
mostrar dentro de la página web.
block: muestra el elemento en una
nueva línea y un tamaño personalizado.
(<div>, <p>, <h1>)
inline: muestra el elemento en la
misma línea, se visualizan de izquierda
a derecha. (<spam>, <b>, <i>)
inline-block: parecido al inline, pero
respeta el width y el height que se les
asigna a los elementos (tamaño
personalizado), respeta las propiedades
de margin y padding.
none: oculta el elemento y otro
elemento ocupa su espacio.
VISIBILITY CSS:
Establece la visibilidad de un elemento.
hidden: El elemento en cuestión se oculta,
pero reserva su espacio que debe ocupar.
BOX-SIZING EN CSS:
content-box: valor por defecto, cuando se
aplica medidas a la caja con width o height el
grosor del padding, border y margin se
suman al indicado.
border-box: el padding y el border se
incluidos en el width, hace que los elementos
mantengan su tamaño y se usa para que el
box model no se rompa.
• Content Box:
Tenemos un width de 100px y un height de 120px, si se añade un padding de 5px y un
border de 2px, la caja va a medir 114px de ancho por 134px de alto. Ya que se le suma el
padding y border.
.box-1 {
width: 100px;
height: 120px;
padding: 5px;
border: 2px solid blue;
box-sizing: content-box;
}
• Border Box:
Si se necesita que el elemento mida exactamente lo que se especifica en el width y height
(100px x 120px respectivamente).
.box-2 {
width: 100px;
height: 120px;
padding: 5px;
border: 2px solid blue;
box-sizing: border-box;
}
En lugar de sumar el padding y border se restan del ancho y del alto para que después la
suma total sean las medidas exactas, el navegador hace el siguiente calculo:
final width: width - (padding-left + padding-right) - (border-right + border-left)
final width: 100px - (2 * 5px) - (2 * 2px) = 86px
final width: 86px + 10px padding + 4px border = 100px
final height: height - (padding-top + padding-bottom) - (border-top + border-
bottom)
final height: 120px - (2 * 5px) - (2 * 2px) = 106px
final height: 106px + 10px padding + 4px border = 120px
En el content-box el padding y border del elemento se dibujan por fuera de la anchura y
altura (se suman), mientras que en border-box, el padding y border se dibujan dentro del
ancho y alto (se restan).
POSITION CSS:
Establece la forma en la que será posicionado un elemento.
static: orden natural según donde están colocados en el HTML (por defecto)
relative: los elementos se mueven en base a su posición estática (no depende de otro).
absolute: los elementos se colocan en base al contenedor padre (depende de otro).
fixed: igual que el absoluto, fija un elemento en una posición determinada.
sticky: igual al relativo, usado para pegar menús a la parte superior.
div{
width: 80px;
height: 40px;
background-color: blue;
}
div.dos {
position: relative;
left: 80px;
}
div.cuatro {
position: relative;
top: 80px;
left: 80px;
}
div.padre {
position: relative;
width: 300px;
height: 200px;
background-color: green;
}
div {
width: 70px;
height: 35px;
background-color: blue;
}
div.hijo2 {
position: absolute;
top: 0px;
left: 150px;
}
div.hijo4 {
position: absolute;
bottom: 70px;
right: 100px;
}
• Posicionamiento fijo (fixed):
Funciona exactamente igual que el posicionamiento absoluto, el elemento tiene una posición
determinada, de esta manera queda fija y no se mueve de dicha posición, aunque se haga
scroll en la pantalla. Se posiciona dependiendo de la pantalla del navegador.
<div> BLOQUE1</div>
<div> BLOQUE2 </div>
<div> BLOQUE3 </div>
<div> BLOQUE4 </div>
<div class="bloque5"> BLOQUE 5 </div>
<div> BLOQUE 6</div>
<div class="bloque7"> BLOQUE 7</div>
<div> BLOQUE 8</div>
<div> BLOQUE 9</div>
<div> BLOQUE 10</div>
div {
width: 90px;
height: 100px;
background-color: green;
}
div.bloque7 {
position: fixed;
top: 30px;
left: 150px;}
div.bloque5 {
position: fixed;
right: 100px;
bottom: 80px;
}
Sin flotar:
img.derecha {
float: right;
}
• Clear:
Hace que un elemento no tenga elementos flotantes a su lado, ya que interrumpe el float.
left: hace que no haya elementos flotantes a la izquierda.
right: hace que no haya elementos flotantes a la derecha.
both: hace que no haya elementos flotantes a la derecha ni izquierda.
none: permite que haya elementos flotantes a la derecha e izquierda (por defecto)
<h1>Un título fantástico</h1>
<div class="primero">PRIMERO</div>
<div class="segundo">SEGUNDO</div>
div {
margin:15px;
}
div.primero {
width: 200px;
height:200px;
background-color: red;
float: right;
}
div.segundo {
width: 400px;
height: 150px;
background-color: blue;
clear: right;
}
FLEXBOX CSS:
Los elementos HTML se adaptan y colocan automáticamente y es más fácil personalizar los
diseños. Están diseñado para crear mediante CSS estructuras de una sola dimensión.
- Contenedor: Elemento padre que tendrá en su interior cada uno de los ítems flexibles.
- Eje principal: Por defecto es la Orientación horizontal (en fila)
- Eje secundario: Orientación vertical.
- Ítem: Cada uno de los hijos flexibles que tendrá el contenedor en su interior.
<div class="container"> <!-- Flex container -->
<div class="item item-1">1</div> <!-- Flex items -->
<div class="item item-2">2</div>
<div class="item item-3">3</div>
</div>
div {
display: inline-flex;
margin-bottom: 5px;
}
p {
width: 100px;
border: black 1px solid;
margin: 2px;
}
div {
display: flex;
margin-bottom: 5px;
}
p {
width: 100px;
border: black 1px solid;
margin: 2px;
}
div { div {
display: flex; display: flex;
flex-direction: row; flex-direction: column;
} }
p { p {
width: 100px; width: 100px;
border: black 1px solid; border: black 1px solid;
margin: 2px; margin: 2px;
} }
div {
display: flex;
flex-wrap: no-wrap;
}
div {
display: flex;
flex-wrap: wrap;
}
div {
display: flex;
flex-wrap: wrap-reverse;
}
div {
display: flex;
justify-content: flex-start;
}
div {
display: flex;
justify-content: flex-end;
}
div {
display: flex;
justify-content: center;
}
div {
display: flex;
justify-content: space-between;
}
div {
display: flex;
justify-content: space-around;
}
div {
display: flex;
height: 10em;
flex-wrap: wrap;
align-content: flex-start;
}
div {
display: flex;
height: 10em;
flex-wrap: wrap;
align-content: flex-end;
}
div {
display: flex;
height: 10em;
flex-wrap: wrap;
align-content: center;
}
div {
display: flex;
height: 10em;
flex-wrap: wrap;
align-content: space-between;
}
div {
display: flex;
height: 10em;
flex-wrap: wrap;
align-content: space-around;
}
div {
display: flex;
height: 10em;
flex-wrap: wrap;
align-content: stretch;
}
div {
display: flex;
align-items: flex-start;
}
div {
display: flex;
align-items: flex-end;
}
div {
display: flex;
align-items: center;
}
div {
display: flex;
align-items: stretch;
}
div {
display: flex;
align-items: baseline;
}
div {
display: flex;
align-items: flex-end;
}
p.especial {
align-self: flex-start;
border-color: blue;
}
div {
display: flex;
align-items: flex-start;
}
p.especial {
align-self: flex-end;
border-color: blue;
}
div {
display: flex;
align-items: flex-start;
}
p.especial {
align-self: center;
border-color: blue;
}
div {
display: flex;
align-items: flex-start;
}
p.especial {
align-self: stretch;
border-color: blue;
}
div {
display: flex;
align-items: flex-start;
}
p.especial {
align-self: baseline;
border-color: blue;
}
• Propiedades de hijos:
- flex-grow: Hace que los elementos crezcan hasta ocupar todo ele spacio disponible en el
eje principal. Toma valores enteros que indican la proporción en la que el elemento se va a
expandir o encoger.
div {
display: flex;
}
p {
flex-grow: 1;
border: black 1px solid;
margin: 2px;
}
p.mayor{
flex-grow: 2;
}
- flex-basis: Establece el tamaño inicial del elemento, antes de que se reparta en su caso
en el espacio libre.
div {
display: flex;
}
p {
flex-basis: 120px;
border: black 1px solid;
margin: 2px;
}
row-gap: 10px;
column-gap: 20px;
De esta manera flex-grow sirve para rellenar el espacio sobrante de flex-container entre
todos sus flex-items
X = 450px/(2+2+3+1)= 56,25px
Se restaura 56.25 a 250px(ancho original) por unidad de flex-shrink
Elemento Flexión-encogimiento Adicción TOTAL
Item 1 2 56,25px * 2 = 112,5px 137,5px
Item 2 2 56,25px * 2 = 112,5px 137,5px
Item 3 3 56,25px * 3 = 168,75px 81.25px
Item 4 1 56.25px 193.75px
GRID CSS:
Sistema de maquetación web que divide la página en una cuadricula o rejilla (grid) a partir
de la cual se posicionan los diferentes elementos de manera más sencilla.
.inline-grid-container {
display: inline-grid;
}
.blue {
background-color: blue;
color: white;
margin: 2px;
padding: 5px;
text-align: center;
}
.grid-container {
display: grid;
}
.red {
background-color: red;
color: white;
margin: 2px;
padding: 5px;
text-align: center;
}
.grid {
display: grid;
grid-template-columns: 50px 300px;
grid-template-rows: 200px 75px;
}
.grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 2fr 1fr;
}
.grid {
display: grid;
grid-template-columns: 100px 50px 50px 200px;
grid-template-rows: 50px 100px 50px 100px;;
}
.grid {
column-gap: 100px;
row-gap: 10px;
}
.grid {
/* gap: <row-gap> <column-gap> */
gap: 20px 80px;
.container {
justify-items: end;
}
.container {
justify-items: center;
}
.container {
justify-items: stretch;
}
.container {
align-items: start;
}
.container {
align-items: end;
}
.container {
align-items: center;
}
.container {
align-items: stretch;
}
• Modificar la distribución del contenido en el eje horizontal (justify-content):
Distribuye espacios y alinea de forma horizontal al conjunto de los elementos, se aplican
sobre el elemento contenedor padre, pero afectan a los ítems hijos, por lo que actúan
sobre la distribución de cada uno de los hijos.
VALORES DESCRIPCIÓN
start Alinea la cuadricula para que quede al ras con el borde inicial
del contenedor.
end Alinea la cuadricula para que quede al ras con el borde final
del contenedor.
center Alinea la cuadricula en el centro del contenedor.
stretch Cambia el tamaño de los elementos de la cuadricula para
permitir que la cuadricula ocupe todo el ancho del contenedor.
space-around Distribuye el espacio entre los elementos dejando el mismo
espacio alrededor de ellos (izq/dcha).
space-between Distribuye el espacio entre los elementos dejando el máximo
espacio para separarlos, sin espacio en los extremos.
space-evenly Distribuye el espacio entre los elementos dejando el máximo
espacio para separarlos incluido en los extremos.
.container { .container {
justify-content: stretch; justify-content: space-around;
} }
.container { .container {
justify-content: space-between; justify-content: space-evenly;
} }
• Modificar la distribución del contenido en el eje vertical (align-content):
Distribuye espacios y alinea de forma vertical al conjunto de los elementos, se aplican
sobre el elemento contenedor padre, pero afectan a los ítems hijos, por lo que actúan
sobre la distribución de cada uno de los hijos.
VALORES DESCRIPCIÓN
start Alinea la cuadricula para que quede al ras con el borde inicial
del contenedor.
end Alinea la cuadricula para que quede al ras con el borde final
del contenedor.
center Alinea la cuadricula en el centro del contenedor.
stretch Cambia el tamaño de los elementos de la cuadricula para
permitir que la cuadricula ocupe toda la altura del contenedor.
space-around Distribuye el espacio entre los elementos dejando el mismo
espacio a los lados de cada uno.
space-between Distribuye el espacio entre los elementos dejando el máximo
espacio para separarlos, sin espacio en los extremos.
space-evenly Distribuye el espacio entre los elementos dejando el máximo
espacio para separarlos incluido en los extremos.
.container { .container {
align-content: stretch; align-content: space-around;
} }
.container { .container {
align-content: space-between; align-content: space-evenly;
} }
• Alinear un ítem hijo en el eje horizontal (justify-self):
Modifica la alineación del ítem hijo en el eje horizontal, solo se aplica sobre ese mismo
elemento hijo y no al contenedor.
VALORES DESCRIPCIÓN
start Alinea el elemento de la cuadricula para que quede al ras con
el borde inicial de la celda.
end Alinea el elemento de la cuadricula para que quede al ras con
el borde final de la celda.
center Alinea el elemento de la cuadricula en el centro de la celda.
stretch Llena todo el ancho de la celda (por defecto).
.item-a { .item-a {
justify-self: start; justify-self: end;
} }
.item-a { .item-a {
justify-self: center; justify-self: stretch;
} }
.item-a { .item-a {
align-self: start; align-self: end;
} }
.item-a { .item-a {
align-self: center; align-self: stretch;
} }
.grid {
display:grid;
}
.a {
grid-column-start: 1;
grid-row-end: 2;
}