답변:
는 AS 즉 의지하지 작업 text-align
속성은 컨테이너가 아닌 인라인 요소를 차단하도록 적용되며, img
인라인 요소이다. W3C 사양을 참조하십시오 .
대신 이것을 사용하십시오 :
img.center {
display: block;
margin: 0 auto;
}
<div style="border: 1px solid black;">
<img class="center" src ="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a">
</div>
text-align
그들에게도 잘 작동합니다.
나는 이 게시물을 보았고 그것은 나를 위해 일했다 :
img {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
<div style="border: 1px solid black; position:relative; min-height: 200px">
<img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a">
</div>
(수직 및 수평 정렬)
이를 수행하는 또 다른 방법은 다음 단락을 중심으로하는 것입니다.
<p style="text-align:center; border:1px solid black"><img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a"></p>
text-align: center
이 이미지를 중앙에 배치하는 좋은 방법 인지 묻고 속성 이 img 태그의 일부 여야한다고 지정하지 않았습니다 . 이 답변은 솔루션을 제공하기 위해 문제의 속성을 사용합니다 (작동하는).
실제로 코드의 유일한 문제점은 text-align
속성이 태그 내부의 텍스트 (예, 이미지는 텍스트로 계산 됨)에 적용된다는 것입니다. 당신은 넣어 싶은 span
이미지 주위에 태그를 설정하고 그 스타일을 text-align: center
이렇게 같이 :
span.centerImage {
text-align: center;
}
<span class="centerImage"><img src="http://placehold.it/60/60" /></span>
이미지가 중앙에 위치합니다. 질문에 대한 응답으로 이미지를 포함하는 span
(또는 div
)에 규칙을 적용하는 것을 기억하는 한 이미지를 중앙에 배치하는 가장 쉽고 확실한 방법 입니다.
span
요소이다 display: inline;
이 실행되도록 배치 같은 문제로, 기본적으로 text-align: center;
온 img
자체. 당신은 설정해야합니다 span
으로 display: block;
또는로 교체 div
작업이를 위해.
내가 제안 할 수있는 요소를 가운데에 맞추는 세 가지 방법이 있습니다.
text-align
속성 사용
.parent {
text-align: center;
}
<div class="parent">
<img src="https://placehold.it/60/60" />
</div>
margin
속성 사용
position
속성 사용
img {
display: block;
position: relative;
left: -50%;
}
.parent {
position: absolute;
left: 50%;
}
<div class="parent">
<img src="https://placehold.it/60/60" />
</div>
첫 번째와 두 번째 방법은 부모가 최소한 이미지만큼 넓은 경우에만 작동합니다. 이미지가 부모보다 넓 으면 이미지는 중앙에 유지되지 않습니다!
그러나 세 번째 방법은 좋은 방법입니다!
예를 들면 다음과 같습니다.
img {
display: block;
position: relative;
left: -50%;
}
.parent {
position: absolute;
left: 50%;
}
<div class="parent">
<img src="http://imgsv.imaging.nikon.com/lineup/lens/zoom/normalzoom/af-s_dx_18-140mmf_35-56g_ed_vr/img/sample/img_01.jpg" />
</div>
img
정당화 div
된 내부 를 가운데에 배치 할 수있을 정도로 정확합니다 WebView
. 감사합니다!
고대 버전의 Internet Explorer를 지원해야하는 경우에만 해당됩니다.
현대적인 접근 방식은 margin: 0 auto
CSS에서 수행 하는 것입니다.
예 : http://jsfiddle.net/bKRMY/
HTML :
<p>Hello the following image is centered</p>
<p class="pic"><img src="https://twimg0-a.akamaihd.net/profile_images/440228301/StackoverflowLogo_reasonably_small.png"/></p>
<p>Did it work?</p>
CSS :
p.pic {
width: 48px;
margin: 0 auto;
}
여기서 유일한 문제 는 단락의 너비가 이미지의 너비와 같아야한다는 것 입니다. 단락에 너비를 넣지 않으면 물론 100 %로 가정하고 이미지를 왼쪽으로 정렬하기 때문에 작동하지 않습니다 text-align:center
.
바이올린을 시험해보고 원하는 경우 실험 해보십시오.
img{
display: block;
margin-right: auto;
margin-left: auto;
}
컨테이너 고정 이미지에서 CSS 3 Flexbox 를 사용 하여 이미지를 세로 및 가로로 완벽하게 중앙에 배치 할 수 있습니다 .
이미지 홀더로 <div class = "container">가 있다고 가정 해 봅시다.
그런 다음 CSS로 사용해야합니다.
.container {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
그리고 이것은이 div의 모든 내용을 완벽하게 중앙에 배치합니다.
내가 찾은 가장 간단한 해결책은 이것을 img-element에 추가하는 것입니다.
style="display:block;margin:auto;"
다른 사람들이 제안한대로 "auto"앞에 "0"을 추가 할 필요가없는 것 같습니다. 어쩌면 이것이 올바른 방법 일지 모르지만 "0"없이도 내 목적에 충분하게 작동합니다. 최신 파이어 폭스, 크롬, 및에 적어도 가장자리 .
auto auto auto auto
및 0 auto
수단 0 auto 0 auto
... 그리고 아래쪽과 위쪽 여백에 대한 기본 자동으로이되어 0
있으므로 0을 추가하거나 정확히 당신이 n 번째 중복 사람의 이미 제공에 대답 할이 경우 동일
auto
, auto auto
, auto auto auto
, auto auto auto auto
, 0 auto 0
, 0 auto
, 0 auto 0 auto
, 등등 ... 당신은 각각 다른 대답을받을 자격이 생각을? 나는 그렇게 생각하지 않습니다.
i++
동일 i+=1
)
배경 이 아닌 이미지 를 중앙에 배치하는 것은 이미지를 인라인으로 표시할지 (기본 동작) 또는 블록 요소로 표시할지에 따라 다릅니다.
인라인의 경우
이미지의 표시 CSS 속성의 기본 동작을 유지하려면 설정해야하는 다른 블록 요소 안에 이미지를 래핑해야합니다. text-align: center;
블록의 경우
이미지를 자체 블록 요소로 간주하려면 text-align
속성이 감지되지 않으므로 대신이 작업을 수행해야합니다.
IMG.display {
display: block;
margin-left: auto;
margin-right: auto;
}
귀하의 질문에 대한 답변 :
속성이 텍스트 정렬입니까? CSS를 사용하여 이미지를 중앙에 배치하는 좋은 방법은 무엇입니까?
예, 아니오
text-align
속성 을 상속하므로 이미지 래퍼 내에 다른 요소가있는 경우이 부작용이 마음에 들지 않을 수 있습니다.참고 문헌
display: block
와 함께 margin: 0
작동하지 않았고 text-align: center
요소로 포장하지 않았습니다 .
이것은 내 솔루션입니다.
img.center {
position: absolute;
transform: translateX(-50%);
left: 50%;
}
margin: 0 auto;
했습니까? 열쇠는 설정입니다 margin-left
및 margin-right
에 auto
. margin: 0 auto;
바로 가기입니다.
margin: 0 auto
, margin: 0
그리고 margin: auto
, 아무도 일하지. Chrome 관리자 margin: 0 auto
invalid property value
relative
위치 결정 을 사용하고 싶을 수도 absolute
있지만 둘 다 잘 작동합니다.
안에 이미지와 텍스트가 있으면 텍스트와 이미지를 한 번에 정렬하는 데 div
사용할 수 있음을 발견했습니다 text-align:center
.
HTML :
<div class="picture-group">
<h2 class="picture-title">Picture #1</h2>
<img src="http://lorempixel.com/99/100/" alt="" class="picture-img" />
<p class="picture-caption">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Temporibus sapiente fuga, quia?</p>
</div>
CSS :
.picture-group {
border: 1px solid black;
width: 25%;
float: left;
height: 300px;
#overflow:scroll;
padding: 5px;
text-align:center;
}
코드 펜 : https://codepen.io/artforlife/pen/MoBzrL?editors=1100
때때로 우리는 페이지 내에서 WordPress 관리자의 내용과 이미지를 직접 추가합니다. 컨텐츠 안에 이미지를 삽입하고 그 중심을 정렬하려고 할 때. 코드는 다음과 같이 표시됩니다.
**<p><img src="https://abcxyz.com/demo/wp-content/uploads/2018/04/1.jpg" alt=""></p>**
이 경우 다음과 같이 CSS 내용을 추가 할 수 있습니다.
article p img{
margin: 0 auto;
display: block;
text-align: center;
float: none;
}