헷갈리거나 이해가 잘 안되었던 부분 복습하기!!
[들어가기 전..]
멋쟁이사자처럼 FE스쿨 과정 3주 동안 HTML/CSS 과정에 대해 학습하였다.
체득화 해야 할 속성들이 굉장히 많지만, 그 중에서 오늘은 CSS 속성을 활용해 컨텐츠를 가운데(중앙)정렬하는 방법에 대해 복습하고자 한다.
CSS에서 컨텐츠를 정렬하는 방법은 굉장히 다양하다.
그렇다면 다양한 방법마다 "주로 어디에 쓰일까?" 하는 관점으로 복습을 시작해보고자 한다.
text-align: center;
position: absolute;
는 부모 엘리먼트의 위치를 기준으로 절대적인 위치 값을 설정할 수 있다.transform: translate(-50%,-50%);
까지 설정해서 정중앙에 위치transform
은 대상의 형태를 변형하는 명령어로, translate는 위치를 조정하는데 사용함display: flex;
를 사용하면 중앙 정렬을 간편하게 할 수 있음position:absolute;
를 쓰기 어려운 환경에 사용하기 적절함div
안에 텍스트를 정중앙에 위치시키거나, 버튼의 이미지를 정중앙에 위치시킬 때 등 절대 위치를 적용하기 힘든 모든 상황에 적절하게 사용 가능🤔 이렇게는 안될까?
display: flex;
를 준다.text-align: center;
(수평 중앙 정렬) 해주고, display: flex;
, align-items: center;
(수직 중앙 정렬) 해준다.🤷🏻♀️ Why???
text-align
과 flexbox의align-items
속성을 같이 사용하여 가운데 정렬하려고 하면, 두 속성의 역할과 적용 대상을 혼동할 수 있다. 이 두 속성은 서로 다른 방향으로 요소들을 정렬하는데 사용되며, 한 속성의 영향을 다른 속성이 덮어쓸 수 있다.
display: flex;
justify-content: center;
align-items: center;
을 사용하거나,text-align: center;
line-height: 부모 height 동일하게
를 사용하면 된다.place-content: center;
를 사용하여 수직,수평 가운데 정렬align-content
와 justify-content
를 함께 설정하는 단축 속성으로, 수평 및 수직 가운데로 정렬됨CSS 중앙 정렬 참고: https://brunch.co.kr/@skykamja24/514
복습을 하기 전에는 "가운데 정렬 방법이 엄청 다양하네..😵뭐뭐 있었더라..?" 하면서 가장 기억하기 쉬웠던 margin: auto;
만 열심히 적용했었다..
margin: auto;
가 적용이 안될 때는 구글링, 챗gpt의 도움을 받곤 했다. 이번 복습을 통해서 가운데 정렬 방법의 종류에 대해 조금 더 명확히 알 수 있었고, 앞으로는 상황에 맞는 가운데 정렬 방법을 사용할 수 있도록 업그레이드 해야겠다!
[복습 소감 요약]
복습 전: "가운데 정렬...margin: auto
...."
복습 후: "가운데 정렬에는 이런 방법들이 있구나! 다양하게 적용해보자!"