먼저 일을 시도 할 수 있어야합니다 ... 당신이 얻고있는 결과를 얻는 이유에 대한 설명. 이것은 아주 간단합니다. position: relative;
(또는이 경우 절대 값)을 설정 한 다음 top: 50%;
을 설정하면 이미지의 맨 위쪽이 50 %로 정렬됩니다. 이미지의 높이를 1 픽셀로 설정하면 1 픽셀이 가운데에 맞춰집니다. 안타깝게도 CSS가 위쪽 가장자리가 아닌 이미지 중심에 맞춰야한다고 말하는 방법은 없습니다. 당신은 이미지가 여백을 통해 내부 DIV의 높이를 결정 할 수 있도록 고려했다 ... 지금 가능한 솔루션
...
, 아무 것도이 .inner
DIV 내부 않을 것을 가정하면?
예 : this JSFiddle.
여백 왼쪽과 오른쪽을 자동으로 설정하고 위쪽과 아래쪽 여백을 일부 px 값으로 설정하여 .inner div 안에 이미지를 "가운데에 맞출"수 있습니다. 예를 들어 60 픽셀입니다.
총 div 높이 600px를 얻고 이미지의 높이가 항상 400px 인 경우 100px의 여백 위쪽과 아래쪽에서 총 높이 600px가됩니다. (400 + 100 + 100 = 600).
HTML :
<div class="outer">
<div class="inner">
<img src="http://farm9.staticflickr.com/8311/8023199579_f52f648727_m.jpg">
</div>
</div>
CSS :
.outer {
height:520px;
width:520px;
overflow:hidden;
background-color:yellow;
border: 2px solid purple;
}
.outer .inner {
width: 340px;
display:block;
background-color:blue;
border: 1px solid red;
padding: 10px;
margin: 0 auto;
}
.outer .inner img {
width:280px;
height:auto;
margin: 60px auto;
border:0px;
display:block;
border: 1px solid orange;
}
두 번째 가능한 솔루션 ...
가
<img>
태그가 연구 할 필요가 없습니다 것을 가정 emay
<img>
태그를 사용하는 경우 이미지를 CSS로 이동하는 것이 매우 간단합니다 (
background-image
).
이 솔루션의 데모는 JSFiddle을 참조하십시오.
HTML :
<div class="inner">
</div>
CSS :
.inner {
width: 540px;
height: 340px;
display:block;
background-color:blue;
border: 1px solid red;
margin: 0 auto;
background: blue url('http://farm9.staticflickr.com/8311/8023199579_f52f648727_m.jpg') no-repeat 50% 50%;
}
당신이 스크린 샷 또는 JS 바이올린을 제공 할 수 있도록 우리가 무슨 잘못 시각적으로 볼 수 있습니까? – Michael
나는 JS Fiddle (바깥 쪽의 높이를 뚫고 오른쪽으로 이미지를 밀어 넣었습니다)을 만들었지 만 50 % 이미지를 밀어 내지는 못합니다. 나는 screendump를 추가 할 것입니다. http://jsfiddle.net/joepdooper/3NSP8/ – Joep
이미지가 img 태그에 머무르거나 CSS의 배경 이미지가 될 수있는 것이 절대적으로 필요합니까? – Michael