Curso de Frontend Developer

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

memo1.PNGmemo2.PNGmemo3.PNGmemo4.PNG

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <style>
        *{
            box-sizing: border-box;
        }
        body{
            width: 100vw;
            margin: 0;
            padding: 0;
            background: palegoldenrod;
        }
        header{
            width: 100vw;
            height: 50px;
            background: #ffc728;
            display: flex;
            align-items: center;
            justify-content: center;
            
        }
        h2{
            font-size: 30px;
            font-family: 'zilla slab', sans-serif;
            text-align: center;
            color: #fff;
        }
        .cards-containers{
            width: 100vw;
            height: 100%;
            padding: 20px;
            display: flex;
            flex-direction: row;
            justify-content: space-evenly;
            flex-wrap: wrap;
            gap: 25px;
            overflow-x: hidden;
        }
        .container{
            position: relative;
            width: 250px;
            height: 350px;
        }
        .card{
            position: absolute;
            width: 100%;
            height: 100%;
            transform-style: preserve-3d;
            transition: all 1.2s ease;
            
        }

        .card:hover {
            transform: rotateY(180deg);
        }

        .front{
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            background: #ffc728;
            color: #333;
            text-align: center;
            font-family: 'zilla slab', sans-serif;
            border-radius: 20px;
            font-size: 18px;
            font-weight: bold;
            box-shadow: 0px 3px 18px 3px rgb(0, 0, 0, 0.2);
            overflow: hidden;
        }
        .front img{
            width: 100%;
        }

        .back{
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            background: #5fcf80;
            color: #fff;
            transform: rotateY(180deg);
            text-align: center;
            font-family: 'zilla slab', sans-serif;
            border-radius: 20px;
            font-size: 18px;
            font-weight: bold;
            box-shadow: 0px 3px 18px 3px rgb(0, 0, 0, 0.2);
            overflow: hidden;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .back img{
            width: 100%;
        }


    </style>
</head>

<body>
    <header>
        <h2>MEMORY GAME</h2>
    </header>
    <div class="cards-containers">

        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat1">
                </div>
            </div>
        </div>
        

        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/96938/pexels-photo-96938.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat2">
                </div>
            </div>
        </div>
        

        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/2558605/pexels-photo-2558605.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat3">
                </div>
            </div>
        </div>
        

        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/236606/pexels-photo-236606.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat4">
                </div>
            </div>
        </div>
        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/248280/pexels-photo-248280.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat5">
                </div>
            </div>
        </div>
        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/96938/pexels-photo-96938.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat2">
                </div>
            </div>
        </div>
        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/236606/pexels-photo-236606.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat4">
                </div>
            </div>
        </div>
        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat1">
                </div>
            </div>
        </div>
        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/1183434/pexels-photo-1183434.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat6">
                </div>
            </div>
        </div>

        
        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/248280/pexels-photo-248280.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat5">
                </div>
            </div>
        </div>
        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/2558605/pexels-photo-2558605.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat3">
                </div>
            </div>
        </div>

        <div class="container">
            <div class="card">
                <div class="front">
                    <img src="https://images.pexels.com/photos/1203808/pexels-photo-1203808.jpeg?auto=compress&cs=tinysrgb&w=600" alt="map">
                    MEMORY
                </div>
                <div class="back">
                    <img src="https://images.pexels.com/photos/1183434/pexels-photo-1183434.jpeg?auto=compress&cs=tinysrgb&w=600" alt="cat6">
                </div>
            </div>
        </div>
        

    </div>
    
</body>
</html>

Se trata de juego de memoria, encontrar las parejas o dos cartas iguales.
Lo que me costo fue hacer que no tuviese scroll lateral, para ello implemente
*{box-sizing: border-box;}
con ello me aseguro de que los márgenes y rellenos no se sumen al ancho
pues no bastaba que en el body pusiera width:100vw

Para que las cartas no estuviesen pegadas y se quedasen todas en la misma fila implemente
gap: 25px;
flex-wrap: wrap;
gap me da espacio entre las cartas de 20px y wrap en el momento que no quepan más en la línea horizontal baja a otra línea.

Faltaría implementar un código js

Curso de Frontend Developer

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados