Aprenda variáveis em CSS criando o horizonte em uma cidade - Passo 40

Não estou conseguindo resolver esse desafio, ele pede o gradiente linear com as variáveis mas não está dando certo

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">    
  <head>
    <meta charset="UTF-8">
    <title>City Skyline</title>
    <link href="styles.css" rel="stylesheet" />   
  </head>

  <body>
    <div class="background-buildings">
      <div></div>
      <div></div>
      <div class="bb1">
        <div class="bb1a"></div>
        <div class="bb1b"></div>
        <div class="bb1c"></div>
        <div class="bb1d"></div>
      </div>
      <div class="bb2"></div>
      <div class="bb3"></div>
      <div></div>
      <div class="bb4"></div>
      <div></div>
      <div></div>
    </div>

    <div class="foreground-buildings">
      <div></div>
      <div></div>
      <div class="fb1"></div>
      <div class="fb2"></div>
      <div></div>
      <div class="fb3"></div>
      <div class="fb4"></div>
      <div class="fb5"></div>
      <div class="fb6"></div>
      <div></div>
      <div></div>
    </div>
  </body>
</html>
/* file: styles.css */
:root {
  --building-color1: #aa80ff;
  --building-color2: #66cc99;
  --building-color3: #cc6699;
  --building-color4: #538cc6;
  --window-color1: black;
}

* {
  border: 1px solid black;
  box-sizing: border-box;
}

body {
  height: 100vh;
  margin: 0;
  overflow: hidden;
}

.background-buildings, .foreground-buildings {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-evenly;
  position: absolute;
  top: 0;
}

/* BACKGROUND BUILDINGS - "bb" stands for "background building" */
.bb1 {
  width: 10%;
  height: 70%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* User Editable Region */

.bb1a {
  width: 70%;
  height: 10%;
  background-color: var(--building-color1);
  background: linear-gradient(--building-color1, --window-color1);
}

/* User Editable Region */

.bb1b {
  width: 80%;
  height: 10%;
  background-color: var(--building-color1);
}

.bb1c {
  width: 90%;
  height: 10%;
  background-color: var(--building-color1);
}

.bb1d {
  width: 100%;
  height: 70%;
  background-color: var(--building-color1);
}

.bb2 {
  width: 10%;
  height: 50%;
  background-color: var(--building-color2);
}

.bb3 {
  width: 10%;
  height: 55%;
  background-color: var(--building-color3);
}

.bb4 {
  width: 11%;
  height: 58%;
  background-color: var(--building-color4);
}

/* FOREGROUND BUILDINGS - "fb" stands for "foreground building" */
.fb1 {
  width: 10%;
  height: 60%;
  background-color: var(--building-color4);
}

.fb2 {
  width: 10%;
  height: 40%;
  background-color: var(--building-color3);
}

.fb3 {
  width: 10%;
  height: 35%;
  background-color: var(--building-color1);
}

.fb4 {
  width: 8%;
  height: 45%;
  background-color: var(--building-color1);
  position: relative;
  left: 10%;
}

.fb5 {
  width: 10%;
  height: 33%;
  background-color: var(--building-color2);
  position: relative;
  right: 10%;
}

.fb6 {
  width: 9%;
  height: 38%;
  background-color: var(--building-color3);
}

Informações de seu navegador:

Agente de usuário: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36

Desafio: Aprenda variáveis em CSS criando o horizonte em uma cidade - Passo 40

Link para o desafio:

You aren’t accessing the custom variables correctly. Look at all the other times you used custom variables, for example when setting the background-color:

background-color: var(--building-color1);

Do you see what you did there to access the custom variable that you are not doing in the linear-gradient?

3 Likes

Oi, @gabriel_lopes23. Vou colocar em português aqui o que o @bbsmooth está explicando para quem não entender o inglês poder realizar a tarefa. Para as suas variáveis personalizadas funcionarem com a propriedade background, é preciso usar o formato var(--variavel-personalizada);. Usar apenas --variavel-personalizada não resolverá a questão. Espero ter ajudado. Bons estudos! :smiley:

5 Likes

A forma correta é de executar o Passo 40 é assim:
.bb1a { width: 70%; height: 10%; background-color: var(--building-color1); background: linear-gradient(var(--building-color1), var(--window-color1)); }

Este passo está pouco difícil de entender, principalmente para quem está aprendendo, uma breve explicação … você deve declarar cor1 e a cor2 como variáveis dentro do
linear-gradient, como abaixo

 background: linear-gradient(var(--building-color1), var(--window-color1));
2 Likes

obrigado, você é um amigo <33

1 Like