웹 페이지의 프론트 엔드에서 작업할 때 이미지를 div
(컨테이너) 내 중앙에 배치해야 하는 경우가 있습니다.
이것은 때때로 까다로울 수 있습니다. 그리고 특정 조건에 따라 특정 방법이 어느 시점에서 작동하지 않을 수 있으므로 대안을 찾아야 합니다.
div
이 기사에서는 CSS 를 사용 하여 이미지를 중앙에 배치하는 방법을 배웁니다 .
DIV에서 CSS를 사용하여 중앙에 배치하는 방법
div
가로 및 세로의 두 가지 방법으로 이미지를 중앙에 배치합니다. 이 두 가지 방법을 함께 사용하면 완전히 중앙에 배치된 이미지를 갖게 됩니다.
기본적으로 웹 콘텐츠는 항상 화면의 왼쪽 상단 모서리에서 시작하여 ltr
(왼쪽에서 오른쪽으로) 이동합니다. 아랍어와 같은 특정 언어는 rtl
(오른쪽에서 왼쪽으로) 제외됩니다.
div
수평 으로 이미지를 중앙에 맞추는 방법부터 시작하겠습니다 . 그런 다음 세로로 가운데 정렬하는 방법을 알아보겠습니다. 마지막으로 두 가지를 함께 수행하는 방법을 살펴보겠습니다.
텍스트 정렬을 사용하여 Div의 이미지를 가로로 가운데에 맞추는 방법
div
다음 과 같이 이미지를 배치하는 위치 가 있다고 가정합니다 .
<div class="container">
<img src="./fcc-logo.png" alt="FCC Logo" />
</div>
이미지가 보이도록 기본 CSS 스타일을 적용합니다.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
}
.container img {
width: 100px;
}
이 text-align
방법은 일반적으로 텍스트를 가운데에 맞추는 데 사용하므로 모든 경우에 작동하지는 않습니다. 그러나 와 같은 블록 수준 컨테이너 내에 이미지가 있는 div
경우 이 방법이 작동합니다.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
text-align: center;
}
.container img {
width: 100px;
}
이것은 이미지 자체가 아닌 컨테이너에 text-align
값과 함께 속성 을 추가하여 작동 합니다.center
Margin-auto를 사용하여 Div의 이미지를 수평으로 가운데에 맞추는 방법
div
(컨테이너) 내에서 이미지를 수평으로 중앙에 배치하는 데 사용할 수 있는 또 다른 방법 margin
은 값이 인 속성입니다 auto
.
그러면 요소가 지정된 width
을 차지하고 나머지 공간은 왼쪽과 오른쪽 여백 사이에 균등하게 분할됩니다.
일반적으로 이 방법을 컨테이너가 아닌 이미지 자체에 적용합니다. 그러나 불행히도 이 속성만으로는 작동하지 않습니다. width
또한 먼저 촬영할 이미지 를 지정해야 합니다 . 이렇게 하면 여백이 컨테이너의 나머지 너비를 알 수 있으므로 균등하게 분할할 수 있습니다.
둘째, img
인라인 요소이며 margin-auto
속성 집합은 인라인 수준 요소에 영향을 주지 않습니다. display
즉, 속성이 로 설정된 블록 수준 요소로 먼저 변환해야 합니다 block
.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
}
.container img {
width: 100px;
margin: auto;
display: block;
}
Position 및 Transform 속성을 사용하여 Div에서 이미지를 수평으로 가운데에 맞추는 방법
이미지를 수평으로 배치하는 데 사용할 수 있는 또 다른 방법은 position
속성 옆에 있는 transform
속성입니다.
이 방법은 매우 까다로울 수 있지만 작동합니다. 먼저 컨테이너 position
를 로 설정 relative
한 다음 이미지를 로 설정해야 합니다 absolute
.
left
이렇게 하면 이제 이미지의 , top
, bottom
또는 right
속성을 사용하여 원하는 위치로 이미지를 이동할 수 있습니다 .
이 경우 이미지를 가로 중앙으로만 이동하려고 합니다. 즉, 이미지를 left
50% 또는 right
-50%로 이동합니다.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
position: relative;
}
.container img {
width: 100px;
height: 100px;
position: absolute;
left: 50%;
}
그러나 이미지를 확인할 때 이미지가 여전히 중앙에 완벽하게 배치되지 않았음을 알 수 있습니다. 센터 포지션인 50%대부터 시작했기 때문이다.
이 경우 transform-translateX
속성을 사용하여 수평으로 완벽한 중심을 얻도록 조정해야 합니다.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
position: relative;
}
.container img {
width: 100px;
height: 100px;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
Display-Flex를 사용하여 Div의 이미지를 수평으로 가운데에 맞추는 방법
CSS flexbox를 사용하면 부동 또는 위치 지정을 사용하지 않고도 유연하고 반응이 빠른 레이아웃 구조를 더 쉽게 디자인할 수 있습니다. 또한 이것을 사용하여 flex를 값으로 하는 display 속성을 사용하여 컨테이너의 수평 중앙에 이미지를 배치할 수 있습니다.
그러나 이것만으로는 작동하지 않습니다. 또한 이미지를 원하는 위치를 정의해야 합니다. 이것은 center,
left
또는 아마도 right
:
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
display: flex;
justify-content: center;
}
.container img {
width: 100px;
height: 100px;
}
참고: 이 display: flex
속성은 이전 버전의 브라우저에서 지원되지 않습니다. 여기에서 더 많은 것을 읽을 수 있습니다 . 또한 이미지가 축소되지 않도록 이미지의 너비와 높이가 정의되어 있음을 알 수 있습니다.
div
이제 이미지를 세로 로 가운데에 맞추는 방법을 알아보겠습니다 . 나중에 우리는 이미지를 div
수평 및 수직으로 중앙에 배치하여 완벽한 중앙으로 만드는 방법을 볼 것입니다.
Display-Flex를 사용하여 수직으로 Div에서 이미지를 가운데에 맞추는 방법
display-flex 방법으로 이미지를 수평으로 중앙에 정렬할 수 있었던 것처럼 수직으로도 동일한 작업을 수행할 수 있습니다.
그러나 이번에는 justify-content
속성을 사용할 필요가 없습니다. 오히려 다음 align-items
속성을 사용합니다.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
display: flex;
align-items: center;
}
.container img {
width: 100px;
height: 100px;
}
height
이 방법이 작동하려면 컨테이너 에 높이를 계산하고 중심 위치를 아는 데 사용할 지정된 컨테이너가 있어야 합니다 .
Position 및 Transform 속성을 사용하여 수직으로 Div에서 이미지를 가운데에 맞추는 방법
position
이전에 및 속성 을 사용 transform
하여 이미지를 수평으로 중앙에 배치한 것과 유사하게 수직으로도 동일하게 수행할 수 있습니다.
하지만 이번에는 left
또는 를 사용하지 않습니다 right,
. 대신 다음 대신 또는 top
함께 bottom
사용 합니다 .translateY
translateX
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
position: relative;
}
.container img {
width: 100px;
height: 100px;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
div
가능한 모든 방법을 사용하여 가로 및 세로 로 이미지를 가운데에 맞추는 방법을 배웠습니다 . 이제 가로와 세로 모두 가운데 정렬하는 방법을 알아보겠습니다.
Display-Flex를 사용하여 Div의 이미지를 가로 및 세로로 가운데에 맞추는 방법
display-flex
속성은 이미지를 세로 및 가로로 가운데에 맞추는 방법의 조합입니다 .
justify-content
flex 메서드의 경우 다음으로 설정된 및 align-items
속성을 모두 사용하게 됩니다 center
.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
display: flex;
justify-content: center;
align-items: center;
}
.container img {
width: 100px;
height: 100px;
}
Position 및 Transform 속성을 사용하여 Div의 이미지를 가로 및 세로로 가운데에 맞추는 방법
이것은 또한 매우 유사합니다. 당신이 해야 할 일은 수직 및 수평 중앙에 둘 수 있는 두 가지 방법을 결합하기만 하면 되기 때문입니다.
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
position: relative;
}
.container img {
width: 100px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
다음 을 사용하여 translateX
and 를 결합할 수도 있습니다 .translateYtranslate(x,y)
.container {
width: 200px;
height: 200px;
background-color: #0a0a23;
position: relative;
}
.container img {
width: 100px;
height: 100px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
마무리
이 기사에서는 div의 이미지를 세로, 가로 또는 둘 다 가운데에 맞추는 방법을 배웠습니다.
position
Flexbox 방법 은 웹 페이지를 왜곡하고 매우 까다롭게 작동하기 때문에 이미지를 중앙으로 이동할 때 종종 Flexbox 방법을 사용합니다 .
여기에서 CSS 위치 방법 에 대해 자세히 알아볼 수 있고 여기 에서 flexbox 방법에 대해 자세히 알아볼 수 있습니다.
즐거운 코딩하세요!
댓글을 달려면 로그인해야 합니다.