Aprende a crear una landing page moderna con un fondo de video envolvente, un men煤 superior elegante y un carrusel centralizado, todo 100% responsive con Bootstrap.
Aqu铆 est谩 el c贸digo responsive que usamos:
En esta publicaci贸n desglosaremos el c贸digo CSS y HTML necesario para implementar un dise帽o web de alto impacto. Utilizamos Flexbox para el centrado perfecto del t铆tulo (BIENVENIDO A MI P脕GINA WEB), el campo de b煤squeda y el carrusel de Bootstrap, asegurando que todo se vea bien en m贸viles, tablets y PCs. La clave est谩 en usar display: flex; justify-content: center; align-items: center; en el contenedor principal (.capa) y ajustar la altura del carrusel para que funcione correctamente (min-height: 250px;). Adem谩s, a帽adimos una capa semitransparente (background-color: rgba(0,0,0,0.5);) sobre el video para garantizar la legibilidad del texto blanco del men煤 y el contenido central. Finalmente, integramos un men煤 superior blanco (navbar-light bg-light fixed-top) para una navegaci贸n fluida.
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<title>Video de fondo con Navbar Blanco</title>
<style>
/* 1. Video de Fondo */
video {
min-width: 100%; min-height: 100%; width: auto; height: auto;
position: fixed; top: 50%; left: 50%;
transform: translate(-50%, -50%);
z-index: -100;
}
/* 2. Capa Oscura y Contenedor Principal (Flexbox) */
.capa {
width: 100%; height: 100vh; position: fixed; top: 0; left: 0;
background-color: rgba(0,0,0,0.5);
display: flex; flex-direction: column;
justify-content: center; align-items: center; text-align: center;
padding: 20px;
padding-top: 80px;
}
/* 3. Estilos del Buscador */
.buscador-centrado {
max-width: 500px;
width: 100%;
margin: 2rem 0;
}
/* 4. Estilos del Carrusel */
#carouselExampleCaptions {
max-width: 700px; width: 100%; min-height: 250px;
margin-top: 20px; border-radius: 8px; padding: 15px;
background-color: rgba(0, 0, 0, 0.4);
}
/* 5. Ajustes del Carrusel Caption */
.carousel-caption {
position: relative; top: auto; bottom: auto; left: auto; right: auto; padding: 20px;
}
.carousel-caption h4, .carousel-caption h5, .carousel-caption p {
color: #ffffff;
text-shadow: 1px 1px 3px #000;
}
/* Ajuste para el h1 */
.capa h1 {
color: #ffffff;
text-shadow: 1px 1px 3px #000;
}
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
<a class="navbar-brand" href="#">Hilari Web</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Inicio <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Servicios</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contacto</a>
</li>
<li class="nav-item">
<a class="nav-link btn btn-dark btn-sm text-white" href="#">Ingresar</a>
</li>
</ul>
</div>
</nav>
<video src="video/intro.mp4" autoplay preload muted loop></video>
<div class="capa">
<h1>BIENVENIDO A MI P脕GINA WEB</h1>
<div class="input-group buscador-centrado">
<input type="text" class="form-control" placeholder="Buscar contenido..." aria-label="Buscar contenido">
<div class="input-group-append">
<button class="btn btn-dark" type="button">Buscar</button>
</div>
</div>
<div id="carouselExampleCaptions" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
<li data-target="#carouselExampleCaptions" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<div class="carousel-caption">
<h4>Hilari Web</h4>
<p>Programaci贸n Web</p>
<a href="" class="btn btn-info">Ingresar</a>
</div>
</div>
<div class="carousel-item">
<div class="carousel-caption">
<h5>Suscribete al canal</h5>
<p>Para m谩s contenidos en Programaci贸n suscribete ya</p>
</div>
</div>
<div class="carousel-item">
<div class="carousel-caption">
<h5>Third slide label</h5>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
</div>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleCaptions" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleCaptions" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
</body>
</html>