text-align이 안 먹는 이유? block과 inline의 차이

text-align이 안 먹는 이유? 블록과 인라인을 이해하면 해결된다!
HTMLCSS
avatar
2025.01.05
·
3 min read

배운 내용을 가지고 miniTodo를 만들고 있었다.

맨 위 제목을 h1을 사용해

2716


이런 식으로 하고 싶었다.

그런데

2718


이렇게 떴다.

처음 코드

h1 {
  text-align: center;
  background-color: black;
  color: white;
}

배경을 글자(content)만 해당하게 하려면 블록 요소를 인라인 요소로 바꿔야 한다는 게 떠올랐다.
그래서

display: inline

추가했지만 가운데 정렬이 되지 않았다.

블록요소와 인라인 요소의 가운데 정렬 방법은 다른 건가 생각이 들었다.
그래서 찾아보았다.

왜 text-align: center 가 안 먹었는데?

블록 요소는 한 줄을 다 자기 공간으로 사용한다. 그래서 자기 공간이기 때문에 조절이 가능한 것.
인라인 요소는 content 영역만 자기 공간으로 사용한다. 그래서 나머지 공간에 대해서는 권한이 없는 것
~~으로 이해했다. ~~
그래서 인라인 요소를 가운데 정렬하려면 블록 요소로 감싸고, 부모에게(블록 요소) text-align: center를 한다.

text-align은 자식과 자손에게도 상속이 되기 때문이다!!

최종 코드

div.container {
  text-align: center;
}

div>h1 {
  display: inline;
  background-color: black;
  color: white;
}

h1 {
    background-color: black;
    color: white;
}

최종 완성 모습(문제 해결)

2717

알게 된 점

1⃣ 인라인 요소는 content 영역만 자기 공간이다.
2⃣ 인라인 요소를 text-align을 하기 위해서는 블록 요소를 부모로 감싸서 사용해야 한다.







- 컬렉션 아티클