본문으로 바로가기

grid-template-areas 도 편했지만

grid-template-columns, grid-template-rows를 명시해줘야만 했다.

충분히 편한데, 더 편한 숏컷이 있다.

 

grid-template 속성에 grid-template-area를 똑같이 적어주되, 한 행마다 높이(height)를 적어주고마지막에는 /와 함께 각 열의 폭(width)을 적어주는 것이다.

.wrapper {
    display: grid;
    gap: 10px;
    height: 50vh;
    grid-template:
     "header header header header" 1fr
     "content content content nav" 2fr
     "footer footer footer footer" 1fr /1fr 1fr 1fr 1fr
}

.header {
    background-color: lightblue;
    grid-area: header;
}

.content {
    background-color: lightcoral;
    grid-area: content;
}

.nav {
    background-color: lightgoldenrodyellow;
    grid-area: nav;
}

.footer {
    background-color: blue;
    grid-area: footer;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>title</title>
    <link rel="stylesheet" href="index.css" />
  </head>
  <body>
    <div class="wrapper">
      <div class="header"></div>
      <div class="content"></div>
      <div class="nav"></div>
      <div class="footer"></div>
    </div>
  </body>
</html>

 

결과물은 다음과 같다.

 

유일한 단점은 repeat를 쓸 수 없다는 것이다.


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체