인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Next님의 프로필 이미지
Next

작성한 질문수

반응형 웹사이트 포트폴리오(Architecture Agency)

PC 레이아웃 서브페이지 퍼블리싱(Hiring Info) - #01

float 질문드립니다.

해결된 질문

작성

·

190

1

레이아웃 배치 관련 실습하던 도중에 궁금증이 생겨 질문드립니다.

1) 태그에 position:absolute를 주면 해당 태그는 인라인 블럭으로 바뀐다고 하셨는데 그럼 float:left같이 float를 줬을 때는 display가 어떻게 바뀌는건가요?

위의 이미지처럼 span태그는 인라인이라서 크기값을 줄 수 없는데 float를 주고 나니 크기값을 줄 수 있게 되서 인라인 블럭으로 바뀐 것처럼 보이지만 또 인라인 블럭은 아니라고 생각되는게 부모 요소에 text-align:center를 줘도 중앙 정렬이 되지가 않네요.

2) 또 float:left되어있는 저 span들을 가운데 중앙 정렬 시키려면 어떻게 해야 하나요?

(span태그를 또 하나의 태그로 묶은 후 그 태그를 인라인 블럭으로 만들어서 부모요소에 text-align:center; 이렇게 하는 방법밖에 없나요?)

답변 1

3

1번 답변...

float를 주면 display 속성이 인라인블럭으로 바뀐다고는 꼭 말할 수는 없어요.
인라인 블록의 경우 우측에 마진이 생기는 float를 준 요소는 안그러거든요. 좀 특수한 경우라고 생각하시면 될 것 같아요.
요건 이론적인 명쾌한 답변이 어렵네요.ㅠㅠ

.box에 text-align: center로 하려면 .box의 자식요소가 인라인 또는 인라인 블록이어야 합니다.
현재 .box span은 인라인 또는 인라인 블록으로 display가 변경된거 아니라는 뜻인 것 같아요.

2번 답변...

float: left가 적용된 span을 부모요소의 text-align: center로 중앙에 보내는 건 매우 어렵습니다. 가능하지만 margin-left와 같은 야매(?)를 써야 합니다.

그래서 .box span을 display: inline-block 그리고 오른쪽에 생긴 마진을 없애기 위해 margin-right: -5px 이렇게 해주세요.

또 다른 방법은 .box에 display: flex와 justify-content: center를 주시면 됩니다.

Next님의 프로필 이미지
Next

작성한 질문수

질문하기