Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] [Projeto] Minha resolução

imagem de como ficou o projeto

Minha solução foi esse: No HTML criei uma lista com as cores

<div class="box-cor">
                    <h2 class="cor-titulo">Escolha uma cor</h2>
                    <ul class="cores">
                        <li class="cor amarelo"></li>
                        <li class="cor azul"></li>
                        <li class="cor branco"></li>
                        <li class="cor preto"></li>
                        <li class="cor rosa"></li>
                        <li class="cor vermelho"></li>
                    </ul>
                </div>

Estilizei em caixas de cores

.box-cor {
    background: rgba(0,0,0,0.6);
    clip-path: polygon(calc(100% - 30px) 0, 100% 30px, 100% calc(100% - 30px), calc(100% - 30px) 100%, 30px 100%, 0 calc(100% - 30px), 0 30px, 30px 0);
    border-left: 5px solid var(--main-cinza);
    padding: 10px;
    margin-top: 20px;
}

.cor-titulo {
    color: var(--main-branco);
    text-transform: uppercase;
    font-size: 2.5em;
    font-weight: 200;
    text-align: center;
}

.cores {
    display: flex;
    justify-content: space-around;
}

.cor {
    width: 50px;
    height: 50px;
    border: 3px solid var(--main-branco);
    background: var(--main-branco);
    clip-path: polygon(100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0 0);
}

.amarelo {
    background-color: #ffff00;
}
.azul {
    background-color: #0000ff;
}
.branco {
    background-color: #ffffff;
}
.preto {
    background-color: #000000;
}
.rosa {
    background-color: #f799a8;
}
.vermelho {
    background-color: #ff0000;
}

E no JavaScript criei uma constante que pega a lista de cores e atraves da estrutura do for montei um loop onde quando o usuario clica na cor a imagem do robotron muda pra cor selecionada.

const listaDeCores = document.querySelectorAll(".cor");

for(let i = 0; i < listaDeCores.length; i++) {
    const cor = listaDeCores[i];
    const cores = cor.classList[1];
    const robotron = document.querySelector(".robo");

    cor.onclick = function() {
        robotron.setAttribute(`src`,`img/${cores}/robotron.png`);
    }
}

Estou aberto para sugestões de melhora do código, obrigado!

1 resposta
solução!

Oi Carlos, tudo bem?

Muito obrigada por compartilhar com a gente o seu código. Ficou super legal a sua solução! Gostei bastante de como você solucionou.

Com certeza vai inspirar outras pessoas, parabéns pela atitude.

Continue os bons estudos.

Um abraço.