이미지 위에 텍스트 정가운데에 넣는 방법

사진을 강조하는 블로그나 사이트의 경우 이미지 위에 텍스트를 놓는 경우가 많습니다. 텍스트가 보이게 놓기도 하고, 마우스를 올리면 보이게 하기도 합니다. 텍스트를 이미지 위에 어떻게 넣는지 알아보겠습니다.
2 min read

다음은 이미지와 텍스트가 있는 간단한 코드입니다. 이미지는 흑백 사진이고, 텍스트의 배경색은 구분하기 쉽도록 노란색으로 했습니다.

<div class="lb-wrap">
  <div class="lb-text">
    <h2>HELLO</h2>
  </div>
  <div class="lb-image">
    <img src="//bit.ly/3mS3fIJ" alt="">
  </div>
</div>
.lb-wrap {
  width: 50%;
  margin: 10px auto;
  border: 1px solid #000000;
}
.lb-wrap img {
  width: 100%;
  vertical-align: middle;
}
.lb-text {
  padding: 10px 20px;
  background-color: #FFEEBC;
  text-align: center;
}

 

가운데로 옮기기

이미지와 텍스트를 감싸고 있는 요소에 position: relative; 를 추가합니다.

텍스트를 감싸고 있는 요소에 position: absolute; 를 추가하고, 위치를 50%로 정합니다.

.lb-wrap {
  width: 50%;
  margin: 10px auto;
  border: 1px solid #000000;
  position: relative;
}
.lb-wrap img {
  width: 100%;
  vertical-align: middle;
}
.lb-text {
  padding: 10px 20px;
  background-color: #FFEEBC;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
}

하지만 꼭짓점의 위치가 위에서 50%, 왼쪽에서 50%이므로, 텍스트가 정가운데에 있지 않습니다.

 

이를 해결하기 위해 transform: translate(-50%, -50%); 을 추가합니다.

.lb-text {
  padding: 10px 20px;
  background-color: #FFEEBC;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

이제 이미지의 정가운데에 텍스트가 있습니다.

 

 

기타 CSS 참조

You may like these posts

  • 이미지 비율 맞추기 텍스트는 일반적으로 바뀐 폭에 맞추어 자동으로 줄바꿈이 되지만, 이미지는 줄바꿈이라는 게 없기 때문에 문제가 생깁니다. 어떤 문제가 발생하는지 살펴보고 해결책을 찾아보겠습니다.   이미지 크기를 정하지 않은 경우 이미지의 크기를 정하지 않으면 부모 요소보…
  • 다음은 이미지와 텍스트가 있는 간단한 코드입니다. 이미지는 흑백 사진이고, 텍스트의 배경색은 구분하기 쉽도록 노란색으로 했습니다. <div class="lb-wrap"> <div class="lb-text"> <h2…
  • 배경의 투명도 배경만 투명하게 하려면 RGBA 색상을 이용하여 정합니다. 간단한 예제는 다음과 같습니다. div { padding: 40px; background-image: url( "//bit.ly/3l02sot" ); } p { font-family: "Arial Black", sans-se…
  • clip clip 속성으로 요소의 특정 부분만 나오도록 할 수 있습니다. position 속성값이 absolute 또는 fixed일 때만 적용됩니다.   기본형 clip : auto | shape auto : 요소의 모든 부분이 나옵니다. shape : 특정 부분이 나오도록…
  • 이미지에 마우스 올렸을 때 확대하는 방법 이미지에 마우스를 올렸을 때 이미지가 확대되는 효과를 만들어보겠습니다. <h1>Hover Effect</h1> <div class="a"> <img alt="" src…
  • 이미지 가운데 정렬하는 방법 이미지를 가운데 정렬하는 방법은 여러 가지가 있습니다. 그 중 자주 사용되는 두 가지를 소개합니다.   방법 1 이미지의 부모 요소에 text-align 속성을 추가하는 방법입니다. <div> …

2 comments

  1. 4년 전
    이런 스타일의 댓글 입력창은 어떻게 만들었는지 알 수 있을까요? 기본 입력창은 이렇게나 구립니다.
    Image Comment
    1. 4년 전
      안녕하세요. 기본 테마 Contempo 댓글 입력창을 그대로 쓰고 있어요. 다만 댓글 쓰기 버튼을 누르면 댓글창이 보이도록 스크립트를 추가했어요.