Curso de programación con HTML
HTML, el lenguaje de marcado básico para crear y estructurar páginas web. Domina los fundamentos del diseño web con HTML.
HTML (HyperText Markup Language) es el lenguaje de marcado estándar utilizado para crear y estructurar el contenido en la web. Es la base de todas las páginas web y define la estructura y el significado de los elementos que aparecen en ellas.
¿Qué es HTML?
HTML es un lenguaje de marcado que utiliza etiquetas para definir la estructura y el contenido de un documento web. Estas etiquetas indican al navegador cómo debe mostrar y organizar el contenido, permitiendo incluir texto, imágenes, enlaces, tablas, formularios y otros elementos multimedia.
Estructura básica de un documento HTML
Un documento HTML típico tiene la siguiente estructura:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Título de la página</title>
</head>
<body>
<!-- Contenido de la página -->
</body>
</html>
<!DOCTYPE html>
: Indica al navegador que el documento utiliza HTML5.<html>
: Etiqueta raíz que engloba todo el contenido de la página.<head>
: Contiene metadatos, como el título y enlaces a estilos o scripts.<body>
: Contiene el contenido visible de la página.
Etiquetas y elementos esenciales
Encabezados
Definen títulos y subtítulos, desde <h1>
(más importante) hasta <h6>
(menos importante).
<h1>Título principal</h1>
<h2>Subtítulo</h2>
Párrafos
La etiqueta <p>
define un párrafo de texto.
<p>Este es un párrafo de ejemplo en HTML.</p>
Enlaces
Se crean con la etiqueta <a>
y el atributo href
.
<a href="https://www.ejemplo.com">Visitar Ejemplo</a>
Imágenes
Para insertar imágenes, se utiliza la etiqueta <img>
con el atributo src
.
<img src="imagen.jpg" alt="Descripción de la imagen">
Listas
Lista no ordenada
Utiliza <ul>
para la lista y <li>
para cada elemento.
<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
</ul>
Lista ordenada
Usa <ol>
en lugar de <ul>
.
<ol>
<li>Primer elemento</li>
<li>Segundo elemento</li>
</ol>
Tablas
Definen datos en formato de filas y columnas.
<table>
<tr>
<th>Nombre</th>
<th>Edad</th>
</tr>
<tr>
<td>Ana</td>
<td>28</td>
</tr>
<tr>
<td>Luis</td>
<td>35</td>
</tr>
</table>
Formularios
Permiten recopilar información del usuario.
<form action="/enviar" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre">
<input type="submit" value="Enviar">
</form>
Atributos globales
Los atributos proporcionan información adicional a las etiquetas.
id
: Identificador único del elemento.class
: Clase para aplicar estilos CSS.style
: Estilos en línea para el elemento.title
: Texto emergente al pasar el cursor.
Ejemplo:
<p id="parrafo1" class="texto-destacado" style="color: blue;" title="Información adicional">
Este es un párrafo con atributos.
</p>
Etiquetas semánticas
Mejoran la estructura y accesibilidad del documento.
<header>
: Encabezado de la página o sección.<nav>
: Contiene enlaces de navegación.<main>
: Contenido principal.<section>
: Sección temática del contenido.<article>
: Contenido independiente.<aside>
: Contenido relacionado.<footer>
: Pie de página.
Ejemplo:
<header>
<h1>Mi Sitio Web</h1>
</header>
<nav>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#servicios">Servicios</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
<main>
<section id="inicio">
<h2>Bienvenido</h2>
<p>Contenido de la sección de inicio.</p>
</section>
</main>
<footer>
<p>© 2023 Mi Sitio Web</p>
</footer>
Multimedia y gráficos
Audio
Insertar archivos de audio con <audio>
.
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
Tu navegador no soporta el elemento de audio.
</audio>
Video
Usar <video>
para reproducir videos.
<video width="320" height="240" controls>
<source src="video.mp4" type="video/mp4">
Tu navegador no soporta el elemento de video.
</video>
Canvas y SVG
<canvas>
: Dibujo de gráficos mediante scripts.<svg>
: Gráficos vectoriales escalables.
Ejemplo de canvas:
<canvas id="miCanvas" width="200" height="100"></canvas>
Enlaces a CSS y JavaScript
Vincular hojas de estilo CSS
En el <head>
del documento:
<link rel="stylesheet" href="estilos.css">
Incluir scripts JavaScript
Al final del <body>
o en el <head>
:
<script src="script.js"></script>
Metadatos y SEO
Los metadatos proporcionan información adicional sobre el documento.
<meta name="description" content="Descripción de la página para SEO">
<meta name="keywords" content="HTML, CSS, JavaScript">
<meta name="author" content="Tu Nombre">
Buenas prácticas en HTML
- Validar el código: Utilizar herramientas como el validador W3C.
- Usar etiquetas semánticas: Mejora la accesibilidad y SEO.
- Optimizar imágenes: Reducir el tamaño para mejorar la carga.
- Especificar atributos
alt
: Importante para lectores de pantalla y SEO. - Estructurar el contenido: Utilizar una jerarquía lógica con encabezados.
Recursos adicionales
- Documentación: MDN Web Docs
- Validación: W3C Markup Validation Service
- Editores recomendados: Visual Studio Code, Sublime Text, Atom.
Ejemplo completo de una página HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Página de Ejemplo</title>
<meta name="description" content="Una página de ejemplo en HTML">
<link rel="stylesheet" href="estilos.css">
</head>
<body>
<header>
<h1>Página de Ejemplo</h1>
</header>
<nav>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#sobre-mi">Sobre Mí</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</nav>
<main>
<section id="inicio">
<h2>Bienvenido</h2>
<p>Este es un ejemplo de una página HTML básica.</p>
<img src="imagen.jpg" alt="Descripción de la imagen">
</section>
<section id="sobre-mi">
<h2>Sobre Mí</h2>
<p>Información sobre el autor o el propósito del sitio.</p>
</section>
<section id="contacto">
<h2>Contacto</h2>
<form action="/enviar" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" required>
<label for="email">Correo Electrónico:</label>
<input type="email" id="email" name="email" required>
<input type="submit" value="Enviar">
</form>
</section>
</main>
<footer>
<p>© 2024 CertiDevs</p>
</footer>
<script src="script.js"></script>
</body>
</html>
Tutoriales de HTML
Aprende HTML con tutoriales de programación en HTML.
Introducción A Html
Introducción Y Entorno
Doctype
Sintaxis Y Estructura
Elementos Y Etiquetas
Sintaxis Y Estructura
Atributos
Sintaxis Y Estructura
Anidación De Etiquetas
Sintaxis Y Estructura
Comentarios
Sintaxis Y Estructura
Encabezados (H1-h6)
Textos Y Enlaces
Enlace (A)
Textos Y Enlaces
Párrafo (P)
Textos Y Enlaces
Listas (Ul, Ol, Li)
Textos Y Enlaces
Imagen (Img)
Textos Y Enlaces
División (Div)
Organización De Contenido
Etiquetas Semánticas (Article, Section, Header, Footer, Nav, Aside)
Organización De Contenido
Tablas (Table, Tr, Td, Th)
Organización De Contenido
Formularios (Form, Input, Select, Textarea, Button)
Organización De Contenido
Imágenes Vectoriales (Svg)
Elementos Multimedia
Incrustación De Contenido (Iframe)
Elementos Multimedia
Audio (Audio)
Elementos Multimedia
Video (Video)
Elementos Multimedia
Estilo Incorporado (Style)
Metadatos Y Seo
Metadatos (Meta, Title, Link)
Metadatos Y Seo
Atributos De Aria
Metadatos Y Seo
Navegación Por Teclado
Metadatos Y Seo
Contraste Y Legibilidad
Optimización Html
Validación De Html
Optimización Html
Compatibilidad Con Navegadores
Optimización Html
Optimización De La Carga De La Página (Lazy Loading)
Optimización Html
Ejercicios de programación de HTML
Evalúa tus conocimientos en HTML con ejercicios de programación HTML de tipo Test, Puzzle, Código y Proyecto con VSCode.
Reto etiquetas semánticas HTML
Divisiones
Reto atributos ARIA en HTML
Reto trabajar con imágenes en HTML
Formularios
Encabezados
Reto metadatos en HTML
Validación de HTML
Navegación por teclado
Párrafos
Uso de DOCTYPE
Etiquetas semánticas
Contraste y legibilidad
Atributos
Reto formatear texto en HTML
Reto crear listas HTML
Metadatos
Comentarios
Incrustación de contenido (iframe)
Uso de elementos y etiquetas
Audio
Proyecto crear páginas HTML
Enlace
Video
Imágenes
DOCTYPE
Compatibilidad con navegadores
Reto crear tablas HTML
Introducción a HTML
Imágenes vectoriales
Anidación de etiquetas
Reto Validación HTML
Optimización de la carga de la página (Lazy loading)
Listas
Estilos
Reto de enlaces HTML
Atributos de ARIA
Reto geolocalización en HTML
Tablas
Reto LocalStorage en HTML
Uso de atributos
Elementos y etiquetas
Tipo de tecnología
Lenguaje
Categoría laboral
Frontend
Año de lanzamiento
1991
Developers
W3C y IETF
Todos los módulos del curso de HTML
HTML
Introducción y entorno
HTML
Sintaxis y estructura
HTML
Textos y enlaces
HTML
Organización de contenido
HTML
Elementos multimedia
HTML
Formularios HTML
HTML
Metadatos y SEO
HTML
Accesibilidad web
HTML
APIs de HTML5
HTML
Optimización HTML
HTML
Estilos CSS en HTML
Otras tecnologías
Rust
Rust
Backend
Lenguaje de programación de sistemas enfocado en seguridad, concurrencia y rendimiento.
C
C
Backend
Lenguaje de propósito general, eficiente y de bajo nivel.
R
R
Ciencia de Datos e IA
Lenguaje para análisis estadístico, manipulación de datos y visualización gráfica.
TypeScript
TypeScript
Full Stack
Superconjunto de JavaScript con tipado estático.
PySpark
PySpark
Big Data
Motor unificado de análisis de datos distribuido para grandes volúmenes.
Go
Go
Backend
Lenguaje de programación eficiente y concurrente creado por Google.
Django
Django
Backend
Framework web Python para desarrollo rápido y seguro.
SpringBoot
SpringBoot
Backend
Framework para desarrollo rápido de aplicaciones Java.
Laravel
Laravel
Backend
Framework de PHP para desarrollo web backend.
Node
Node
Backend
Node.js es un entorno de ejecución de JavaScript basado en el motor V8 de Google.
Java
Java
Backend
Lenguaje de programación versátil y multiplataforma.
OpenCV
OpenCV
Ciencia de Datos e IA
Biblioteca de Python para Computer Vision en imágenes y vídeos.
Flask
Flask
Backend
Microframework web para Python, simple y flexible.
Nest
Nest
Backend
Framework Node.js para crear aplicaciones escalables y eficientes.
Selenium
Selenium
Testing / QA
Suite de herramientas open-source para automatizar navegadores web y pruebas de software de interfaz de usuario.
React
React
Frontend
Librería framework para frontend interfaces de usuario.
Vuejs
Vuejs
Frontend
Framework de JS progresivo para construir interfaces de usuario reactivas y modulares.
Docker
Docker
DevOps
Plataforma de contenedores para aplicaciones portátiles.
PHP
PHP
Backend
Lenguaje de programación para desarrollo web del lado del servidor, el motor del ecosistema Wordpress.
CSharp
CSharp
Backend
Lenguaje C# de Microsoft para desarrollo en el ecosistema .NET para todo tipo de aplicaciones.
Streamlit
Streamlit
Ciencia de Datos e IA
Biblioteca Python para prototipado web UI rápido en ciencia de datos.
Seaborn
Seaborn
Ciencia de Datos e IA
Biblioteca de visualización de datos para Python.
SQL
SQL
Bases de datos
Lenguaje para gestionar bases de datos relacionales.
FastAPI
FastAPI
Backend
Framework web moderno y rápido para Python.
Fundamentos
Fundamentos
Full Stack
Fundamentos y bases de la programación de software moderna.
TensorFlow
TensorFlow
Ciencia de Datos e IA
Biblioteca Python para redes neuronales en Deep Learning
TailwindCSS
TailwindCSS
Frontend
Framework de utilidades CSS para diseños rápidos y personalizables.
Git
Git
DevOps
Sistema de control de versiones distribuido.
ScikitLearn
ScikitLearn
Ciencia de Datos e IA
Biblioteca de aprendizaje automático en Python.
Kotlin
Kotlin
Backend
Lenguaje de programación moderno y seguro para aplicaciones Android.
Numpy
Numpy
Ciencia de Datos e IA
Biblioteca Python para computación científica y matrices.
Bash
Bash
Administración de sistemas
Intérprete de comandos para sistemas Unix y Linux.
Bootstrap
Bootstrap
Frontend
Framework CSS para diseños web responsive y modernos.
Matplotlib
Matplotlib
Ciencia de Datos e IA
Biblioteca Python para crear gráficos y visualizaciones.
Hibernate
Hibernate
Backend
ORM para Java, simplifica el acceso a bases de datos.
Pandas
Pandas
Ciencia de Datos e IA
Herramienta Python para análisis y manipulación de datos.
JavaScript
JavaScript
Full Stack
Lenguaje de scripting para desarrollo web interactivo.
Angular
Angular
Frontend
Framework web de Google para aplicaciones dinámicas.
CSS
CSS
Frontend
Lenguaje de estilo para diseñar páginas web atractivas.
Python
Python
Backend
Lenguaje de programación fácil de aprender y versátil.