Próximos pasos del curso
Después de dominar HTML, el camino natural es avanzar hacia CSS para diseñar y luego hacia JavaScript para dar interactividad.
Curso práctico · Desarrollo web desde cero
Este curso está pensado para que los estudiantes comprendan qué es la web, cómo funciona un navegador, cómo se estructura una página con HTML, cuándo usar cada etiqueta, cómo trabajar con formularios, atributos, semántica, DOM, SEO y accesibilidad, y cómo este conocimiento sirve como base para CSS y JavaScript.
Después de dominar HTML, el camino natural es avanzar hacia CSS para diseñar y luego hacia JavaScript para dar interactividad.
La web es un sistema de información global accesible a través de internet. Permite publicar documentos, aplicaciones, imágenes, videos y servicios. Para que una página sea visible, se necesita un navegador, un servidor y archivos bien estructurados.
Un navegador interpreta el código HTML, CSS y JavaScript y lo convierte en una interfaz visual. Ejemplos: Chrome, Firefox, Edge y Safari.
Cuando un usuario entra a una página, el navegador solicita archivos al servidor, los procesa y los renderiza en pantalla.
Un editor de texto es la herramienta donde se escribe el código. Puede ser Visual Studio Code, Sublime Text, Atom o incluso un bloc de notas, aunque los profesionales prefieren editores con funciones como resaltado de sintaxis, autocompletado y herramientas de depuración.
Aprender a escribir código en un editor ayuda a organizar mejor las ideas, mantener limpio el proyecto y trabajar con archivos separados para HTML, CSS y JavaScript.
Las etiquetas indican al navegador qué tipo de contenido se está creando. Se escriben con corchetes angulares y pueden abrirse y cerrarse.
<h1>Título principal</h1>
<p>Este es un párrafo.</p>
Los atributos permiten dar más información a las etiquetas. Son muy útiles para enlaces, imágenes, formularios y accesibilidad.
<a href="https://example.com" target="_blank">Ir al sitio</a>
<img src="foto.png" alt="Foto de ejemplo">
Una etiqueta puede contener otras etiquetas. Eso se llama anidación y es esencial para construir estructuras limpias y correctas.
<article>
<h2>Noticia</h2>
<p>Texto de la noticia.</p>
</article>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Mi primer sitio</title>
<meta name="description" content="Página creada con HTML">
</head>
<body>
<header>
<h1>Bienvenidos</h1>
</header>
<main>
<section>
<p>Contenido principal.</p>
</section>
</main>
<footer>
<p>Pie de página.</p>
</footer>
</body>
</html>
<h1>Encabezado principal</h1>
<h2>Subtítulo</h2>
<p>Párrafo de texto.</p>
<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
</ul>
<a href="pagina.html">Leer más</a>
<img src="imagen.jpg" alt="Descripción de la imagen">
<video controls>...</video>
<div>Contenedor general</div>
<span>Texto inline</span>
<section>Sección principal</section>
<article>Artículo independiente</article>
Entender las etiquetas HTML y sus atributos es clave. Además, hay etiquetas especiales para mostrar código y estructura, y formas estándar de cargar CSS y JavaScript.
<code> se usa para mostrar fragmentos de código dentro de un texto. <pre> mantiene el formato, los saltos de línea y los espacios tal como se escriben.
<pre><code>
const saludo = 'Hola';
console.log(saludo);
</code></pre>
Estas etiquetas son útiles para documentar ejemplos, crear consolas simuladas y mostrar código legible en una página.
Los atributos añaden información adicional a las etiquetas HTML.
GET o POST.<a>._blank.Las meta etiquetas en el <head> ayudan a definir información importante para el navegador y los motores de búsqueda.
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Descripción breve de la página">
<meta name="keywords" content="HTML, CSS, JavaScript, desarrollo web">
<meta name="author" content="Nombre del autor">
El SEO (Search Engine Optimization) consiste en hacer que una página sea fácil de encontrar y entender por buscadores. Los elementos importantes son:
<h1> a <h6>.alt en imágenes.CSS se vincula en el <head> con <link>. JavaScript se puede insertar dentro del HTML con <script> o cargarse desde un archivo externo.
<!-- Enlazar CSS -->
<link rel="stylesheet" href="styles.css">
<!-- Inyectar JavaScript al final del body -->
<script src="script.js"></script>
También se puede cargar un script en el <head> usando defer o async para controlar el orden de carga y la ejecución.
<script src="script.js" defer></script>
<script src="script.js" async></script>
Si la página necesita que el JavaScript se ejecute después de cargar el HTML, usar defer es una buena práctica.
También es posible escribir JavaScript directamente en el HTML:
<script>
console.log('Hola desde el HTML');
</script>
Para cargar librerías externas, se usan etiquetas <script src="..."> o gestores de paquetes en proyectos más complejos.
Una librería es código reutilizable que resuelve problemas comunes. Una dependencia es cualquier librería o paquete que tu proyecto necesita para funcionar.
Ejemplos de librerías útiles en JavaScript:
En proyectos modernos, las dependencias se administran con herramientas como npm o yarn.
Las gráficas se suelen dibujar usando librerías que usan <canvas> o SVG. El HTML contiene el contenedor y JavaScript crea los datos y dibuja la gráfica.
<canvas id="grafica" width="400" height="200"></canvas>
<script>
const ctx = document.getElementById('grafica').getContext('2d');
new Chart(ctx, {
type: 'bar',
data: {
labels: ['Enero', 'Febrero', 'Marzo'],
datasets: [{ label: 'Ventas', data: [10, 20, 15], backgroundColor: '#2563eb' }]
}
});
</script>
El HTML ofrece el lienzo, el JavaScript define los datos y la librería los pinta con formas, colores y ejes.
Una API (Application Programming Interface) es una forma estandarizada de pedir datos o servicios a otra aplicación o servidor.
En web, una API normalmente responde con JSON y puede ser consultada con fetch() o herramientas similares.
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data));
SEO significa Search Engine Optimization. Es la práctica de hacer que una página sea fácil de entender y relevante para los motores de búsqueda.
Las páginas con buen SEO tienen:
Los formularios permiten captar información del usuario: nombres, correos, contraseñas, opciones, archivos y mensajes. Son fundamentales para contacto, registro, encuestas y pedidos.
<form>
<label for="nombre">Nombre</label>
<input type="text" id="nombre" name="nombre">
</form>
textemailpasswordnumberteldatetimecolorcheckboxradiofilesubmitresetbuttonhiddensearchurlrangemonthweekdatetime-localLa etiqueta <img> se usa para mostrar imágenes en una página. Es una etiqueta vacía, lo que significa que no tiene contenido interno.
<img src="foto.jpg" alt="Descripción de la imagen" width="600" height="400">
El atributo src indica la ruta al archivo de imagen. alt describe la imagen para accesibilidad y SEO.
<picture> y srcsetEl elemento <picture> permite ofrecer diferentes versiones de una imagen según el tamaño del dispositivo o el formato soportado.
<picture>
<source srcset="imagen-800.webp" type="image/webp" media="(min-width: 800px)">
<source srcset="imagen-400.webp" type="image/webp" media="(max-width: 799px)">
<img src="imagen.jpg" alt="Ejemplo moderno" loading="lazy" decoding="async" width="800" height="450">
</picture>
El navegador elige la mejor fuente compatible y puede cargar la imagen de forma diferida con loading="lazy".
También puedes usar srcset con densidades de pantalla para escoger imágenes de mayor resolución en pantallas retina:
<img src="foto-1x.jpg" srcset="foto-1x.jpg 1x, foto-2x.jpg 2x" alt="Foto retina" loading="lazy">
Así se mejora la calidad en dispositivos de alta densidad sin cargar imágenes pesadas en pantallas normales.
<figure> y <figcaption> <figure> agrupa contenido multimedia y <figcaption> añade una leyenda semántica. Esto es ideal para imágenes, gráficos y videos que necesitan contexto.
<figure>
<img src="paisaje.webp" alt="Paisaje montañoso" width="800" height="450" loading="lazy">
<figcaption>Vista de un paisaje montañoso al amanecer.</figcaption>
</figure>
La leyenda ayuda a la accesibilidad y a que los motores de búsqueda entiendan mejor el contenido.
La etiqueta <video> permite reproducir archivos de video directamente en el navegador. Se puede usar con controles y fuentes alternativas.
<video controls width="640" height="360" poster="miniatura.jpg" playsinline>
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
Tu navegador no soporta el elemento <video>.
</video>
Usar varias <source> con distintos formatos ayuda a garantizar compatibilidad entre navegadores.
Agregar playsinline es útil en móviles para reproducir video dentro de la página sin pasar a pantalla completa automáticamente.
Siempre agrega alt en imágenes y un texto alternativo de video si es necesario. Para videos es buena idea usar poster y controles de reproducción.
Usa imágenes ligeras y formatos modernos para mejorar la velocidad de carga y la experiencia del usuario.
La semántica ayuda a dar sentido real al contenido. Usar <header>,
<nav>, <main>, <section>,
<article>, <aside> y <footer>
mejora mucho la organización del sitio.
El SEO busca que el contenido sea entendido mejor por los motores de búsqueda. Para ello conviene usar títulos claros, descripciones, encabezados jerárquicos, enlaces útiles y textos alternativos en imágenes.
Una web accesible es una web más inclusiva. Esto incluye etiquetas bien usadas, textos claros, contraste correcto, formularios con etiquetas y contenido que se pueda navegar con teclado.
El DOM es la representación estructural del documento en memoria. Cada etiqueta se convierte en un nodo, y esos nodos forman un árbol que el navegador puede leer, modificar y mostrar.
<body>
<h1>Hola</h1>
<p>Mundo</p>
</body>
Cuando el navegador recibe el código, lo interpreta, construye el DOM, aplica estilos y muestra el resultado en pantalla. HTML aporta estructura, CSS aporta diseño y JavaScript aporta interacción.
Estos recursos ayudan a aprender HTML, CSS, JavaScript, SEO, accesibilidad y buenas prácticas de desarrollo web.
core.json.HTML define la estructura del contenido. CSS define la presentación y el diseño. JavaScript agrega comportamiento e interacción. Por esa razón, estos tres trabajan juntos para construir experiencias web completas.