Clase 1: Fundamentos de HTML y CSS

Estructura básica, etiquetas semánticas, clases y estilos iniciales

"HTML construye la estructura; CSS le da presentación, orden y personalidad"

Introducción HTML Semánticas CSS Clases Ejemplos Cuestionario Práctica

1) Introducción al diseño web

Una página web se construye combinando diferentes tecnologías. En esta clase nos centraremos en dos de las más importantes: HTML y CSS.

HTML se encarga de crear la estructura y el contenido de la página. CSS se encarga de cambiar su apariencia visual: colores, tamaños, márgenes, fondos, bordes y distribución.

HTML

Es el lenguaje de marcado que permite definir los elementos de una página: títulos, párrafos, imágenes, enlaces, listas, secciones y formularios.

CSS

Es el lenguaje que permite darle estilo a esos elementos: colores, tamaños, alineaciones, sombras, bordes y diseño visual.

Relación entre ambos

HTML crea los elementos. CSS selecciona esos elementos y les aplica reglas visuales.

Idea para recordar: HTML responde a la pregunta “¿qué hay en la página?”, mientras que CSS responde a “¿cómo se ve eso en la página?”.

2) Fundamentos de HTML

HTML significa HyperText Markup Language. No es un lenguaje de programación, sino un lenguaje de marcado. Esto quiere decir que usa etiquetas para indicar la función de cada parte del contenido.

Estructura básica de un documento HTML

<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mi primera página</title> </head> <body> <h1>Hola mundo</h1> <p>Esta es mi primera página web.</p> </body> </html>

Partes principales

Elemento Función Ejemplo
<!DOCTYPE html> Indica que el documento usa HTML5. Debe colocarse al inicio del archivo.
<html> Contiene todo el documento HTML. <html lang="es">
<head> Contiene información para el navegador. Metadatos, título y enlaces a CSS.
<body> Contiene lo visible de la página. Títulos, párrafos, imágenes, enlaces.

Etiquetas básicas de contenido

Títulos

Se usan desde <h1> hasta <h6>. El <h1> representa el título principal.

Párrafos

La etiqueta <p> se usa para escribir bloques de texto.

Enlaces

La etiqueta <a> permite crear enlaces hacia otras páginas o secciones.

Imágenes

La etiqueta <img> permite mostrar imágenes dentro de la página.

Ejemplo:
<h1>Mi sitio web</h1> crea un título principal.
<p>Bienvenidos a mi página.</p> crea un párrafo.

3) Etiquetas semánticas de HTML

Las etiquetas semánticas son elementos HTML que describen claramente el significado o propósito de una parte de la página.

Antes era común crear casi toda la estructura usando muchos <div>. Aunque <div> sigue siendo útil, HTML5 ofrece etiquetas más claras para organizar el contenido.

Etiqueta Uso principal Ejemplo de aplicación
<header> Representa la cabecera de la página o de una sección. Logo, título principal o menú superior.
<nav> Contiene enlaces de navegación. Menú con enlaces a Inicio, Servicios y Contacto.
<main> Contiene el contenido principal de la página. La información central del sitio.
<section> Agrupa contenido relacionado dentro de una página. Una sección de servicios, noticias o productos.
<article> Representa contenido independiente. Una noticia, publicación o entrada de blog.
<aside> Contiene información complementaria. Barra lateral, enlaces relacionados o avisos.
<footer> Representa el pie de página. Derechos, contacto o información institucional.

Ejemplo de estructura semántica

<header> <h1>Mi sitio web</h1> </header> <nav> <a href="#">Inicio</a> <a href="#">Servicios</a> <a href="#">Contacto</a> </nav> <main> <section> <h2>Sobre nosotros</h2> <p>Somos una empresa dedicada al desarrollo web.</p> </section> <article> <h2>Noticia destacada</h2> <p>Hoy presentamos nuestro nuevo sitio web.</p> </article> </main> <footer> <p>Todos los derechos reservados.</p> </footer>

Vista conceptual

Mi sitio web

Contenido principal

Este bloque representa una sección o artículo dentro del contenido principal.

Pie de página
Ventaja: usar etiquetas semánticas mejora el orden del código, facilita el mantenimiento y ayuda a que navegadores, buscadores y lectores de pantalla comprendan mejor la página.

4) Fundamentos de CSS

CSS significa Cascading Style Sheets. Se usa para definir cómo se verá una página HTML. Con CSS podemos cambiar colores, fuentes, tamaños, fondos, bordes, márgenes y mucho más.

Sintaxis básica de CSS

selector { propiedad: valor; }

El selector indica qué elemento se quiere modificar. La propiedad indica qué aspecto se cambiará. El valor indica cómo se aplicará ese cambio.

Ejemplo sencillo

h1 { color: blue; font-size: 32px; }

Este código selecciona todos los títulos <h1> y les aplica color azul y tamaño de fuente de 32 píxeles.

Formas de agregar CSS

Forma Descripción Recomendación
CSS en línea Se escribe dentro de la etiqueta HTML usando style. No es lo más recomendable para proyectos grandes.
CSS interno Se escribe dentro de una etiqueta <style> en el HTML. Útil para ejemplos pequeños o clases demostrativas.
CSS externo Se escribe en un archivo separado, por ejemplo estilos.css. Es la forma más ordenada para proyectos reales.

Enlace a un archivo CSS externo

<link rel="stylesheet" href="css/estilos.css">
Esta línea normalmente se coloca dentro de <head>. Sirve para conectar el documento HTML con el archivo CSS.

5) Crear clases y aplicar estilos básicos

Una clase es un nombre que podemos asignar a uno o varios elementos HTML para aplicarles estilos específicos desde CSS.

Las clases son muy importantes porque permiten reutilizar estilos. Por ejemplo, podemos crear una clase llamada tarjeta y aplicarla a varios bloques de contenido.

Crear una clase en HTML

<div class="tarjeta"> <h3>HTML</h3> <p>HTML estructura el contenido de una página web.</p> </div>

Aplicar estilos a esa clase en CSS

.tarjeta { background-color: #ecf0f1; padding: 20px; border-radius: 12px; border-left: 6px solid #e67e22; }
Importante: en HTML se escribe class="tarjeta", pero en CSS se selecciona con punto: .tarjeta.

Diferencia entre etiqueta, clase e id

Selector Ejemplo ¿Para qué sirve?
Etiqueta p { color: gray; } Aplica estilos a todos los elementos de ese tipo.
Clase .tarjeta { padding: 20px; } Aplica estilos a todos los elementos que tengan esa clase.
ID #principal { width: 90%; } Identifica un elemento único. No debe repetirse en la misma página.

Ejemplo visual de una clase

Tarjeta de ejemplo

Esta tarjeta representa un bloque HTML con una clase llamada tarjeta. CSS le aplica fondo, borde, espacio interno y bordes redondeados.

Ver más

Estilos básicos comunes

Texto

color

Cambia el color del texto.

p { color: #2c3e50; }
Texto

font-size

Cambia el tamaño de la letra.

h1 { font-size: 36px; }
Caja

background-color

Cambia el color de fondo de un elemento.

.caja { background-color: #ecf0f1; }
Caja

padding

Agrega espacio interno entre el contenido y el borde.

.caja { padding: 20px; }
Caja

margin

Agrega espacio externo entre un elemento y otros elementos.

.caja { margin-bottom: 20px; }
Caja

border-radius

Redondea las esquinas de un elemento.

.caja { border-radius: 12px; }

6) Ejemplo completo: HTML semántico con clases y CSS

El siguiente ejemplo combina etiquetas semánticas, clases y estilos básicos.

HTML

<header class="encabezado"> <h1>Mi página personal</h1> <p>Bienvenido a mi primer sitio web</p> </header> <nav class="menu"> <a href="#">Inicio</a> <a href="#">Sobre mí</a> <a href="#">Contacto</a> </nav> <main class="contenido"> <section class="tarjeta"> <h2>Sobre mí</h2> <p>Soy estudiante de diseño web y estoy aprendiendo HTML y CSS.</p> </section> <section class="tarjeta destacada"> <h2>Mis intereses</h2> <p>Me interesa crear páginas modernas, ordenadas y fáciles de usar.</p> </section> </main> <footer class="pie"> <p>Creado con HTML y CSS</p> </footer>

CSS

body { font-family: Arial, sans-serif; background-color: #f4f7f6; color: #2c3e50; margin: 0; } .encabezado { background-color: #1a5276; color: white; text-align: center; padding: 30px; } .menu { background-color: #ecf0f1; padding: 15px; text-align: center; } .menu a { color: #1a5276; text-decoration: none; font-weight: bold; margin: 0 10px; } .contenido { max-width: 900px; margin: 30px auto; padding: 0 20px; } .tarjeta { background-color: white; padding: 25px; margin-bottom: 20px; border-radius: 12px; border-left: 6px solid #e67e22; } .destacada { background-color: #fff3e0; } .pie { text-align: center; padding: 20px; color: #7f8c8d; }
En este ejemplo, las clases permiten aplicar estilos específicos a diferentes partes de la página. Por ejemplo, .encabezado, .menu, .tarjeta y .pie.

¿Por qué una sección tiene dos clases?

<section class="tarjeta destacada">

Un elemento puede tener más de una clase. En este caso, la sección recibe los estilos generales de .tarjeta y además los estilos especiales de .destacada.

Idea importante: las clases se pueden combinar para evitar repetir código y crear variaciones de un mismo diseño.

7) Buenas prácticas iniciales

Usar nombres claros

Una clase llamada .tarjeta es más clara que una llamada .caja1. Los nombres deben explicar el propósito del elemento.

Separar estructura y estilo

HTML debe encargarse de la estructura. CSS debe encargarse de la presentación visual.

No abusar de div

Cuando exista una etiqueta semántica adecuada, es mejor usarla en lugar de llenar todo de <div>.

Ordenar el código

La indentación ayuda a leer mejor la estructura del documento y a detectar errores.

Consejo para principiantes: antes de agregar colores y efectos, asegúrate de que la estructura HTML esté bien organizada.

8) Práctica de repaso

Responde las preguntas y luego verifica tus respuestas.

1. ¿Cuál es la función principal de HTML?
2. ¿Cuál es la función principal de CSS?
3. ¿Cuál de estas etiquetas es semántica?
4. ¿Cómo se escribe una clase en HTML?
5. ¿Cómo se selecciona una clase en CSS?

9) Cierre

HTML y CSS son la base del diseño web. HTML permite definir la estructura de una página, mientras que CSS permite transformarla visualmente para que sea más clara, atractiva y fácil de usar.

Las etiquetas semánticas ayudan a crear páginas mejor organizadas, y las clases permiten aplicar estilos de forma ordenada y reutilizable. Comprender esta relación es esencial antes de avanzar hacia temas como Flexbox, diseño responsivo e interacción con JavaScript.

Para recordar: primero se construye una buena estructura con HTML; luego se mejora su apariencia con CSS.

10) Práctica Guiada