0% encontró este documento útil (0 votos)
45 vistas17 páginas

Clases Intermedias de HTML y CSS

El documento detalla un curso de HTML y CSS de nivel intermedio, dividido en cinco clases de 90 minutos cada una. Cada clase aborda diferentes temas como la estructura de HTML, formularios, posicionamiento con CSS, Flexbox, y CSS Grid, incluyendo ejemplos de código y actividades prácticas. Se enfatizan buenas prácticas y diseño responsivo a lo largo del curso.

Cargado por

Gina Sanchez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas17 páginas

Clases Intermedias de HTML y CSS

El documento detalla un curso de HTML y CSS de nivel intermedio, dividido en cinco clases de 90 minutos cada una. Cada clase aborda diferentes temas como la estructura de HTML, formularios, posicionamiento con CSS, Flexbox, y CSS Grid, incluyendo ejemplos de código y actividades prácticas. Se enfatizan buenas prácticas y diseño responsivo a lo largo del curso.

Cargado por

Gina Sanchez
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Clase de HTML y CSS – Nivel Intermedio

Duración: 90 minutos
Nivel: Secundaria – Nivel Intermedio
Tema: Explicación técnica del código HTML + CSS

Objetivo:
Explicar en profundidad cada línea de un documento HTML simple con estilos CSS
incorporados, comprendiendo estructura, buenas prácticas y sintaxis básica.

Código HTML + CSS:


<!DOCTYPE html>
<html>
<head>
<title>Mi Perfil</title>
<style>
body { background-color: #f0f0f0; font-family: Verdana; }
h1 { color: darkgreen; }
p { font-size: 16px; }
</style>
</head>
<body>
<h1>Mi Nombre</h1>
<p>Mi comida favorita es...</p>
<p>Me gusta aprender sobre...</p>
</body>
</html>

Explicación Línea por Línea:


<!DOCTYPE html> → Define que el documento está escrito en HTML5. Mejora la
compatibilidad con los navegadores modernos.

<html> → Etiqueta raíz que encierra todo el contenido HTML.

<head> → Sección que contiene metadatos y configuraciones no visibles directamente.

<title>Mi Perfil</title> → Título de la pestaña del navegador y para motores de búsqueda.

<style>...</style> → Sección interna de CSS para aplicar estilos al HTML.

body { background-color: #f0f0f0; font-family: Verdana; } → Estilo aplicado al cuerpo:


fondo gris claro y fuente Verdana.

h1 { color: darkgreen; } → Estilo para títulos de nivel 1: color verde oscuro.


p { font-size: 16px; } → Estilo para párrafos: tamaño de letra fijo de 16 píxeles.

</head> → Cierra la cabecera del documento.

<body> → Sección visible del documento, donde va el contenido que ve el usuario.

<h1>Mi Nombre</h1> → Título principal de la página. Sólo uno por documento para fines
semánticos.

<p>Mi comida favorita es...</p> → Primer párrafo con texto personalizado por el
estudiante.

<p>Me gusta aprender sobre...</p> → Segundo párrafo personalizable.

</body> → Cierre del contenido visible.

</html> → Fin del documento HTML.

Temas adicionales para reforzar:


- Buenas prácticas: indentación, cierre de etiquetas, estructura limpia.

- Sintaxis de CSS: selectores, propiedades y valores.

- Introducción al modelo de caja (box model) para futuras clases.

Clase 2 de HTML y CSS – Nivel Intermedio


Duración: 90 minutos
Nivel: Secundaria – Nivel Intermedio
Tema: Estructura de una página web y uso de etiquetas HTML comunes

Objetivo:
Aplicar etiquetas HTML para crear contenido estructurado, como listas, enlaces, imágenes y
divisiones; introducir atributos y conceptos clave como clases y estilos.

Contenido:
- Etiquetas de contenido: <ul>, <ol>, <li>, <a>, <img>, <div>, <span>

- Atributos comunes: href, src, alt, class, id

- Introducción al uso de clases y estilos internos

- Práctica guiada con estructura semántica básica

Código de ejemplo con explicación:


<!DOCTYPE html>
<html>
<head>
<title>Mi Página Web</title>
<style>
body { font-family: Arial; background-color: #fffbe6; }
.resaltado { color: blue; font-weight: bold; }
</style>
</head>
<body>
<h1 class="resaltado">Bienvenidos a mi página</h1>
<p>Este es un párrafo con una <span class="resaltado">palabra resaltada</span>.</p>
<a href="[Link] a Google</a>
<ul>
<li>Elemento 1</li>
<li>Elemento 2</li>
</ul>
<img src="[Link]" alt="Descripción de la imagen" width="200">
</body>
</html>

Explicación de nuevas etiquetas:


<ul> → Crea una lista desordenada (con viñetas).

<ol> → Crea una lista ordenada (numerada).

<li> → Define cada ítem dentro de una lista.

<a href='...'> → Crea un enlace a otra página web.

<img src='...'> → Inserta una imagen desde una URL o archivo local.

alt → Texto alternativo para describir la imagen.

<div> → Contenedor genérico para agrupar contenido.

<span> → Contenedor en línea, usado para aplicar estilos.

class → Atributo que asocia un elemento con un estilo CSS.

Actividad práctica sugerida:


Los estudiantes deben crear una página con:

- Un título principal

- Una lista de sus pasatiempos o intereses

- Un enlace a su sitio web favorito


- Una imagen relacionada con sus intereses

- Uso de al menos una clase CSS para aplicar estilo

Clase 3 de HTML y CSS – Nivel Intermedio

Duración: 90 minutos
Nivel: Secundaria – Intermedio
Tema: Formularios HTML y diseño básico responsivo con CSS

Objetivo:

Comprender cómo crear formularios básicos en HTML, manejar sus elementos y aplicar
principios básicos de diseño responsivo con CSS.

Contenido:

 Formularios en HTML: <form>, <input>, <label>, <textarea>, <select>,


<button>
 Atributos comunes: type, name, value, placeholder, required
 Introducción al diseño responsivo: uso de % y media queries
 Práctica guiada: Crear un formulario de contacto

Código de ejemplo:
html
CopiarEditar
<!DOCTYPE html>
<html>
<head>
<title>Formulario de Contacto</title>
<style>
body { font-family: sans-serif; padding: 20px; }
form { max-width: 500px; margin: auto; }
input, textarea, select { width: 100%; margin-bottom: 10px;
padding: 8px; }
@media (max-width: 600px) {
body { background-color: #f0f8ff; }
}
</style>
</head>
<body>
<h2>Contáctanos</h2>
<form>
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" required>

<label for="correo">Correo electrónico:</label>


<input type="email" id="correo" name="correo" required>

<label for="mensaje">Mensaje:</label>
<textarea id="mensaje" name="mensaje"></textarea>

<label for="opcion">Motivo de contacto:</label>


<select id="opcion" name="opcion">
<option value="consulta">Consulta</option>
<option value="sugerencia">Sugerencia</option>
</select>

<button type="submit">Enviar</button>
</form>
</body>
</html>

Explicación de etiquetas y conceptos nuevos:

 <form> → Define el formulario.


 <input> → Campo para ingresar datos (texto, correo, etc.).
 <label> → Describe el propósito de un campo.
 <textarea> → Área de texto más grande para mensajes.
 <select> y <option> → Lista desplegable de opciones.
 <button type="submit"> → Botón para enviar el formulario.
 required → Hace obligatorio el campo antes de enviar.
 @media (max-width: 600px) → Aplica estilos solo si la pantalla tiene máximo
600px de ancho (para celulares).

Actividad práctica sugerida:

Los estudiantes deben crear una página web que incluya:

 Un formulario de contacto con:


o Nombre
o Correo electrónico
o Mensaje
o Motivo de contacto (select)
 Estilos responsivos (que cambien color o tipografía en pantallas pequeñas)
 Buenas prácticas: indentación clara, etiquetas cerradas, uso de clases
Clase 4 de HTML y CSS – Nivel Intermedio

Duración: 90 minutos
Tema: Posicionamiento en CSS y uso de Flexbox

Objetivo:

Aprender a posicionar elementos en una página web utilizando propiedades CSS como
position, display y especialmente el sistema Flexbox para diseño adaptable.

Contenido:

 Propiedades de posicionamiento: static, relative, absolute, fixed


 Uso de display: flex
 Propiedades de Flexbox: justify-content, align-items, flex-direction
 Diseño de cajas adaptable y centrado de elementos

Código de ejemplo:
html
CopiarEditar
<!DOCTYPE html>
<html>
<head>
<title>Diseño con Flexbox</title>
<style>
body { font-family: Arial; margin: 0; padding: 0; }
.contenedor {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f2f2f2;
}
.caja {
width: 200px;
height: 200px;
margin: 10px;
background-color: lightcoral;
display: flex;
justify-content: center;
align-items: center;
color: white;
font-size: 20px;
}
</style>
</head>
<body>
<div class="contenedor">
<div class="caja">Caja 1</div>
<div class="caja">Caja 2</div>
</div>
</body>
</html>

Explicación de propiedades nuevas:

 display: flex → Convierte un contenedor en flexible, para organizar elementos


hijos.
 justify-content: center → Centra los elementos horizontalmente.
 align-items: center → Centra los elementos verticalmente.
 height: 100vh → Altura del 100% de la pantalla.
 margin → Espaciado exterior entre elementos.
 position → Controla cómo se ubica el elemento en la página.
 relative / absolute → Permiten posicionar elementos de forma específica.

Actividad práctica sugerida:

Los estudiantes deben:

 Crear una sección con tres bloques alineados horizontalmente usando Flexbox
 Centrar los bloques en la pantalla
 Personalizar colores, texto y tamaños
 Agregar un diseño responsivo con @media para que los bloques se alineen
verticalmente en pantallas pequeñas

Clase 5 de HTML y CSS – Nivel Intermedio

Duración: 90 minutos
Tema: CSS Grid y animaciones básicas

Objetivo:

Aprender a usar CSS Grid para crear diseños de cuadrícula modernos y aplicar
animaciones básicas con @keyframes y transition.
Contenido:

 Introducción a CSS Grid: display: grid, grid-template-columns, gap, grid-


area
 Diferencias entre Flexbox y Grid
 Animaciones CSS: @keyframes, animation, transition
 Aplicación práctica: crear una galería de imágenes animada

Código de ejemplo – CSS Grid + Animación:


html
CopiarEditar
<!DOCTYPE html>
<html>
<head>
<title>Galería con Grid y Animación</title>
<style>
.galeria {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
padding: 20px;
}

.imagen {
background-color: lightblue;
height: 150px;
display: flex;
justify-content: center;
align-items: center;
font-size: 20px;
color: white;
transition: transform 0.5s ease;
}

.imagen:hover {
transform: scale(1.1);
animation: cambiarColor 1s infinite alternate;
}

@keyframes cambiarColor {
0% { background-color: lightblue; }
100% { background-color: deepskyblue; }
}

@media (max-width: 600px) {


.galeria {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<h2 style="text-align:center;">Mi Galería</h2>
<div class="galeria">
<div class="imagen">1</div>
<div class="imagen">2</div>
<div class="imagen">3</div>
<div class="imagen">4</div>
<div class="imagen">5</div>
<div class="imagen">6</div>
</div>
</body>
</html>

Explicación de conceptos clave:

 display: grid → Activa el sistema de cuadrícula en el contenedor.


 grid-template-columns: repeat(3, 1fr) → Divide el contenedor en 3
columnas iguales.
 gap: 15px → Espaciado entre filas y columnas.
 transition: transform 0.5s → Suaviza el efecto al hacer hover.
 @keyframes → Define animaciones personalizadas (en este caso, cambio de
color).
 transform: scale(1.1) → Agranda el elemento al pasar el mouse.
 @media (max-width: 600px) → Hace que el grid sea de 1 sola columna en
pantallas pequeñas.

Actividad práctica sugerida:

Pide a los estudiantes:

 Crear una galería de imágenes o bloques de contenido usando Grid


 Aplicar una animación al pasar el cursor (color, tamaño o rotación)
 Hacerla responsiva con media queries
 Personalizar colores, tamaños y número de columnas

Clase 5 de HTML y CSS – Nivel Intermedio

Duración: 90 minutos
Tema: CSS Grid y animaciones básicas
Objetivo:

Aprender a usar CSS Grid para crear diseños de cuadrícula modernos y aplicar
animaciones básicas con @keyframes y transition.

Contenido:

 Introducción a CSS Grid: display: grid, grid-template-columns, gap, grid-


area
 Diferencias entre Flexbox y Grid
 Animaciones CSS: @keyframes, animation, transition
 Aplicación práctica: crear una galería de imágenes animada

Código de ejemplo – CSS Grid + Animación:


html
CopiarEditar
<!DOCTYPE html>
<html>
<head>
<title>Galería con Grid y Animación</title>
<style>
.galeria {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
padding: 20px;
}

.imagen {
background-color: lightblue;
height: 150px;
display: flex;
justify-content: center;
align-items: center;
font-size: 20px;
color: white;
transition: transform 0.5s ease;
}

.imagen:hover {
transform: scale(1.1);
animation: cambiarColor 1s infinite alternate;
}

@keyframes cambiarColor {
0% { background-color: lightblue; }
100% { background-color: deepskyblue; }
}
@media (max-width: 600px) {
.galeria {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<h2 style="text-align:center;">Mi Galería</h2>
<div class="galeria">
<div class="imagen">1</div>
<div class="imagen">2</div>
<div class="imagen">3</div>
<div class="imagen">4</div>
<div class="imagen">5</div>
<div class="imagen">6</div>
</div>
</body>
</html>

Explicación de conceptos clave:

 display: grid → Activa el sistema de cuadrícula en el contenedor.


 grid-template-columns: repeat(3, 1fr) → Divide el contenedor en 3
columnas iguales.
 gap: 15px → Espaciado entre filas y columnas.
 transition: transform 0.5s → Suaviza el efecto al hacer hover.
 @keyframes → Define animaciones personalizadas (en este caso, cambio de
color).
 transform: scale(1.1) → Agranda el elemento al pasar el mouse.
 @media (max-width: 600px) → Hace que el grid sea de 1 sola columna en
pantallas pequeñas.

Actividad práctica sugerida:

Pide a los estudiantes:

 Crear una galería de imágenes o bloques de contenido usando Grid


 Aplicar una animación al pasar el cursor (color, tamaño o rotación)
 Hacerla responsiva con media queries
 Personalizar colores, tamaños y número de columnas

¿Quieres que la Clase 6 se enfoque en formularios avanzados con validación o en


integración de HTML y CSS con JavaScript básico?
4o

Dijiste:
si

ChatGPT dijo:

¡Genial! Vamos con la Clase 6 de HTML y CSS – Nivel Intermedio, enfocada en


integración básica con JavaScript para hacer formularios interactivos y dinámicos.
Diseñada para 90 minutos.

Clase 6 de HTML, CSS y JavaScript – Introducción a la interacción

Duración: 90 minutos
Tema: Validación básica y manipulación de formularios con JavaScript

Objetivo:

Introducir a los estudiantes al uso de JavaScript para validar formularios, mostrar


mensajes interactivos y modificar contenido de la página en respuesta a eventos del
usuario.

Contenido:

 ¿Qué es JavaScript y cómo se conecta a HTML?


 Validar campos de formulario (por ejemplo, verificar si están vacíos)
 Mostrar alertas, mensajes personalizados o cambiar estilos
 Eventos comunes: onclick, oninput, onsubmit

Código de ejemplo – HTML, CSS y JavaScript:


html
CopiarEditar
<!DOCTYPE html>
<html>
<head>
<title>Formulario con Validación</title>
<style>
body { font-family: Arial; padding: 20px; }
.error { color: red; display: none; }
input { display: block; margin-bottom: 10px; padding: 8px; width:
300px; }
</style>
</head>
<body>

<h2>Formulario de Registro</h2>
<form id="miFormulario">
<label>Nombre:</label>
<input type="text" id="nombre">
<span class="error" id="errorNombre">Este campo es
obligatorio</span>

<label>Email:</label>
<input type="email" id="email">
<span class="error" id="errorEmail">Ingrese un correo válido</span>

<button type="submit">Enviar</button>
</form>

<script>
[Link]("miFormulario").addEventListener("submit",
function(event) {
[Link](); // Evita que el formulario se envíe
automáticamente

var nombre = [Link]("nombre").value;


var email = [Link]("email").value;
var error = false;

// Validación del nombre


if ([Link]() === "") {
[Link]("errorNombre").[Link] = "block";
error = true;
} else {
[Link]("errorNombre").[Link] = "none";
}

// Validación básica del email


if (![Link]("@")) {
[Link]("errorEmail").[Link] = "block";
error = true;
} else {
[Link]("errorEmail").[Link] = "none";
}

if (!error) {
alert("Formulario enviado correctamente 🎉");
// Aquí podrías limpiar el formulario o enviarlo
}
});
</script>

</body>
</html>
Explicación de elementos clave:

 <script> → Inserta código JavaScript dentro del HTML.


 addEventListener("submit", ...) → Ejecuta una función cuando se envía el
formulario.
 [Link]() → Evita que el formulario se recargue al enviarse.
 trim() → Elimina espacios al inicio y al final del texto.
 [Link] = "block" / "none" → Muestra u oculta elementos.
 alert() → Muestra una ventana emergente.

Actividad práctica sugerida:

 Crear un formulario con al menos 3 campos (nombre, correo, mensaje).


 Mostrar mensajes de error si algún campo está vacío o el correo no es válido.
 Al completar correctamente, mostrar un mensaje de confirmación con alert.
 Como reto: cambiar el color del borde del campo cuando hay un error.

Clase 7 de HTML, CSS y JavaScript – Nivel Intermedio

Duración: 90 minutos
Tema: Manejo avanzado de eventos y manipulación del DOM

Objetivo:

Comprender cómo manejar eventos más complejos, manipular el DOM de manera


avanzada y actualizar dinámicamente el contenido de la página web utilizando
JavaScript.

Contenido:

 Eventos más avanzados: mousemove, keydown, scroll, resize, entre otros.


 Métodos para manipular el DOM:
o getElementById, getElementsByClassName, querySelector,
querySelectorAll
o createElement, appendChild, removeChild, innerHTML
 Eventos dinámicos: Delegación de eventos.
 Animaciones básicas con JavaScript: Modificar propiedades como style.
Código de ejemplo – Manejo avanzado de eventos y DOM:
html
CopiarEditar
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Eventos Avanzados y Manipulación del DOM</title>
<style>
body {
font-family: Arial, sans-serif;
}
.cuadro {
width: 100px;
height: 100px;
background-color: lightcoral;
margin: 20px;
display: inline-block;
transition: transform 0.3s;
}
.activo {
background-color: lightgreen;
transform: rotate(45deg);
}
</style>
</head>
<body>

<h1>Eventos Avanzados y Manipulación del DOM</h1>

<div class="cuadro"></div>
<div class="cuadro"></div>
<div class="cuadro"></div>

<script>
// Selección de elementos
const cuadros = [Link]('.cuadro');

// Manejo de evento 'click' en los cuadros


[Link](cuadro => {
[Link]('click', () => {
[Link]('activo');
});
});

// Evento 'mousemove' para cambiar el color de fondo al mover el


mouse
[Link]('mousemove', (event) => {
[Link] = `rgb(${[Link] % 255},
${[Link] % 255}, 150)`;
});

// Evento 'scroll' para mostrar un mensaje en la consola cuando el


usuario se desplaza
[Link]('scroll', () => {
[Link]('¡Estás desplazándote!');
});

// Evento 'keydown' para capturar una tecla presionada


[Link]('keydown', (event) => {
[Link](`Tecla presionada: ${[Link]}`);
});

// Manipulación del DOM: Crear un nuevo elemento


const nuevoElemento = [Link]('div');
[Link] = 'Soy un nuevo cuadro';
[Link] = '150px';
[Link] = '150px';
[Link] = 'lightblue';
[Link] = '20px';
[Link](nuevoElemento);

</script>

</body>
</html>

Explicación de conceptos clave:

 Eventos más avanzados:


o mousemove: Detecta el movimiento del mouse sobre la pantalla.
o keydown: Detecta cuando una tecla del teclado es presionada.
o scroll: Detecta cuando el usuario se desplaza hacia arriba o hacia abajo
en la página.
o resize: Detecta cuando la ventana del navegador es redimensionada.
 Manipulación del DOM:
o querySelectorAll('.cuadro'): Selecciona todos los elementos con la
clase .cuadro.
o addEventListener('click', ...): Asocia un evento a un elemento, en
este caso, un click.
o [Link]('activo'): Cambia la clase de un elemento (añadir
o quitar la clase activo).
o createElement('div'): Crea un nuevo elemento div.
o appendChild(nuevoElemento): Añade un nuevo elemento al final del
cuerpo de la página.

Actividad práctica sugerida:

 Crear una página que tenga varios cuadros de colores.


 Al hacer click en cada cuadro, este debe rotar y cambiar de color.
 Implementar un efecto dinámico de fondo que cambie según la posición del
mouse (al moverlo).
 Utilizar scroll para agregar un contador que muestre el número de veces que el
usuario ha hecho scroll.
 Permitir al usuario agregar un cuadro nuevo con un botón. El nuevo cuadro
debe tener el mismo comportamiento que los cuadros iniciales.

Conclusión:

En esta clase, los estudiantes han aprendido a manejar eventos avanzados y a modificar
el DOM con JavaScript. Estas habilidades son clave para hacer páginas web más
interactivas y dinámicas. Además, se les ha mostrado cómo crear, modificar y eliminar
elementos en el DOM mediante eventos, lo que abre la puerta a la creación de
aplicaciones web más complejas.

También podría gustarte