Introducción a HTML

HTML (HyperText Markup Language / Lenguaje de Marcado de Hipertexto) es el bloque de construcción fundamental de la Web. Define el significado y la estructura del contenido web.

"Hipertexto" hace referencia a los enlaces que conectan páginas web entre sí, ya sea dentro de un mismo sitio web o entre sitios diferentes.

Estructura Básica de un Documento HTML5

<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <title>Título de mi Sitio Web</title> </head> <body> <h1>¡Bienvenido a mi primera página web!</h1> <p>Este es un párrafo de prueba escrito en HTML.</p> </body> </html>

Editores de Código para HTML

Para escribir y desarrollar HTML no necesitas herramientas complejas ni de pago. Un simple editor de texto plano es suficiente, aunque existen editores especializados que facilitan la escritura mediante auto-completado y resaltado de sintaxis.

Editores Gratuitos Recomendados:

  • Visual Studio Code (VS Code): El estándar de la industria desarrollado por Microsoft. Cuenta con extensiones muy útiles como Live Server.
  • Notepad++: Una opción ligera, rápida y fácil de usar para entornos Windows.
  • Sublime Text: Un editor liviano, elegante y con un excelente rendimiento.

Elementos Básicos de HTML

Un elemento HTML se compone de una etiqueta de apertura, el contenido que se desea mostrar y una etiqueta de cierre.

<etiqueta>Contenido aquí...</etiqueta>

Etiqueta Descripción
<!DOCTYPE html> Declara el tipo de documento. Le indica al navegador que la página utiliza HTML5.
<html> El elemento raíz que envuelve todo el contenido de la página web.
<head> Contiene metadatos, títulos, enlaces a estilos CSS y scripts. No es visible para el usuario.
<body> Contiene todo el contenido visible de la página (textos, imágenes, botones, etc.).

Encabezados en HTML

Los encabezados permiten definir títulos y subtítulos dentro de la página. Sirven para organizar jerárquicamente la información tanto para el usuario como para los motores de búsqueda (SEO).

Existen 6 niveles de encabezados, marcados desde el <h1> (más importante) hasta el <h6> (menos importante).

Demostración de Jerarquía

<h1>Encabezado de Nivel 1 (Título Principal)</h1> <h2>Encabezado de Nivel 2 (Subtítulo)</h2> <h3>Encabezado de Nivel 3</h3> <h4>Encabezado de Nivel 4</h4> <h5>Encabezado de Nivel 5</h5> <h6>Encabezado de Nivel 6</h6>

Párrafos y Formato de Texto

El elemento <p> se utiliza para definir párrafos de texto. Los navegadores añaden automáticamente un margen antes y después de cada párrafo.

Etiquetas Principales de Formato:

  • <strong> o <b>: Texto en negrita.
  • <em> o <i>: Texto en cursiva / itálica.
  • <mark>: Texto resaltado.
  • <br>: Inserta un salto de línea (etiqueta sin cierre).
  • <hr>: Crea una línea horizontal de separación temática.

Atributos en HTML

Los atributos proporcionan información o configuración adicional sobre los elementos HTML. Se colocan siempre dentro de la etiqueta de apertura y generalmente vienen en pares de clave/valor (nombre="valor").

Atributos más comunes:

  • href: Utilizado en enlaces para definir la URL de destino.
  • src: Utilizado en imágenes y scripts para definir la ruta del archivo.
  • alt: Proporciona un texto alternativo si la imagen no se carga o para lectores de pantalla.
  • class y id: Permiten identificar elementos para aplicarles estilos CSS o scripts JavaScript.

Imágenes en HTML

Las imágenes se incrustan en la página mediante la etiqueta vacía <img>. Requiere principalmente dos atributos: src (ruta de la imagen) y alt (texto alternativo).

Sintaxis y Ejemplo de Imagen

<img src="https://via.placeholder.com/350x150" alt="Ejemplo de Imagen de Prueba" width="350" height="150">

Tablas en HTML

Las tablas permiten organizar y estructurar datos en filas y columnas de forma clara y accesible.

Etiquetas fundamentales para crear tablas:

  • <table>: Contenedor principal de la tabla.
  • <tr> (Table Row): Define una fila.
  • <th> (Table Header): Celda de encabezado (texto en negrita y centrado).
  • <td> (Table Data): Celda de contenido normal.

Ejemplo de Tabla Estructurada

<table border="1" style="width: 100%; border-collapse: collapse; text-align: left;"> <tr style="background-color: #f2f2f2;"> <th>Nombre</th> <th>Materia</th> <th>Calificación</th> </tr> <tr> <td>Carlos Gómez</td> <td>Programación Web</td> <td>95</td> </tr> <tr> <td>Ana Martínez</td> <td>Diseño Digital</td> <td>98</td> </tr> </table>

Listas en HTML

HTML ofrece dos tipos principales de listas para agrupar elementos ordenados o desordenados.

1. Listas Desordenadas (Unordered List - <ul>)

Muestran los elementos con viñetas o puntos.

2. Listas Ordenadas (Ordered List - <ol>)

Muestran los elementos numerados o con secuencias alfabéticas.

Ejemplo de Ambas Listas

<h3>Lista de Compras (Desordenada)</h3> <ul> <li>Cuadernos</li> <li>Lápices</li> <li>Regla</li> </ul> <h3>Pasos para Encender un PC (Ordenada)</h3> <ol> <li>Conectar el cable a la corriente.</li> <li>Presionar el botón de encendido.</li> <li>Esperar que cargue el sistema operativo.</li> </ol>

Formularios en HTML

Los formularios capturan información que introduce el usuario (datos personales, mensajes, credenciales) y los envían a un servidor para procesarlos.

Componentes comunes:

  • <form>: El contenedor general del formulario.
  • <input>: Campo de entrada de datos (puede ser texto, contraseña, fecha, checkbox, etc.).
  • <textarea>: Campo para textos largos (comentarios o mensajes).
  • <select>: Desplegable de opciones.
  • <button>: Botón de envío.

Ejemplo de Formulario Interactivo

<form style="background: #ffffff; padding: 15px; border: 1px solid #ccc; border-radius: 5px;"> <label for="nombre">Nombre del Estudiante:</label><br> <input type="text" id="nombre" name="nombre" placeholder="Escribe tu nombre..." style="width: 100%; padding: 8px; margin: 8px 0;"><br> <label for="grado">Semestre:</label><br> <select id="grado" name="grado" style="width: 100%; padding: 8px; margin: 8px 0;"> <option>2do Semestre</option> <option>4to Semestre</option> <option>6to Semestre</option> </select><br> <input type="submit" value="Guardar Registro" style="background-color: #04AA6D; color: white; padding: 10px 15px; border: none; cursor: pointer; margin-top: 10px;"> </form>

Ejercicios de Autoevaluación de HTML

Comprueba tus conocimientos respondiendo las preguntas a continuación:

Pregunta 1: ¿Cuál es la etiqueta correcta para insertar un título de primer nivel?

Pregunta 2: ¿Qué etiqueta se utiliza para insertar una línea de salto sin cerrar espacio de párrafo?

Pregunta 3: ¿Qué atributo se debe indicar obligatoriamente en un elemento <a> para definir el enlace?

Pregunta 4: ¿Qué elemento crea una lista con viñetas no numeradas?

Introducción a CSS

CSS (Cascading Style Sheets / Hojas de Estilo en Cascada) es el lenguaje utilizado para controlar el aspecto visual, colores, tipografías y la disposición general de las páginas web escritas en HTML.

Mientras que HTML define la **estructura** (esqueleto), CSS otorga la **apariencia visual** (diseño, colores, animaciones).

Ejemplo de CSS Aplicado a un Encabezado

<h1 style="color: blue; text-align: center;"> Este título tiene color azul y está centrado </h1>

Sintaxis de CSS

Una regla CSS está formada por un **Selector** y un **Bloque de Declaraciones** encerrado entre llaves {}.

selector { propiedad: valor; propiedad2: valor2; }

Ejemplo Real:

p { color: red; font-size: 18px; }

Selector (p): Aplica a todos los párrafos de la página.

Propiedad (color): Cambia el color del texto a rojo.

Propiedad (font-size): Establece el tamaño del texto en 18 píxeles.

Selectores en CSS

Los selectores determinan a qué elementos HTML específicos se les aplicarán los estilos.

Los 3 Selectores Básicos:

  • Selector de Elemento / Etiqueta: Selecciona todos los elementos por su nombre de etiqueta (ej: h1, p, button).
  • Selector de Clase (.): Selecciona elementos que tienen un atributo class en particular. Se escribe con un punto inicial (ej: .mi-clase).
  • Selector de ID (#): Selecciona un único elemento mediante su atributo id. Se escribe con un numeral inicial (ej: #mi-encabezado).

Ejemplo de Uso de Selectores

<style> /* Selector de Elemento */ h2 { color: darkblue; } /* Selector de Clase */ .destacado { background-color: yellow; font-weight: bold; } /* Selector de ID */ #unico { color: green; font-style: italic; } </style> <h2>Título normal</h2> <p class="destacado">Párrafo resaltado con clase.</p> <p id="unico">Párrafo único con id.</p>

3 Formas de Añadir CSS a un Documento

1. CSS Externo (Recomendado)

Los estilos se escriben en un archivo .css separado y se enlazan mediante la etiqueta <link> dentro del <head>.

<head> <link rel="stylesheet" href="estilos.css"> </head>

2. CSS Interno

Se colocan los estilos dentro de una etiqueta <style> dentro de la sección <head> de la página HTML.

3. CSS En Línea (In-line)

Se asigna directamente en el atributo style del elemento HTML correspondiente.

Colores y Fondos en CSS

CSS permite aplicar colores mediante nombres, códigos Hexadecimales (ej: #ff0000) o formato RGB (ej: rgb(255, 0, 0)).

Demostración de Colores y Fondos

<div style="background-color: #282c34; color: #ffffff; padding: 20px; border-radius: 5px;"> <h2 style="color: #04AA6D;">Fondo Oscuro con Texto Blanco</h2> <p>Puedes combinar colores de fondo y bordes fácilmente.</p> </div>

El Modelo de Caja en CSS (Box Model)

Todos los elementos HTML se consideran cajas rectangulares. El modelo de caja define las dimensiones y los espacios que ocupa cada elemento.

Margen Exterior (Margin)
Borde (Border)
Relleno Interior (Padding)
Contenido Real
  • Content: El texto, imagen u objeto real.
  • Padding: Espacio libre alrededor del contenido (dentro del borde).
  • Border: Borde que rodea el padding y el contenido.
  • Margin: Espacio exterior libre que separa este elemento de los demás.

Introducción a Flexbox

Flexbox (Módulo de Caja Flexible) es una herramienta de CSS3 diseñada para alinear, distribuir y organizar elementos en contenedores de forma responsiva y sencilla.

Ejemplo de Diseño con Flexbox

<div style="display: flex; gap: 10px; background: #eee; padding: 10px;"> <div style="flex: 1; background: #04AA6D; color: white; padding: 20px; text-align: center;">Caja 1</div> <div style="flex: 1; background: #2196F3; color: white; padding: 20px; text-align: center;">Caja 2</div> <div style="flex: 1; background: #ff9800; color: white; padding: 20px; text-align: center;">Caja 3</div> </div>

Ejercicios de Autoevaluación de CSS

Evalúa tus avances en el aprendizaje de CSS:

Pregunta 1: ¿Qué símbolo se utiliza para definir un selector de clase en CSS?

Pregunta 2: ¿Qué propiedad de CSS sirve para cambiar el color de fondo de un elemento?

Pregunta 3: En el Modelo de Caja (Box Model), ¿cuál es la propiedad que crea espacio INTERNO entre el contenido y el borde?

Pregunta 4: ¿Qué valor de la propiedad display se utiliza para iniciar un contenedor de caja flexible?

⚡ Compilador / Editor de Código en Vivo

Modifica el código fuente en la caja izquierda y presiona el botón verde para ejecutar y observar el resultado renderizado en tiempo real a la derecha:

Código de Entrada (HTML + CSS)
Resultado Renderizado