HTML y CSS para principiantes: guía desde cero
Cómo crear la estructura de una página con HTML, darle diseño con CSS, organizar elementos, utilizar Flexbox y adaptar el contenido a celulares.
Contenido de la guía
HTML y CSS son las dos tecnologías fundamentales para construir páginas web. HTML crea la estructura y CSS controla la presentación visual.
Al trabajar juntas permiten crear sitios organizados, atractivos y adaptables a computadoras, tabletas y teléfonos.
¿Qué son HTML y CSS?
Organiza el contenido mediante títulos, párrafos, imágenes, enlaces, botones y secciones.
Controla colores, tamaños, espacios, posiciones, sombras, bordes y adaptación a pantallas.
HTML es la estructura de una casa. CSS representa la pintura, la decoración y la distribución visual.
Puedes ampliar este tema en: ¿Por qué aprender HTML y CSS?
Estructura básica de un documento HTML
Una página HTML comienza con una estructura que informa al navegador cómo debe interpretar el documento.
<!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>
DOCTYPE
Indica que el documento utiliza HTML moderno.
<!DOCTYPE html>
Elemento html
Contiene todo el documento.
<html lang="es">
Elemento head
Guarda información que normalmente no aparece dentro del contenido visible, como el título, los metadatos y los archivos CSS.
Elemento body
Contiene todos los elementos que se muestran dentro de la página.
Continúa con: ¿Qué es una página web?
Etiquetas principales de HTML
Títulos
HTML incluye títulos desde h1 hasta
h6.
<h1>Título principal</h1>
<h2>Título de sección</h2>
<h3>Subtema</h3>
El título principal debe describir claramente el contenido más importante de la página.
Párrafos
<p>
Este es un párrafo de ejemplo.
</p>
Texto importante
<strong>Texto importante</strong>
Listas
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
Botones
<button type="button">
Presiona aquí
</button>
¿Qué es HTML semántico?
HTML semántico utiliza etiquetas que explican la función del contenido.
Representa el encabezado de una página o sección.
Contiene enlaces de navegación.
Contiene el contenido principal.
Agrupa contenido relacionado.
Representa contenido independiente.
Representa el pie de página.
<header>
<nav>
<a href="#inicio">Inicio</a>
</nav>
</header>
<main>
<section>
<h1>Bienvenido</h1>
<p>
Aprende desarrollo web.
</p>
</section>
</main>
<footer>
<p>Mi página web</p>
</footer>
Enlaces e imágenes
Crear un enlace
<a href="https://example.com">
Visitar página
</a>
Crear un enlace interno
<a href="contacto.html">
Contacto
</a>
Agregar una imagen
<img
src="images/pagina-web.jpg"
alt="Computadora mostrando una página web"
>
El atributo alt debe explicar el
contenido o la función de una imagen importante.
Formularios HTML
Los formularios permiten recibir información del usuario.
<form>
<label for="nombre">
Nombre
</label>
<input
type="text"
id="nombre"
name="nombre"
required
>
<label for="correo">
Correo
</label>
<input
type="email"
id="correo"
name="correo"
required
>
<button type="submit">
Enviar
</button>
</form>
Algunos tipos de entrada son:
text: texto corto.email: dirección de correo.password: contraseña.number: números.date: fecha.checkbox: selección múltiple.
Cómo conectar CSS con HTML
Crea un archivo llamado:
style.css
Después agrégalo dentro del elemento
head:
<link rel="stylesheet" href="style.css">
Si el archivo CSS está dentro de una carpeta, debes indicar correctamente su ubicación.
Selectores CSS
Un selector indica qué elementos recibirán determinados estilos.
Selector por etiqueta
p{
color:#475569;
font-size:18px;
}
Selector por clase
.tarjeta{
background:#ffffff;
padding:24px;
border-radius:16px;
}
La clase se agrega en HTML:
<div class="tarjeta">
Contenido
</div>
Selector por identificador
#contacto{
padding:80px 20px;
}
Una misma clase puede aplicarse a varios elementos.
El modelo de caja de CSS
Todos los elementos HTML pueden entenderse como cajas formadas por varias capas.
Es el contenido del elemento.
Espacio entre el contenido y el borde.
Línea que rodea la caja.
Espacio exterior entre elementos.
.tarjeta{
width:300px;
padding:24px;
margin:20px;
border:1px solid #e2e8f0;
border-radius:18px;
}
box-sizing
Esta regla ayuda a controlar el tamaño real de los elementos:
*{
box-sizing:border-box;
}
Organizar elementos con Flexbox
Flexbox permite alinear y distribuir elementos dentro de un contenedor.
.contenedor{
display:flex;
justify-content:center;
align-items:center;
gap:20px;
}
Activa Flexbox.
Controla la alineación principal.
Controla la alineación secundaria.
Crea espacio entre elementos.
Diseño responsive
Una página responsive adapta su diseño al tamaño de la pantalla.
.contenedor{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:24px;
}
@media(max-width:768px){
.contenedor{
grid-template-columns:1fr;
}
}
En pantallas grandes aparecen tres columnas. En pantallas pequeñas se muestra una sola columna.
Continúa con: ¿Qué es el diseño responsive?
Proyecto práctico: crear una tarjeta
HTML
<article class="tarjeta-curso">
<span>🌐</span>
<h2>
Desarrollo web
</h2>
<p>
Aprende HTML y CSS desde cero.
</p>
<a href="#">
Comenzar
</a>
</article>
CSS
.tarjeta-curso{
max-width:360px;
padding:30px;
background:#ffffff;
border:1px solid #e2e8f0;
border-radius:22px;
box-shadow:0 15px 40px rgba(15, 23, 42, .10);
text-align:center;
}
.tarjeta-curso span{
display:block;
margin-bottom:18px;
font-size:44px;
}
.tarjeta-curso h2{
margin-bottom:14px;
color:#1e293b;
}
.tarjeta-curso p{
margin-bottom:24px;
color:#64748b;
}
.tarjeta-curso a{
display:inline-block;
padding:12px 24px;
background:#4f46e5;
color:#ffffff;
text-decoration:none;
border-radius:999px;
font-weight:bold;
}
Cambia los textos, colores, espacios y bordes para comprender cómo afecta cada propiedad.
Errores frecuentes
- No cerrar correctamente las etiquetas.
- Escribir incorrectamente el nombre de una clase.
- Utilizar una ruta equivocada para CSS o imágenes.
- Olvidar guardar los archivos.
- Crear varios elementos h1 sin necesidad.
- No utilizar texto alternativo en imágenes.
- Usar espacios excesivos para posicionar elementos.
- No comprobar el diseño en celulares.
- Repetir estilos que podrían compartir una clase.
- Utilizar colores con poco contraste.
El CSS no aparece
Comprueba que el enlace dentro del
head tenga una ruta correcta:
<link rel="stylesheet" href="style.css">
Una imagen no aparece
Revisa el nombre, la extensión y la carpeta:
<img src="images/foto.jpg" alt="Descripción">
Ejercicios para practicar
Crea un título, descripción y lista de habilidades.
Diseña una tarjeta con icono, título, texto y botón.
Crea enlaces para Inicio, Servicios y Contacto.
Agrega campos para nombre, correo y mensaje.
Crea una cuadrícula que se adapte al celular.
Diseña una segunda combinación de colores.
También puedes descargar los ejercicios desde la sección de: guías y materiales gratuitos .
Proyecto de refuerzo: una página personal responsive
Para consolidar la guía, crea una página con encabezado, presentación, proyectos y formulario de contacto. Usa HTML semántico y adapta el diseño a pantallas pequeñas.
Requisitos mínimos
- Usar
header,main,sectionyfooter. - Aplicar modelo de caja, Flexbox o Grid.
- Incluir imágenes con texto alternativo.
- Probar a 320 px, 768 px y escritorio.
✅ Criterio de calidad
La página debe seguir siendo legible y navegable sin zoom horizontal y con una jerarquía clara de títulos.
Preguntas frecuentes
¿HTML es un lenguaje de programación?
No. HTML es un lenguaje de marcado utilizado para estructurar contenido.
¿CSS es un lenguaje de programación?
CSS es un lenguaje de estilos utilizado para definir la presentación visual.
¿Debo aprender HTML antes que CSS?
Es recomendable comprender primero la estructura básica de HTML y después aplicar estilos con CSS.
¿Necesito instalar programas especiales?
Solamente necesitas un editor de código y un navegador para comenzar.
¿Cuánto tiempo se necesita para aprender?
Las bases pueden aprenderse rápidamente, pero crear diseños profesionales requiere práctica constante.
¿Qué debo aprender después?
Después de HTML y CSS puedes aprender JavaScript para agregar interactividad.
Conclusión
HTML permite construir la estructura de una página y CSS transforma esa estructura en un diseño visual.
Aprender etiquetas, clases, modelo de caja, Flexbox y diseño responsive proporciona una base sólida para comenzar en desarrollo web.
Practica creando proyectos pequeños y mejora progresivamente su organización, accesibilidad y diseño.
ByteNova
Plataforma educativa dedicada a explicar programación, desarrollo web, inteligencia artificial y ciberseguridad de manera clara.
Conoce más sobre ByteNova →