.grid {
width: 500px;
margin: 0 auto;
background-color: dimgrey;
text-align: center; /*inline-block의 장점은 폰트의 성질도 포함되고 있어서 text-align으로 정렬을 쉽게 할수가 있다.*/
font-size: 0; /*양 옆쪽, 밑에 4px정도 여백을 없에주는 방법 하지만 크로스브라우징 호환성헤서는 문제가 있다.*/
}
.grid_item {
width: 100px;
height: 100px;
display: inline-block; /*이부분에 성질을 inline-block로 바꿔줘서 가로배치를 해줬다.*/
vertical-align: top; /*밑에 4px 여백을 없에는것*/
}
.grid_item.first {background-color: orange;}
.grid_item.two {background-color: yellow;}
.grid_item.third {background-color: royalblue;}
결과:
근데 inline-block;은 다 좋은데 inline 속성이 기본적으로 가지고 있는 텍스트 성질을 가지고 있어서 자세히 보시면 4px 정도 여백이 양옆과, 밑에 생겼어요. 물론 저 여백은 font-size: 0;으로 강제로 없앨 수가 있어요. 하지만 호환성 문제가 있기 때문에 주의해야 해요.
결론적으로는 저 양옆에 여백 4px을 완벽하게 없애주는 것은 없어요. 존재하지 않아요.
그래서 제가 말씀드리고 싶은 것은 inline-block;은
이런 경우에만 사용하시는 것을 권장합니다. 즉 텍스트에 양옆이 어느 정도 여백이 있고, 가로 정렬인 디자인일 때 권장합니다.
float에 대해서 이야기를 해볼게요
float은 뜨다는 성질을 가지고 있어요. 말 그대로 공간에서 뜨는 거죠. 이것도 똑같은 예제로 말씀을 드릴게요.