CSS Academy · Oppitunti

Holy Grail -asettelu Gridillä

Toteuta klassinen Holy Grail -asettelu otsakkeella, alatunnisteella, pääsisällöllä ja kahdella sivupalkilla CSS Gridin avulla.

Oppitunti 2/413 vaihetta

Holy Grail -asettelu Gridillä on ilmainen CSS Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu CSS Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. CSS Academy-kurssilla on yhteensä 4 oppituntia.

Mikä on Holy Grail -asettelu

Holy Grail -asettelu on klassinen verkkosuunnittelumalli: koko näkymän korkuinen sivu, jossa on otsake, alatunniste ja kolmipalstainen keskiosa (vasen sivupalkki, pääsisältö ja oikea sivupalkki). Aiemmin sen toteuttaminen kelluvilla elementeillä oli tunnetusti hankalaa, mutta CSS Grid tekee siitä helppoa.

Grid-mallin määrittäminen

Määritelkää asettelu nimeämällä mallialueet ja rivit: grid-template-areas kuvaa visuaalisen rakenteen. Kolme saraketta ja kolme riviä (otsake ulottuu kaikille sarakkeille, alatunniste ulottuu kaikille sarakkeille ja keskellä on kolme saraketta) kuvaavat koko asettelun helposti luettavana ASCII-kaaviona.

  <header>Header</header>
  <div class="sidebar">Sidebar</div>
  <main>Main</main>
  <aside>Aside</aside>
  <footer>Footer</footer>

Elementtien sijoittaminen alueille

Kukin lapsielementti viittaa alueeseensa nimellä: header { grid-area: header }, main { grid-area: main }, nav { grid-area: sidebar }, aside { grid-area: aside }, footer { grid-area: footer }. Grid sijoittaa ne automaattisesti.

Keskirivin laajentuminen

Keskirivillä käytetään arvoa 1fr, joka täyttää kiinteäkorkuisen otsakkeen ja alatunnisteen jälkeen jäljelle jäävän näkymän korkeuden. Näin sivupalkit ja pääsisältö ulottuvat aina täyttämään näkymän — korkeutta ei tarvitse laskea erikseen.

Responsiivinen pinoaminen

Mobiilissa määrittäkää media queryllä grid-template-areas uudelleen yksisarakkeiseksi pinoksi: otsake, sivupalkki, pääsisältö, sivupaneeli ja alatunniste pystysuoraan pinottuina. DOM-järjestys säilyy, ja vain visuaalinen grid-malli muuttuu. Grid-alueet tekevät responsiivisen rakenteen muuttamisesta helposti luettavaa.

  <header>Header</header>
  <div class="sidebar">Sidebar</div>
  <main>Main</main>
  <aside>Aside</aside>
  <footer>Footer</footer>

Sivupalkkien piilottaminen responsiivisesti

Tabletilla oikean sivupaneelin voi poistaa ja pääsisältöä laajentaa määrittelemällä mallin uudelleen: "header header" "sidebar main" "footer footer" ja käyttämällä grid-template-columns: 240px 1fr -määrittelyä. Asettakaa aside { display: none } tai siirtäkää se pääsisällön alapuolelle alueiden määrittelyssä.

Väli ja sisämarginaali

Lisätkää grid-kiskojen väli käyttämällä määritettä gap: var(--spacing-4). Lisätkää sisämarginaali kuhunkin alueeseen grid-säilön sijaan, jotta välit pysyvät yhdenmukaisina. Otsakkeelle ja alatunnisteelle annetaan yleensä oma vaakasuuntainen sisämarginaali, joka vastaa gridin enimmäisleveyden tasausta.

Sisäkkäiset gridit

Pääsisältöalue voi itse olla grid — pääalueen sisälle voidaan sijoittaa esimerkiksi kaksipalstainen artikkeli ja sivupalkki. Sisäkkäiset gridit mahdollistavat sisältöasettelun sivun runkoasettelun sisällä ilman monimutkaisia luokkahierarkioita tai syvälle sisäkkäisiä sijainteja.

Kiinnittyvä otsake

Tehkää otsakkeesta kiinnittyvä: header { position: sticky; top: 0; z-index: 10; }. Grid-asettelussa kiinnittyvä asemointi toimii gridin lapsielementillä odotetusti — otsake pysyy paikallaan, kun pääsisältö, sivupalkki ja sivupaneeli vierivät sen alla.

Holy Grail -asettelun kiinnittyvät sivupalkit

Molemmat sivupalkit voidaan kiinnittää: nav, aside { position: sticky; top: 0; height: 100vh; overflow-y: auto; }. Ne pysyvät näkyvissä pääsisällön vieriessä, jolloin syntyy kolmipaneelinen asettelu, jossa vain keskiosa vierii.

Grid vai Flexbox sivuasettelussa

Käyttäkää Gridiä kaksiulotteisiin sivurungon asetteluihin, kuten Holy Grail -asetteluun — Grid soveltuu erinomaisesti kohteiden sijoittamiseen nimettyihin riveihin ja sarakkeisiin samanaikaisesti. Käyttäkää Flexboxia yksiulotteisiin komponenttiasetteluihin (esimerkiksi navigointikohteisiin rivissä tai kortin sisältöön sarakkeessa) grid-alueiden sisällä.

Tietotesti

Mikä tekee grid-template-areas-määritteestä erityisen hyödyllisen responsiivisissa Holy Grail -asetteluissa?

Yhteenveto

CSS Grid tekee historiallisesti hankalasta Holy Grail -asettelusta helpon: grid-template-areas nimeää alueet, keskirivin 1fr täyttää näkymän korkeuden, ja media queryt määrittelevät aluekartan uudelleen responsiivista pinoamista varten. Kiinnittyvät otsakkeet ja sivupalkit voidaan lisätä ilman ylimääräistä monimutkaisuutta.

Aloita maksutta

Opi CSS tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
40
Oppitunnit
159

Usein kysytyt kysymykset

Onko oppitunti ”Holy Grail -asettelu Gridillä” ilmainen?

Kyllä – oppitunnin ”Holy Grail -asettelu Gridillä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko CSS Academy-kurssin, päivitä CoddyKit PROhon. CSS Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Holy Grail -asettelu Gridillä”?

Toteuta klassinen Holy Grail -asettelu otsakkeella, alatunnisteella, pääsisällöllä ja kahdella sivupalkilla CSS Gridin avulla. Harjoittelet CSS Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni CSS Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin CSS Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Holy Grail -asettelu Gridillä”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä CSS Academy-oppitunnilla?

Kyllä. Jokainen CSS Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Kiinnittyvä alatunniste- ja sivupalkkiasettelu
  2. Holy Grail -asettelu Gridillä
  3. Masonry-asettelu: CSS- ja JavaScript-tavat
  4. Intrinsinen suunnittelu: sisältölähtöinen mitoitus
← Takaisin: CSS Academy