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
iddebe 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:
RGBespecifica los colores mediante la combinación de rojo, verde y azul (en valores del 0 al 255 o porcentajes).RGBAagrega un cuarto valor que define la transparencia (opacidad). - Coordenadas HSL o HSLA:
HSLrepresenta el tono (hue), saturación y luminosidad.HSLAañ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-colorborder-left-styleborder-bottom-widthborder-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 especialesinheritoauto. - 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:fixedoscroll.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.
