본문 바로가기

HTML & CSS

Grid Layout- 그리드1

 Grid  

-flex처럼 레이아웃에 유용하게 쓰임.

-flex는 1차원(가로 or 세로)적인 것에 반면, grid는 2차원 두방향(가로, 세로)이 가능하다.

-때문에 복잡한 레이아웃 표현이 가능하다.

 


Container (부모요소) 속성

display : grid || inline-grid
grid-template-columns          :세로줄나누기  
grid-template-rows               :가로줄나누기
grid
grid-column-gap(column-gap) :세로 간격 설정
grid-row-gap(row-gap)           :가로 간격 설정
grid-gap                              :세로 가로 간격 축약
justify-items                         :가로정렬
align-items                          :세로정렬
justify-content                      :아이템 그룹 가로 정렬
align-content                       :아이템 그룹 세로 정렬

 

Item (자식요소) 속성

justify-self              :개별 아이템 가로 정렬
align-self               :개별 아이템  세로 정렬
gird-column-start
gird-column-end
gird-column
grid-row-start
grid-row-end
grid-row
grid-are
order                    :배치순서

 

 

+repeat 함수 (반복횟수, 반복값)

grid-template-columns: repeat(4, 1fr);
/* grid-template-columns: 1fr 1fr 1fr 1fr */

 


[grid 통합해서 쓰기]
grid-area : 시작가로/시작세로/ 끝가로/끝세로 
-ex1) 
grid-area:1/2/5/6;
-span활용한 ex2) grid-area: 2/1/ span 2 /span 3; >>시작점 가로와 세로, span각 설정

 

예제1
<div class="container container4">
   <div>1</div>
   <div>2</div>
   <div>3</div>
   <div>4</div>
 </div>
 
 <style>
 .container4{
   width: 400px;
   height: 400px;
   display: grid;
   background-color: rgb(185, 181, 175);
 }
 .container4>div{
   background-color: beige;
   margin: 10px;
   text-align: center;
   border-radius: 5px;
 }
 .container4>div:nth-child(1){
   grid-area: 1/1/2/2;
 }
 .container4>div:nth-child(2){
    grid-area: 1/2/2/3;
 }
 .container4>div:nth-child(3){
    grid-area: 2/1/3/2;
 }
 .container4>div:nth-child(4){
    grid-area: 2/2/3/3;
 }
/* 시작은 모서리왼쪽위,끝은 오른쪽모서리아래 */
 </style>

 

1
2
3
4

예제2
<div class="container2">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
        <div>6</div>
        <div>7</div>
        <div class="select">8</div>
        <div>9</div>
        <div>10</div>
        <div>11</div>
        <div>12</div>
        <div>13</div>
        <div>14</div>
        <div>15</div>  
</div>
    
<style>
.container2{
  border: 5px solid #000;
  background-color: rgb(216, 114, 114);
  height: 300px;
  display: grid;
  grid-gap:10px;
  grid-template-columns: auto auto auto auto auto auto;
 }
.container2>div{
   background-color: #fff;
   text-align: center;
 }
 .container2>div.select{
 /*  grid-column: 2/ span 4; */
 /*  grid-row: 1 /span 4; */
   background-color: rgb(193, 203, 222);          
 /* grid 통합해서 쓰기 */
 /* grid-area:시작가로/시작세로/ 끝가로/끝세로 */
 grid-area:1/2/5/6;
}
</style>

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

'HTML & CSS' 카테고리의 다른 글

font 적용하는 방법  (0) 2022.05.30
Grid Layout- 그리드2 (grid-template-areas)  (0) 2022.05.25
미디어쿼리 반응형 적용  (0) 2022.05.24
절대값과 상대값  (0) 2022.05.24
text-align 속성  (0) 2022.05.23