Auto-fit-arvon merkitys CSS-gridissä

Tarkastellaan nyt arvoa auto-fit, jota myös käytetään määritettäessä samankokoisia sarakkeita yhdessä repeat-funktion kanssa. Sen ero arvoon auto-fill on, että auto-fit mukauttaa sarakkeiden määrän säiliön käytettävissä olevan leveyden mukaan, laajentaen tai kutistaen niitä.

Esimerkki

Tarkastellaan arvon auto-fit toimintaa esimerkin avulla, jossa säiliössä on kahdeksan elementtiä. Käytetään yhdessä arvon auto-fit kanssa sinulle jo edellisestä oppitunnista tutua minmax-funktiota:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  border: 2px solid #696989;
  padding: 10px;
  width: 600px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Esimerkki

Kavennetaan nyt grid-säiliön leveyttä 400px:iin:

html<div id="parent">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
  <div>7</div>
  <div>8</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  border: 2px solid #696989;
  padding: 10px;
  width: 400px;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}

Результат:

Käytännön tehtävät

Задание 1

Oletetaan, että sinulla on taulukko, jossa on yhdeksän elementtiä. Aseta niille arvon auto-fit avulla sellainen sarakkeiden leveys ja grid-säiliön leveys, että kaikki lapsielementit sijoittuvat kolmelle riville.

Задание 2

Muokkaa nyt edellistä tehtävää siten, että kaikki elementit sijoittuvat kahdelle riville.