freeCodeCamp/curriculum/challenges/portuguese/01-responsive-web-design/css-grid/reduce-repetition-using-the...

2.9 KiB

id title challengeType videoUrl localeTitle
5a94fe3669fb03452672e45f Reduce Repetition Using the repeat Function 0 Reduzir a repetição usando a função de repetição

Description

Quando você usou grid-template-columns e grid-template-rows para definir a estrutura de uma grade, você inseriu um valor para cada linha ou coluna criada. Vamos dizer que você quer uma grade com 100 linhas da mesma altura. Não é muito prático inserir 100 valores individualmente. Felizmente, há uma maneira melhor - usando a função de repeat para especificar o número de vezes que você deseja que sua coluna ou linha seja repetida, seguida por uma vírgula e o valor que você deseja repetir. Aqui está um exemplo que criaria a grade de 100 linhas, cada linha com 50 px de altura.
grid-template-rows: repita (100, 50px);
Você também pode repetir vários valores com a função de repetição e inserir a função entre outros valores ao definir uma estrutura de grade. Aqui está o que eu quero dizer:
grid-template-columns: repetição (2, 1fr 50px) 20px;
Isso se traduz em:
grid-template-columns: 1fr 50px 1fr 50px 20px;
Nota
1fr 50px é repetido duas vezes seguido por 20px.

Instructions

Use repeat para remover a repetição da propriedade grid-template-columns .

Tests

tests:
  - text: <code>container</code> classe <code>container</code> deve ter uma propriedade <code>grid-template-columns</code> definida para repetir 3 colunas com a largura de <code>1fr</code> .
    testString: 'assert(code.match(/.container\s*?{[\s\S]*grid-template-columns\s*?:\s*?repeat\s*?\(\s*?3\s*?,\s*?1fr\s*?\)\s*?;[\s\S]*}/gi), "<code>container</code> class should have a <code>grid-template-columns</code> property that is set to repeat 3 columns with the width of <code>1fr</code>.");'

Challenge Seed

<style>
  .item1{background:LightSkyBlue;}
  .item2{background:LightSalmon;}
  .item3{background:PaleTurquoise;}
  .item4{background:LightPink;}
  .item5{background:PaleGreen;}

  .container {
    font-size: 40px;
    min-height: 300px;
    width: 100%;
    background: LightGray;
    display: grid;
    /* change the code below this line */

    grid-template-columns: 1fr 1fr 1fr;

    /* change the code above this line */
    grid-template-rows: 1fr 1fr 1fr;
    grid-gap: 10px;
  }
</style>

<div class="container">
  <div class="item1">1</div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
</div>

Solution

// solution required