Cada elemento de un documento HTML tiene una caja o rectángulo que lo engloba y separa del resto
/* Opción 1 */
p
{
margin: 10px 5px 2px 5px;
}
/* Opción 2 */
p
{
margin-top: 10px;
margin-right: 5px;
margin-bottom: 2px;
margin-left: 5px;
}
div
{
padding: 10px 20px 5px 20px;
}
h1
{
border-style: double;
border-color: red;
border-width: 5px;
}
h2
{
border-bottom-style: solid;
border-right-style: solid;
border-bottom-color: blue;
border-right-color: blue;
border-bottom-width: 2px;
border-right-width: 2px;
/* Borde superior izq, superior der, inferior izq, inferior der */
border-radius: 5px 5px 10px 10px;
}
h3
{
border-bottom: solid 1px red;
border-radius: 10px;
}
p
{
background-color: ##12FF3A;
}
div
{
background-image: url("imagenes/foto.png");
background-repeat: repeat-x:
}
h1
{
width: 70%;
height: 50px;
}
Crea un documento cajasCSS.html y un CSS externo que defina un selector de clase llamado caja, con los siguientes estilos:
Finalmente, crea un párrafo (más o menos largo, de unas 3 o 4 líneas al menos) y aplícale este estilo.
Tipos de posicionamiento
Todas salvo float se especifican como valores de la propiedad position
No hay posicionamiento
#caja1
{
background-color: blue;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
}
#caja2
{
background-color: red;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
}
Posicionamiento flotante izquierda y derecha
#caja1
{
background-color: blue;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
float: left;
}
#caja2
{
background-color: red;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
float: right;
}
Posicionamiento flotante izquierda y derecha
Posicionamiento flotante derecha
#caja1
{
background-color: blue;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
float: right;
}
#caja2
{
background-color: red;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
float: right;
}
Posicionamiento flotante derecha
Posicionamiento fijo
#caja1
{
background-color: blue;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
position: fixed;
top: 50px;
right: 50px;
}
#caja2
{
background-color: red;
width: 30%;
height: 100px;
text-align:center;
margin: 20px;
float: right;
}
Posicionamiento fijo
Posicionamiento izquierdo excluyente
.caja1 { float: left; }
.caja2 { float: left; }
.caja3 { float: left; clear:left }
Posicionamiento izquierdo excluyente
Crea un documento cajas.html con tres cajas (div) y con CSS externo con estos estilos:
clear
para estar alineada con el margen izquierdo.Resultado final (aproximado)
top, bottom, left y/o right para distancia respecto a los bordes de la página
/* Posición en esquina inferior izquierda (pegado al borde inferior) */
div
{
position: fixed;
bottom: 0px;
left: 0px;
}
Paso 1
<section id="contenedor">
<div id="elemento1">Uno</div>
<div id="elemento2">Dos</div>
<div id="elemento3">Tres</div>
<div id="elemento4">Cuatro</div>
...
</section>
Paso 2
/* Rejilla de 2 filas y 3 columnas */
#contenedor
{
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: 50px auto;
gap: 10px;
}
/* Alternativamente, podemos usar otras unidades */
#contenedor
{
display: grid;
grid-template-columns: 25% 50% 25%;
grid-template-rows: 50px auto;
gap: 10px;
}
Unidad fr: fracción del espacio disponible
Paso 3
#elemento1
{
grid-row: 1 / 3;
grid-column: 1;
}
#elemento2
{
grid-row: 1;
grid-column: 2 / 4;
}
Resultado final
Crea un documento HTML llamado ofertas.html, y trata de simular esta apariencia usando CSS Grid, bordes y otras propiedades CSS que hemos estado viendo hasta ahora:
Define cómo queremos disponer un elemento en la página
ol
{
list-style-type: upper-roman;
list-style-position: inside;
}
ul
{
list-style-type: none;
}
ul li
{
padding-left: 10px;
background-image: url("imagenes/estrella.svg");
background-position: 0 0;
background-size: 1.6rem 1.6rem;
background-repeat: no-repeat;
}
Menú de navegación con lista inline
nav
{
background-color: #CCC;
}
nav ul.navegacion
{
list-style-type: none;
text-align: center;
}
nav ul.navegacion li
{
display: inline;
margin: 20px;
}
Menú de navegación con lista inline
<nav>
<ul class="navegacion">
<li>Inicio</li>
<li>Preguntas frecuentes</li>
<li>Tienda online</li>
<li>Contacto</li>
</ul>
<nav>
Menú de navegación con lista inline
En este enlace puedes descargar el contenido HTML de una página web que simula la página de inicio de un instituto. Añade el CSS necesario para que se vea como se indica a continuación.
#84250C
.