Conceptos Esenciales CSS: Selectores, Propiedades y Modelo de Caja
Selectores CSS: Fundamentos y Aplicación
Los selectores son fundamentales en CSS porque se usan para indicar a qué elementos HTML se aplicarán las reglas de estilo.
Identificadores y Clases en CSS
Para aplicar estilos específicos a elementos HTML, utilizamos los atributos id
y class
.
1. Atributo id
- Cada valor de
id
debe ser único en un documento HTML. - Útil para identificar un solo elemento.
Ejemplo HTML:
<div id="header">Este es el encabezado</div>
Ejemplo CSS:
#header {
background-color: blue;
}
2. Atributo class
- Permite asignar una o más clases a un elemento.
- Varios elementos pueden compartir la misma clase.
Ejemplo HTML:
<div class="important">Texto importante</div>
<div class="important">Otro texto importante</div>
Ejemplo CSS:
.important {
font-weight: bold;
}
Ejemplos de Aplicación de Clases y IDs
A continuación, se muestran ejemplos de contenido HTML que podrían ser estilizados con las clases y IDs definidos:
Su pedido ha sido registrado en el sistema correctamente. Recibirá una confirmación por correo electrónico en breve.
Se cargarán <span id="total">300 euros</span> en su cuenta bancaria.
Recuerde comprobar que dispone de saldo suficiente en la cuenta.
Y el CSS correspondiente para aplicar estilos:
.aviso {
color: blue;
}
.aviso_importante {
font-weight: bold;
color: red;
}
Elementos div
y span
div
: Es un contenedor de bloque. Se utiliza para agrupar contenido relacionado.
Ejemplo HTML con div
:
<div>
<h1>Título</h1>
<p>Contenido relacionado.</p>
</div>
span
: Es un contenedor en línea. Sirve para aplicar estilos a partes de texto dentro de un bloque.
Ejemplo HTML con span
:
<p>Texto con <span class="destacado">destacado</span>.</p>
Tipos de Selectores CSS Comunes
Selector Universal (*
)
Selecciona todos los elementos del documento.
* {
color: red;
}
Selector de Tipo (p
)
Selecciona todos los elementos <p>
.
p {
font-size: 18px;
}
Selector de Clase (.miclase
)
Selecciona todos los elementos con la clase miclase
.
.miclase {
border: 1px solid black;
}
Selector de Grupo (p, div
)
Selecciona todos los elementos <p>
y <div>
.
p, div {
background-color: lightblue;
}
Selector de Tipo y Clase (aside.miclase
)
Selecciona solo los elementos <aside>
que tienen la clase miclase
.
aside.miclase {
padding: 10px;
background-color: yellow;
}
Selector de ID (#identificador
)
Selecciona un elemento específico con el ID identificador
.
#identificador {
font-weight: bold;
}
Colores en CSS
Los colores en CSS se pueden definir de varias maneras:
- Palabras clave predefinidas: Puedes usar nombres estándar como
aqua
,black
,blue
,purple
,transparent
, entre otros, para definir colores rápidamente. - Coordenadas RGB o RGBA:
RGB
especifica los colores mediante la combinación de rojo, verde y azul (en valores del 0 al 255 o porcentajes).RGBA
agrega un cuarto valor que define la transparencia (opacidad). - Coordenadas HSL o HSLA:
HSL
representa el tono (hue), saturación y luminosidad.HSLA
añade transparencia.
Ejemplos de Colores en CSS
body { color: black; background: white; }
- Define que el texto del cuerpo será negro y el fondo será blanco.
h1 { color: maroon; }
- Cambia el color del texto en los encabezados
<h1>
a marrón oscuro.
- Cambia el color del texto en los encabezados
h2 { color: olive; }
- Establece el color del texto en los encabezados
<h2>
a un tono oliva.
- Establece el color del texto en los encabezados
Ejemplos con em
(énfasis):
em { color: #f00; }
- Usa un color rojo definido con un valor hexadecimal corto (3 dígitos).
em { color: #ff0000; }
- Especifica el mismo rojo con un formato hexadecimal largo (6 dígitos).
em { color: rgb(255, 0, 0); }
- Define el rojo con coordenadas RGB en valores numéricos.
em { color: rgb(100%, 0%, 0%); }
- El mismo rojo, pero usando porcentajes.
em { color: rgba(255, 0, 0, 0.5); }
- Define un rojo translúcido al 50% (opacidad 0.5) con RGBA.
Propiedades de Tipo de Texto en CSS
font-family
: Define la familia de fuentes que se usará. Ejemplo:arial, sans-serif
.font-size
: Establece el tamaño del texto. Ejemplo:12pt, larger
.font-weight
: Especifica el grosor del texto. Ejemplo:bold, 300
.font-style
: Indica si el texto será normal, en cursiva o en oblicuo. Ejemplo:italic
.font-variant
: Permite mostrar el texto en formato de versalitas. Ejemplo:small-caps
.
Ejemplo de Estilos de Tipografía:
/* Tipografías */
body {
font-family: 'Georgia', serif; /* Cambia la tipografía por una serif clásica */
font-size: 16px; /* Tamaño estándar */
color: #333; /* Color del texto */
line-height: 1.5; /* Espaciado entre líneas */
background-color: #f4f4f4; /* Fondo gris claro */
}
Propiedades de Formato del Texto en CSS
color
: Cambia el color del texto. Ejemplo:rgb(255,0,0), navy
.text-align
: Define la alineación del texto dentro de su contenedor. Ejemplo:center, justify
.vertical-align
: Posiciona el texto verticalmente. Ejemplo:top, middle
.text-decoration
: Añade decoraciones como subrayado. Ejemplo:underline
.text-indent
: Ajusta la sangría de la primera línea de texto. Ejemplo:36pt
.text-shadow
: Aplica una sombra al texto. Ejemplo:rgb(0,0,0) 10px 10px 3px
.text-transform
: Cambia las mayúsculas y minúsculas del texto. Ejemplo:uppercase
.
Ejemplo de Formato de Texto:
p {
font-family: times serif; /* Define la fuente como 'Times' */
font-style: italic; /* Aplica estilo cursivo */
color: navy; /* Cambia el color del texto a azul oscuro */
text-indent: 5em; /* Añade una sangría de 5em */
}
El Modelo de Caja (Box Model) en CSS
El contenido de un elemento HTML está rodeado por:
- Padding (relleno): El espacio entre el contenido y el borde del elemento.
- Borde: Define el contorno que rodea el relleno.
- Margin (margen): El espacio exterior del borde que separa un elemento de los demás.
Propiedades de Bordes en CSS
Aquí se presentan las propiedades relacionadas con los bordes en CSS:
border-color
: Especifica el color del borde. Ejemplos:#ff0080, rgb(256,0,128), white, navy
.border-style
: Define el estilo del borde. Ejemplos:none, solid, dotted, dashed, double, groove
, etc.border-width
: Controla el grosor del borde. Ejemplos:thin, medium, thick, 1px
.border
: Propiedad abreviada que combina color, estilo y grosor. Ejemplo:4px solid red
.
Nota: También puedes especificar propiedades para bordes específicos, como:
border-top-color
border-left-style
border-bottom-width
border-right
.
Propiedad padding
en CSS
- Concepto: Controla la distancia entre el contenido y el borde del elemento. Básicamente, es un “relleno interno” que rodea al contenido dentro de un borde.
- Detalles:
- Puede tomar valores numéricos como
px, em, %
, o la palabra clave especialinherit
, que indica que tomará el valor del elemento padre. - Propiedades específicas:
padding-top
: Relleno superior.padding-right
: Relleno derecho.padding-bottom
: Relleno inferior.padding-left
: Relleno izquierdo.padding
: Aplica el mismo valor a todos los lados, o permite especificar valores individuales para cada lado (en el orden superior, derecho, inferior, izquierdo).
- Puede tomar valores numéricos como
Propiedad margin
en CSS
- Concepto: Controla la distancia entre el borde del elemento y otros elementos o bloques. Actúa como un “espaciado externo”.
- Detalles:
- Al igual que
padding
, acepta valores numéricos (px, em, %
) y las palabras clave especialesinherit
oauto
. - Propiedades específicas:
margin-top
: Margen superior.margin-right
: Margen derecho.margin-bottom
: Margen inferior.margin-left
: Margen izquierdo.margin
: Similar apadding
, permite aplicar valores únicos o específicos para cada lado.
- Comportamiento especial:
- En el eje vertical (entre bloques consecutivos), el margen efectivo es el mayor entre el margen inferior del primer bloque y el superior del segundo.
- En el eje horizontal, los márgenes se suman.
- Al igual que
Ejemplo de Propiedades Combinadas en CSS
Este ejemplo combina varias propiedades para aplicar estilos al elemento con el ID resumen
y a su contenido:
#resumen { ... }
:float: right;
: Sitúa el elemento flotando a la derecha.border: 1px dashed black;
: Establece un borde de 1 píxel, discontinuo, color negro.padding-left: 5px;
ypadding-right: 5px;
: Define un espacio interior (padding) de 5 píxeles a los lados izquierdo y derecho.width: 600px;
: Especifica un ancho fijo de 600 píxeles.margin: 0px 50px;
: Añade margen superior/inferior de 0 píxeles y lateral de 50 píxeles.background: silver;
: Establece un fondo de color plateado.text-align: justify;
: Justifica el texto dentro del elemento.
#resumen > h2 { ... }
:- Selecciona directamente los elementos
<h2>
que son hijos inmediatos de#resumen
. text-align: center;
: Centra horizontalmente el texto del encabezado.
- Selecciona directamente los elementos
Propiedades para Controlar el Fondo en CSS
- Propiedades y ejemplos:
background-color
: Define el color de fondo del elemento, comowhite
(blanco).background-image
: Especifica una imagen como fondo, por ejemplo:url("background.jpg")
.background-repeat
: Controla si la imagen se repite. Ejemplos:repeat
: Repite la imagen en ambas direcciones.no-repeat
: No repite la imagen.repeat-x
: Solo se repite horizontalmente.repeat-y
: Solo se repite verticalmente.
background-position
: Define la posición de la imagen de fondo. Ejemplos:left, center, right, top, bottom
, o porcentajes (20%, 50%
).background-attachment
: Controla si el fondo es fijo o se desplaza con la página. Valores:fixed
oscroll
.background
: Es una forma abreviada para combinar varias propiedades del fondo.
Propiedades de Visibilidad en CSS
- Propiedades:
display
: Define cómo se muestra un elemento en el flujo de la página. Ejemplos:none
: Oculta el elemento completamente y no ocupa espacio en el diseño.block
: Muestra el elemento como un bloque (ocupa toda la línea).inline
: Muestra el elemento en línea (como parte del texto).
visibility
: Controla si el elemento es visible o no. Ejemplos:visible
: El elemento es visible.hidden
: El elemento no es visible, pero sigue ocupando espacio.