grid를 사용하다 보면 아래처럼 element를 감싸는 선이나 element 간의 간격을 두고 싶을 때가 있다.
이때 우리는 흔히 아래 코드의 7~8번째 라인처럼
자식 element(main속 div들) 자체에 border를 주면 되지 않을까?라는 생각을 하게 된다.
하지만 위와 같은 코드 결과는 아래의 사진처럼
header와 column, column과 nav 등의 사이에 border가 겹쳐 border의 두께가 달라진다.
물론 각 element의 border 두께를 다르게 주면되겠지만
그러면 설정해야 하는 border 두께 양이 너무 많아진다!!!!
( 이런 귀찮은 상황이 매우 싫은 편... )
이럴 경우에는 gap과 padding을 사용하면 된다.
gap은 행과 열 사이의 간격을 설정하는 속성으로 display이 grid인쪽에 함께 작성해 주면 된다.
padding을 gap과 같은 크기로 설정하는 이유는 gap은 행과 열 사이에 간격만을 설정하기에
행과 열 사이가 아닌 테두리 부분은 설정이 되지 않기 때문이다.
또한 border 속성을 이용해 설정하지 않기에 색상 변경은 어떻게 해야 하는지 모를 수 있는데
간격의 색상은 display가 grid인 쪽의 background이랑 일치하기에 background의 색상을 바꿔주면 된다. ( 4번 라인 )
또한 gap를 행과 열에 다르게 주고 싶을 땐 아래와 같이 설정하면 된다.
colum-gap : column간의 공백의 크기를 지정한다.
row-gap: row간의 공백의 크기를 지정한다.
아주 간단하지만 생각 안 날 때가 가끔 있어서 정리해 보았다 🤣
'CSS' 카테고리의 다른 글
[ CSS ] fr, Fraction, minmax() (0) | 2023.04.06 |
---|---|
[ CSS ] Grid 간단하게 설정하기 (0) | 2023.04.06 |
[ CSS ] Grid 사용하기 , element 위치설정, content와 grid 위치설정 (0) | 2023.04.05 |
[ CSS ] nth-child, nth-of-type 가상선택자 정리 (0) | 2023.02.06 |
[ CSS ] input type="color" 디자인 변경하기 (0) | 2023.02.02 |