Gallery

Mostrando entradas con la etiqueta html. Mostrar todas las entradas
Mostrando entradas con la etiqueta html. Mostrar todas las entradas

jueves, 6 de agosto de 2026

JS - Creando el espacio en tu sitio web

 Espacio estelar en tu sitio web con Javascript


Código para no perder la línea--

Espero poder poner contenido dentro del espacio, que hasta ahorita no he podido.

-------------------------HTML5
<canvas id="canvas"></canvas>

-------------------------CSS3
#canvas{
    width: 100%;
    height: 150px;
    background: black;
}

-------------------------CSS3
// Canva espacial black and estrellas
  const canvas = document.getElementById('canvas');
  const ctx = canvas.getContext('2d');

  canvas.width = window.innerWidth;
  canvas.height = window.innerHeight;

  // Crear lista de estrellas
  const numEstrellas = 200;
  const estrellas = [];

  for (let i = 0; i < numEstrellas; i++) {
    estrellas.push({
      x: Math.random() * canvas.width,
      y: Math.random() * canvas.height,
      tam: Math.random() * 5,
      vel: Math.random() * 1.5 + 3.5 // Velocidad de movimiento
    });
  }

  function animar() {
    // Limpiar pantalla
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    ctx.fillStyle = 'white';

    // Actualizar y dibujar cada estrella
    estrellas.forEach(e => {
      e.x += e.vel; // Mover a la derecha

      // Si pasa el borde derecho, regresar a la izquierda (infinito)
      if (e.x > canvas.width) {
        e.x = 10;
        e.y = Math.random() * canvas.height; // Nueva posición vertical opcional
      }

      // Dibujar estrella
      ctx.fillRect(e.x, e.y, e.tam, e.tam);
    });

    requestAnimationFrame(animar);
  }

  animar(); Si logras poner contenido dentro del espacio, hay que compartir el como...

miércoles, 3 de junio de 2026

iframe - En lugar específico

 Como abrir un iframe en un lugar específico.


Código:


HTML5

<div class="sportsif">
<iframe width="560" height="315" src="https://futbol-libre.su/espn-1/"
title="YouTube video player" frameborder="0" allow="accelerometer;
autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture;
web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen >
</iframe>
</div>  
CSS
.sportsif{
    width: auto;
    height: 200px;
    background: black;
}
.sportsif iframe{
    position: relative;
    width: 400px;
    height: 350px;
    top: -150px;
    background: red;
}



lunes, 5 de enero de 2026

CSS - Flip Card con contenido

 Flip Card con contenido al reverso 

 

Código HTML

<div class="contenedor-fc">
    <div class="flip-container">
      <div class="card">
        <div class="front">
            <h2>Zoo</h2>
        </div>
        <div class="back">
          <!-- Aquí va el contenido-->
        </div>
      </div>
    </div>

          <!-- Una 2da flip card -->
  <div class="flip-container">
      <div class="card card2">
        <div class="front front2">
          <h2>Herpetario</h2>
        </div>
        <div class="back back2">
          <!-- Aquí va el contenido-->

        </div>
      </div>
  </div>


  </div>

Código CSS

/*************** FLIP ***************/

.contenedor-fc{
  width: 100%;
  height: auto;
  max-height: auto;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  margin: 30px 0px;
}
/* FONDO DE FLIP */
.flip-container {
  background-color: rgb(201, 201, 201);
  width: 250px;
  height: 350px;
  perspective: 1000px;
  margin: 10px;
  -webkit-box-shadow: 10px 15px 18px 1px rgba(0,0,0,0.75);
  -moz-box-shadow: 10px 15px 18px 1px rgba(0,0,0,0.75);
  box-shadow: 10px 15px 18px 1px rgba(0,0,0,0.75);
}
.card {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 1s;
  transform-style: preserve-3d;
}
.flip-container:hover .card {
  transform: rotateY(180deg);
}
.front, .back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  display: flex;
  align-items:first baseline;
  justify-content: end;
  font-size: 1.3rem;
}
.front {
  background: url(https://img2.wallspic.com/
previews/9/7/1/0/7/170179/170179-lion-tiger
-zoo-dartmoor_zoo-berlin_zoological_garden-500x.jpg)
no-repeat center center /cover;
}
.front2{
  background: url(https://images.pexels.com/
photos/20546357/pexels-photo-20546357/free-
photo-of-a-bearded-lizard-sitting-on-a-rock.
jpeg?cs=tinysrgb&dpr=1&w=500)
no-repeat center center /cover;
}
h2{
    background: rgb(20, 18, 18);
    color: aliceblue;
    font-size: 1.2rem;
    padding: 3px 25px;
  }

.back {
   background: url(https://wallpaper.forfun.com/
fetch/d4/d42699333f55f4068f92d16196eb0773.jpeg)
no-repeat center center /cover;
   transform: rotateY(180deg);
   display: flex;
   flex-flow: column;
   align-items: center;
   justify-content: end;
}
.back2{
   background: url(https://i.pinimg.com/736x/f5/a3
/ee/f5a3eece3cba943ba0bba0a47d9617a2.jpg)
no-repeat center center /cover;
}
.back a{
  background: rgb(20, 18, 18);
  color: rgb(239, 224, 224);
  font-size: 14px;
  text-decoration: none;
  text-align: center;
  line-height: 30px;
  padding: 3px 20px;
  margin: 1px 0px;
  transition: .2s all linear;
}
.back a:hover{
  color: rgb(255, 245, 52);
  background: rgb(38, 32, 0);
  }

domingo, 16 de noviembre de 2025

Scroll behavior smooth

Habilitar scroll behavior smooth en Google Chrome




Para trabajar a la par con VSC y que nos muestre lo que hacemos, tenemos que habilitar esta opción en GChrome desde chrome://flags/

sábado, 2 de agosto de 2025

HTML5 - Menu con submenu

 Menu con submenu


HTML5


<!-- MENU CON SUBMENU - NAVEGACION -->  
    <div id="navegacion">

        <ul class="nav"

HTML5 - Cajas con estilo grid

Cajas con estilo grid

Para que funcione el código tiene que tener:
*{
    box-sizing: border-box;
}

HTML5

<!-- CAJAS GRID -->
    <div class="boxes">
        <div class="box-1">#1</div>
        <div class="box-1">#2</div>
        <div class="box-1">#3</div>
        <div class="box-1">#4</div>
    </div>

Menú lateral con funcion para ver contenido

Menú lateral con funcion para ver contenido




HTML5
<!-- SECTION BOTONES TREN -->

Galeria Lightbox

 Galeria Lightbox




Código HTML5 CSS & JAVASCRIPT

Esta demasiado bueno para ser cierto.

Para que funcione el código tiene que tener:
*{
    box-sizing: border-box;
}

HTML5

<!-- LIGHTBOX IMAGENES Y VIDEOS -->
    <div class="container">

        <div class="gallery">
            <!-- Image Items -->

domingo, 27 de julio de 2025

VSC - mostrar menu completo

 Mostrar menú lateral completo en vsc



En el área de busqueda, escribir sticky y aparecera Workbrench - Tree enable sticky scroll.

domingo, 20 de julio de 2025

HTML5 - Menú lateral

Sitio web con Menú lateral




CÓDIGO HTML5

Slider con botones laterales y de localizacion

SLIDER CON BOTONES LATERALES Y DE LOCALIZACION.

CODIGO HTML5

<div class="slider-container">
            <div class="slider-track">
                <div class="slider-slide">
                    <img src="https://cdn-prod.puprod.indreams.me/"
                        alt="Resident Evil" class="slider-image">
                    <div class="slider-content">
                        <h2 class="slider-title">Shelly</h2>
                        <p class="slider-description">Conocida como
                            japonesa creada por Capcom.</p>
                    </div>
                </div>
                   
                <div class="slider-slide">
                    <img src="https://wotpack.ru/wp-content/uploads.jpg"
                            alt="Silent Hill" class="slider-image">
                    <div class="slider-content">
                        <h2 class="slider-title">Silent Hill</h2>
                        <p class="slider-description">Es una franquicia de videojuegos
                            publicada por Konami y su subsidiaria,
                                        Konami Digital Entertainment. </p>
                    </div>
                </div>

                <div class="slider-slide">
                    <img src="https://i.ytimg.com/vi/JwbhEACR8Vg/maxresdefault.jpg" alt="Dandys World" class="slider-image">
                    <div class="slider-content">
                        <h2 class="slider-title">Dandys World</h2>
                        <p class="slider-description">Es un juego multijugador de terror con mascotas creado por BlushCrunch Studio</p>
                    </div>
                </div>

                <div class="slider-slide">
                    <img src="https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/46cf2012-9552-434b-8a38-4b3bbc923fbe/diqzaqm-a8a1d40d-d3f0-48a6-8eb6-a0d378fcf6d0.jpg/v1/fill/w_1280,h_960,q_75,strp/dino_shelly_by_sweetzcherrys_diqzaqm-fullview.jpg?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7ImhlaWdodCI6Ijw9OTYwIiwicGF0aCI6IlwvZlwvNDZjZjIwMTItOTU1Mi00MzRiLThhMzgtNGIzYmJjOTIzZmJlXC9kaXF6YXFtLWE4YTFkNDBkLWQzZjAtNDhhNi04ZWI2LWEwZDM3OGZjZjZkMC5qcGciLCJ3aWR0aCI6Ijw9MTI4MCJ9XV0sImF1ZCI6WyJ1cm46c2VydmljZTppbWFnZS5vcGVyYXRpb25zIl19.LDmrTRgdGZZEKARarcCDHoeakH61QQ2pF5ixbq4B93k" alt="Brawl Stars" class="slider-image">
                    <div class="slider-content">
                        <h2 class="slider-title">Brawl Stars</h2>
                        <p class="slider-description">Es un videojuego multijugador para móviles disponible en Android y iOS, desarrollado por Supercell y lanzado globalmente en 2018.</p>
                    </div>
                </div>

                <div class="slider-slide">
                    <img src="https://media.sketchfab.com/models/53c1f63911ef4c53b0053ce13c23b4fe/thumbnails/53d0ce722e49492d9d09514e9d7f4bfd/31e87f035af1447ab11d7a5f7ad97c95.jpeg" alt="God of War Ragnarok" class="slider-image">
                    <div class="slider-content">
                        <h2 class="slider-title">God of War Ragnarok</h2>
                        <p class="slider-description">Es un videojuego de acción y aventura hack and slash en tercera persona desarrollado por Santa Monica Studio y publicado por Sony Interactive Entertainment.</p>
                    </div>
                </div>
            </div>

            <div class="slider-nav">
                <button class="slider-btn prev"></button>
                <button class="slider-btn next"></button>
            </div>

            <div class="slider-dots">
                <div class="slider-dot"></div>
                <div class="slider-dot"></div>
                <div class="slider-dot"></div>
                <div class="slider-dot"></div>
                <!-- Al querer agregar o quitar una imagen nueva,
                tendremos que modificar estos botones,
                tienen que ir iguales 5==5 -->
                <div class="slider-dot active"></div>
            </div>
        </div>
   

CÓDIGO CSS


.slider-container {
    width: 100%; /*** ancho de donde esta la imagen, ajuste en px ***/
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}
.slider-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    height: 100vh; /*** alto de donde esta la imagen,
                    ajuste a la par de contaniner ***/
}
.slider-slide {
    min-width: 100%; /*** no mover este min-width ***/
    position: relative;
}
.slider-image {
    width: 100%; /*** va a la par de .slider-track ***/
    height: 100%; /*** va a la par de .slider-track ***/
    object-fit: cover;
}
.slider-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color: white;
    padding: 30px;
    padding-top: 80px;
}
.slider-title {
    font-size: 2.2rem;
    margin-bottom: 10px;
    font-weight: 700;
}
.slider-description {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 70%; /*** ajustar cada que se mueva el ancho en porcentajes,
                es para el texto ***/
}
.slider-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 10;
}
.slider-btn {
    background-color: rgba(255, 255, 255, 0.7);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.slider-btn:hover {
    background-color: rgba(122, 19, 19, 0.9);
    transform: scale(1.1);
    color: white;
}
.slider-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}
.slider-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}
.slider-dot.active {
    background-color: rgb(187, 255, 0);
    transform: scale(1.2);
}

CODIGO JS

document.addEventListener('DOMContentLoaded', function() {
            const track = document.querySelector('.slider-track');
            const slides = document.querySelectorAll('.slider-slide');
            const dots = document.querySelectorAll('.slider-dot');
            const prevBtn = document.querySelector('.prev');
            const nextBtn = document.querySelector('.next');
           
            let currentIndex = 0;
            let slideWidth = slides[0].clientWidth;
            let autoSlideInterval;
            const slideCount = slides.length;
           
            // Set up slider
            function initSlider() {
                slideWidth = slides[0].clientWidth;
                track.style.width = `${slideWidth * slideCount}`;
               
                // Set initial active dot
                updateDots();
               
                // Start auto slide
                startAutoSlide();
               
                // Handle window resize
                window.addEventListener('resize', function() {
                    slideWidth = slides[0].clientWidth;
                    track.style.width = `${slideWidth * slideCount}`;
                    goToSlide(currentIndex);
                });
            }
           
            // Go to specific slide
            function goToSlide(index) {
                if (index < 0) {
                    index = slideCount - 1;
                } else if (index >= slideCount) {
                    index = 0;
                }
               
                currentIndex = index;
                track.style.transform = `translateX(-${slideWidth * currentIndex}px)`;
                updateDots();
               
                // Reset auto slide timer
                resetAutoSlide();
            }
           
            // Update navigation dots
            function updateDots() {
                dots.forEach((dot, index) => {
                    dot.classList.toggle('active', index === currentIndex);
                });
            }
           
            // Auto sliding
            function startAutoSlide() {
                autoSlideInterval = setInterval(() => {
                    goToSlide(currentIndex + 1);
                }, 5000);
            }
           
            function resetAutoSlide() {
                clearInterval(autoSlideInterval);
                startAutoSlide();
            }
           
            // Event listeners
            prevBtn.addEventListener('click', () => {
                goToSlide(currentIndex - 1);
            });
           
            nextBtn.addEventListener('click', () => {
                goToSlide(currentIndex + 1);
            });
           
            // Dot navigation
            dots.forEach((dot, index) => {
                dot.addEventListener('click', () => {
                    goToSlide(index);
                });
            });
           
            // Pause on hover
            track.addEventListener('mouseenter', () => {
                clearInterval(autoSlideInterval);
            });
           
            track.addEventListener('mouseleave', () => {
                resetAutoSlide();
            });
           
            // Initialize slider
            initSlider();
        });

Termina código del slider

domingo, 7 de enero de 2024

Acordeón de imagenes

Código de acordeón para tu sitio web


Solo agregalo en tu sitio web y listo...

Ha si, lo olvidaba, solo HTML y CSS

 

HTML

<!------------ ACORDEON ---------->
<div class="ctr-accordion">

  <div class="tab">
    <a href="p/programming.html"><img src="
https://images.unsplash.com/"></a>
  </div>
  <div class="tab">
    <a href="p/programming.html"><img src="
https://images.unsplash.com/"></a>
  </div>
  <div class="tab">
    <a href="p/programming.html"><img src="
https://images.unsplash.com/"></a>
  </div>
  <div class="tab">
    <a href="p/programming.html"><img src="
https://images.unsplash.com/"></a>
  </div>
 
</div>

CSS

/************* ACORDEON *************/
.ctr-accordion{
    max-width: 1200px;
    height: 350px;
    display: flex;
    flex-direction: row;
    align-items: center;
    align-content: space-around;
    gap: 2px;
    overflow: hidden;
    margin: 50px auto;
}
 
.tab{
    position: relative;
    width: 16.6%;
    height: inherit;
    padding: 20px;
    background: rgb(150,150,150);
    cursor: pointer;
    transition: width .5s ease;
    border-radius: 25px;
}
 
.tab img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.5s ease;
    border-radius: 25px;
}
 
.tab:hover img{
    opacity: 0.6;
}
 
.tab:hover{
    width: 500%;
}


Documental de Hackers