Ejercicios HTML Css Js Avanzados
Ejercicios HTML Css Js Avanzados
## Ejercicios Avanzados:
1. Crear una página web responsiva que se adapte a diferentes tamaños de pantalla utilizando solo
HTML y CSS.
2. Crear un formulario con validación de campos (nombre, correo y teléfono) usando JavaScript.
3. Crear una animación que muestre un texto deslizándose de derecha a izquierda utilizando solo
CSS.
4. Crear una página web con un "lightbox" (caja de luz) para mostrar imágenes ampliadas cuando
5. Crear una lista de productos donde cada producto se puede añadir al carrito de compras. Al
7. Crear una página de login con validación de usuario y contraseña (con validación visual de si son
correctos o no).
8. Crear un sistema de pestañas (tabs) donde se pueden mostrar diferentes secciones de contenido
9. Crear un menú de navegación fijo (sticky) que permanezca visible mientras se desplaza por la
página.
10. Crear un "scroll infinito" que cargue más contenido cuando se llegue al final de la página.
## Soluciones:
**Solución:**
```html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Web Responsiva</title>
<style>
body {
header {
background: #333;
color: white;
padding: 10px 0;
text-align: center;
nav {
display: flex;
justify-content: space-around;
background-color: #444;
nav a {
color: white;
text-decoration: none;
}
@media screen and (max-width: 600px) {
nav {
flex-direction: column;
</style>
</head>
<body>
<nav>
<a href="#">Inicio</a>
<a href="#">Contacto</a>
</nav>
<main>
<h2>Contenido principal</h2>
</main>
</body>
</html>
```
**Solución:**
```html
<form id="contactForm">
<label for="name">Nombre:</label>
<input type="text" id="name" name="name"><br><br>
<label for="phone">Teléfono:</label>
<button type="submit">Enviar</button>
</form>
<script>
document.getElementById("contactForm").addEventListener("submit", function(event) {
event.preventDefault();
} else {
});
</script>
```
**Solución:**
```html
<style>
.scroll-text {
width: 100%;
white-space: nowrap;
overflow: hidden;
font-size: 24px;
.scroll-text {
@keyframes scroll {
0% { transform: translateX(100%); }
</style>
```
**Solución:**
```html
</a>
<style>
.lightbox {
display: block;
width: 300px;
}
.lightbox img {
width: 100%;
cursor: pointer;
</style>
<script>
lightboxImages.forEach(img => {
img.addEventListener('click', function(event) {
event.preventDefault();
overlay.classList.add('overlay');
fullImg.src = imgSrc;
overlay.appendChild(fullImg);
document.body.appendChild(overlay);
overlay.addEventListener('click', () => {
overlay.remove();
});
});
});
</script>
```
**Solución:**
```html
<div>
<h2>Productos</h2>
<ul id="productList">
</ul>
<h3>Carrito de compras</h3>
<ul id="cart"></ul>
</div>
<script>
function addToCart(product) {
cart.push(product);
</script>
```