Introducción
En esta sección, aprenderás sobre la sintaxis básica de CSS y los diferentes tipos de selectores que puedes usar para aplicar estilos a los elementos HTML. Comprender estos conceptos es fundamental para escribir CSS de manera efectiva y eficiente.
Sintaxis de CSS
La sintaxis de CSS se compone de reglas que indican cómo deben ser estilizados los elementos HTML. Cada regla CSS tiene dos partes principales: un selector y una declaración.
Estructura de una Regla CSS
- Selector: Indica a qué elementos HTML se aplicará la regla.
- Propiedad: Especifica el aspecto del elemento que se desea modificar (por ejemplo, color, tamaño de fuente, margen).
- Valor: Define el valor de la propiedad (por ejemplo,
red
para el color,16px
para el tamaño de fuente).
Ejemplo de una Regla CSS
En este ejemplo, el selector p
se aplica a todos los elementos <p>
(párrafos) en el documento HTML, cambiando su color a azul y su tamaño de fuente a 16 píxeles.
Selectores de CSS
Los selectores son una parte crucial de CSS, ya que determinan a qué elementos HTML se aplicarán las reglas de estilo. A continuación, se describen los tipos más comunes de selectores.
Selectores Básicos
-
Selector de Tipo: Selecciona todos los elementos de un tipo específico.
h1 { color: green; }
-
Selector de Clase: Selecciona todos los elementos con una clase específica. Las clases se definen en HTML con el atributo
class
..mi-clase { background-color: yellow; }
-
Selector de ID: Selecciona un elemento único con un ID específico. Los IDs se definen en HTML con el atributo
id
.#mi-id { border: 1px solid black; }
-
Selector Universal: Selecciona todos los elementos.
* { margin: 0; padding: 0; }
Selectores de Atributo
Seleccionan elementos basados en el valor de un atributo específico.
Este selector aplica estilos a todos los enlaces (<a>
) que tienen un atributo href
.
Selectores de Pseudo-clase
Seleccionan elementos en un estado específico.
-
:hover: Aplica estilos cuando el usuario pasa el cursor sobre un elemento.
a:hover { color: orange; }
-
:first-child: Selecciona el primer hijo de su elemento padre.
p:first-child { font-weight: bold; }
Selectores de Pseudo-elemento
Seleccionan y estilizan una parte específica de un elemento.
-
::before: Inserta contenido antes del contenido real de un elemento.
p::before { content: "Nota: "; font-weight: bold; }
-
::after: Inserta contenido después del contenido real de un elemento.
p::after { content: " - Fin del párrafo"; }
Ejercicios Prácticos
Ejercicio 1: Aplicar Estilos con Selectores de Clase e ID
-
Crea un archivo HTML con el siguiente contenido:
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ejercicio de CSS</title> <link rel="stylesheet" href="styles.css"> </head> <body> <h1 id="titulo-principal">Bienvenidos a CSS</h1> <p class="texto-introductorio">Este es un párrafo introductorio.</p> <p class="texto-introductorio">Otro párrafo introductorio.</p> </body> </html>
-
Crea un archivo CSS llamado
styles.css
y añade las siguientes reglas:#titulo-principal { color: blue; text-align: center; } .texto-introductorio { font-size: 18px; color: gray; }
Ejercicio 2: Usar Selectores de Pseudo-clase
-
Añade un enlace a tu archivo HTML:
<a href="https://www.example.com">Visita nuestro sitio web</a>
-
Añade las siguientes reglas CSS para estilizar el enlace:
a { color: green; text-decoration: none; } a:hover { color: red; }
Soluciones
Solución al Ejercicio 1
El archivo HTML debería verse así:
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Ejercicio de CSS</title> <link rel="stylesheet" href="styles.css"> </head> <body> <h1 id="titulo-principal">Bienvenidos a CSS</h1> <p class="texto-introductorio">Este es un párrafo introductorio.</p> <p class="texto-introductorio">Otro párrafo introductorio.</p> <a href="https://www.example.com">Visita nuestro sitio web</a> </body> </html>
El archivo CSS debería verse así:
#titulo-principal { color: blue; text-align: center; } .texto-introductorio { font-size: 18px; color: gray; } a { color: green; text-decoration: none; } a:hover { color: red; }
Conclusión
En esta sección, hemos cubierto la sintaxis básica de CSS y los diferentes tipos de selectores que puedes usar para aplicar estilos a los elementos HTML. Estos conceptos son fundamentales para cualquier desarrollador web y te permitirán crear estilos más específicos y efectivos en tus proyectos. En la próxima sección, aprenderemos cómo añadir CSS a un documento HTML.
Maestría en CSS: De Principiante a Avanzado
Módulo 1: Introducción a CSS
- ¿Qué es CSS?
- Sintaxis y Selectores de CSS
- Cómo Añadir CSS a HTML
- Propiedades Básicas de CSS
- Colores en CSS
- Unidades y Medidas en CSS
Módulo 2: Estilización de Texto y Fuentes
- Propiedades de Texto
- Propiedades de Fuentes
- Integración de Google Fonts
- Alineación y Espaciado de Texto
- Decoración y Transformación de Texto
Módulo 3: Modelo de Caja y Diseño
- Entendiendo el Modelo de Caja
- Margen y Relleno
- Borde y Contorno
- Ancho y Alto
- Tamaño de Caja
- Propiedad Display de CSS
Módulo 4: Posicionamiento y Flotación
- Propiedad Position de CSS
- Posicionamiento Estático, Relativo, Absoluto y Fijo
- Flotación y Limpieza en CSS
- Creando Diseños con Flotación
- Índice Z en CSS
Módulo 5: Flexbox
- Introducción a Flexbox
- Propiedades del Contenedor Flex
- Propiedades del Ítem Flex
- Creando Diseños con Flexbox
- Diseño Responsivo con Flexbox
Módulo 6: CSS Grid
- Introducción a CSS Grid
- Propiedades del Contenedor Grid
- Propiedades del Ítem Grid
- Creando Diseños con CSS Grid
- Diseño Responsivo con CSS Grid
Módulo 7: Técnicas Avanzadas de CSS
Módulo 8: Diseño Responsivo
- Introducción al Diseño Responsivo
- Consultas de Medios
- Tipografía Responsiva
- Imágenes Responsivas
- Diseño Mobile-First
Módulo 9: Preprocesadores y Frameworks
- Introducción a los Preprocesadores de CSS
- Conceptos Básicos de Sass
- Conceptos Básicos de Less
- Introducción a los Frameworks de CSS
- Usando Bootstrap
Módulo 10: Mejores Prácticas y Optimización
- Mejores Prácticas de CSS
- Organización del Código CSS
- Minificación de CSS
- Optimización del Rendimiento de CSS
- Depuración de CSS