CREACION FOOTER-MENU DESPLEGABLE Y CARRUSEL
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Menú Desplegable Responsivo</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: Arial, sans-serif;
}
body {
background-color: #f5f5f5;
}
body, html {
margin: 0;
padding: 0;
height: 100%;
}
.page-container {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.content {
flex: 1;
padding: 20px;
}
.navbar {
background-color: #333;
color: white;
position: relative;
}
.navbar-container {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 20px;
max-width: 1200px;
margin: 0 auto;
}
.logo {
padding: 15px 0;
font-size: 24px;
font-weight: bold;
}
.navbar-menu {
display: flex;
list-style: none;
}
.navbar-item {
position: relative;
}
.navbar-item a {
display: block;
padding: 15px 20px;
color: white;
text-decoration: none;
transition: background-color 0.3s;
}
.navbar-item a:hover {
background-color: #444;
}
.dropdown {
position: absolute;
background-color: #444;
min-width: 160px;
box-shadow: 0 8px 16px rgba(0,0,0,0.2);
display: none;
z-index: 1;
}
.dropdown-item a {
color: white;
padding: 12px 16px;
display: block;
text-decoration: none;
}
.dropdown-item a:hover {
background-color: #555;
}
.navbar-item:hover .dropdown {
display: block;
}
.hamburger {
display: none;
cursor: pointer;
width: 30px;
height: 30px;
padding: 10px 0;
}
.hamburger span {
display: block;
width: 30px;
height: 3px;
background-color: white;
margin: 5px 0;
}
#menu-toggle {
display: none;
}
.contenedor-carrusel {
position: relative;
max-width: 1000px; /* Aumenté el ancho máximo */
margin: 40px auto; /* Agregué margen vertical y centré */
overflow: hidden;
height: 500px; /* Aumenté la altura */
box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* Agregué una sombra suave */
border-radius: 10px; /* Bordes redondeados */
}
.carrusel {
display: flex;
transition: transform 0.5s ease-in-out;
height: 100%;
}
.slide {
min-width: 100%;
height: 100%;
object-fit: cover;
}
.boton-carrusel {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.5);
color: white;
padding: 16px;
border: none;
cursor: pointer;
font-size: 18px;
border-radius: 50%;
transition: background-color 0.3s;
z-index: 10;
}
.boton-carrusel:hover {
background-color: rgba(0, 0, 0, 0.8);
}
.prev {
left: 20px;
}
.next {
right: 20px;
}
footer {
background-color: #f4f4f4;
color: #333;
padding: 30px 20px;
font-family: Arial, sans-serif;
text-align: center;
width: 100%;
box-sizing: border-box;
}
.company-name {
font-size: 24px;
font-weight: bold;
color: #2c3e50;
margin-bottom: 15px;
animation: fadeIn 2s ease-in-out;
}
.company-mission {
font-size: 16px;
margin-bottom: 20px;
animation: slideIn 1.5s ease-out;
}
.contact-info {
display: block;
text-align: center;
color: #666;
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes slideIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Estilos responsivos */
@media (max-width: 768px) {
.contenedor-carrusel {
height: 300px;
margin: 20px auto;
}
.hamburger {
display: block;
}
.navbar-menu {
position: absolute;
flex-direction: column;
width: 100%;
background-color: #333;
left: 0;
top: 60px;
display: none;
}
.navbar-item {
width: 100%;
text-align: left;
}
.dropdown {
position: static;
background-color: #555;
width: 100%;
box-shadow: none;
display: none;
}
.navbar-item:hover .dropdown {
display: none;
}
#menu-toggle:checked ~ .navbar-menu {
display: flex;
}
.navbar-item > a {
position: relative;
}
.navbar-item > a:focus + .dropdown,
.dropdown:hover {
display: block;
}
}
</style>
</head>
<body>
<div class="page-container">
<nav class="navbar">
<div class="navbar-container">
<div class="logo">Logo</div>
<input type="checkbox" id="menu-toggle">
<label for="menu-toggle" class="hamburger">
<span></span>
<span></span>
<span></span>
</label>
<ul class="navbar-menu">
<li class="navbar-item">
<a href="#">Home</a>
</li>
<li class="navbar-item">
<a href="#" tabindex="0">Nosotros</a>
<ul class="dropdown">
<li class="dropdown-item"><a href="#">Visión</a></li>
<li class="dropdown-item"><a href="#">Misión</a></li>
</ul>
</li>
<li class="navbar-item">
<a href="#" tabindex="0">Cronograma</a>
<ul class="dropdown">
<li class="dropdown-item"><a href="#">Anual</a></li>
<li class="dropdown-item"><a href="#">Mensual</a></li>
</ul>
</li>
<li class="navbar-item">
<a href="#" tabindex="0">Contacto</a>
<ul class="dropdown">
<li class="dropdown-item"><a href="#">WhatsApp</a></li>
<li class="dropdown-item"><a href="#">Mensaje</a></li>
<li class="dropdown-item"><a href="#">Formulario</a></li>
</ul>
</li>
</ul>
</div>
</nav>
<div class="contenedor-carrusel">
<div class="carrusel">
<img src="https://cdn.pixabay.com/photo/2014/08/03/19/08/firearm-409252_1280.jpg" alt="Imagen 1" class="slide">
<img src="https://cdn.pixabay.com/photo/2020/01/02/21/17/m1911-4736846_1280.jpg" alt="Imagen 2" class="slide">
<img src="https://cdn.pixabay.com/photo/2017/02/14/10/48/gun-2065602_1280.jpg" alt="Imagen 3" class="slide">
</div>
<button class="boton-carrusel prev">❮</button>
<button class="boton-carrusel next">❯</button>
</div>
<footer>
<div class="company-name">Abuelitic</div>
<div class="company-mission">
Cuidando y acompañando a nuestros adultos mayores con amor y profesionalismo
</div>
<div class="contact-info">
Desarrollo y Soluciones JLRS | juanito21danieldabril@gmail.com | 3142404522 | Colegio Hernán Venegas Carrillo
</div>
</footer>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const carrusel = document.querySelector('.carrusel');
const diapositivas = document.querySelectorAll('.slide');
const prevButton = document.querySelector('.prev');
const nextButton = document.querySelector('.next');
let currentIndex = 0;
const totalSlides = diapositivas.length;
// Función para mover el carrusel
function moveCarousel(index) {
carrusel.style.transform = `translateX(-${index * 100}%)`;
currentIndex = index;
}
// Función para ir a la siguiente imagen
function nextSlide() {
if (currentIndex === totalSlides - 1) {
moveCarousel(0);
} else {
moveCarousel(currentIndex + 1);
}
}
// Función para ir a la imagen anterior
function prevSlide() {
if (currentIndex === 0) {
moveCarousel(totalSlides - 1);
} else {
moveCarousel(currentIndex - 1);
}
}
// Eventos de clic para los botones
nextButton.addEventListener('click', nextSlide);
prevButton.addEventListener('click', prevSlide);
// Cambio automático cada 3 segundos
setInterval(nextSlide, 3000);
});
</script>
</body>
</html>

Comments
Post a Comment