일반적으로 너회가 센터 '를 사용하여 이미지 디스플레이: 블록. 승리를 거두었다. it, 자동차 '신앙이니라 이미지 보다 큰 컨테이너인 오버플로우될 오른쪽으로 이동합니다. How do I make it 오버플로입니다 대한 양측 모두 똑같이? 컨테이너입니다 너비입니다 고정되어 있다. 이미지 너비입니다 알 수 없습니다.
필요한 추가 래퍼 (IE7, IE8, FireFox 에서 테스트되었습니다) 1:
당초 문제가 오토메이티드 (아래). 이미지 보다 큰 경우 외부 '에서 중심맞춤됩니다 it& 컨테이너입니다 that' s # 39, 그런 이미지에 대한 과도한 자동 여유폭 잘라냅니다 왼쪽 오른쪽 공간을 만들고, [이런 바이올린 fs@snapa] [1].
우리가 할 수 있는 '다음' 에서 적절한 중심으로 내부 유동 해결하십시오 의해 오른쪽. Img '' 이 여전히 잘라냅니다 끕니까 페이지를 통해 이를 명시적으로 추진하고 있지만, 그 다음 왼쪽 이쪽요 센터급 물러서렴 함께 할 수 있는 것이 어떤 추가 가로 이동줄이 오른쪽에. 이제 우리에게 주얻진 오른쪽 부분은 바로 확인할 수 있도록 하기 위해 필요한 만큼 적절한 image. 스크롤하십시오.
[바이올린 예] [2] (테두리) 의 바이올린 는 데모 전용임)
div.outer {
width: 300px; /* some width amount needed */
margin: 0 auto;
overflow: visible;
}
div.inner {
position:relative;
float: right; /* this was added and display removed */
right: 50%;
}
div.inner img {
position: relative;
right:-50%; /* this was changed from "left" in original */
}
또한, 그 위의 모든 요소를 사용하여 설정되었습니다 둘러싸여집니다 '외부' ([like '몸'] [3] 또는 [제 3 의 래퍼] [4]) 에 '오버플로입니다: 숨겨짐 '.
[바이올린 예] [5] (테두리) 의 바이올린 는 데모 전용임)
<div class="outer">
<div class="inner">
<img src="/yourimage.png">
</div>
</div>
div.outer {
width: 300px; /* some width amount needed */
margin: 0 auto;
overflow: visible;
}
div.inner {
display: inline-block;
position:relative;
right: -50%;
}
div.inner img {
position: relative;
left:-50%;
}
<div class="image-container">
<img src="http://www.google.com/images/logo.gif" height="100" />
</div>
.image-container {
width: 150px;
border: solid 1px red;
margin:100px;
}
.image-container img {
border: solid 1px green;
}
$(".image-container>img").each(function(i, img) {
$(img).css({
position: "relative",
left: ($(img).parent().width() - $(img).width()) / 2
});
});
그것을 볼 켜짐이 이스피들:
Css 를 사용하는 것이 '변형' 순결케 대안 솔루션을 속성:
HTML:
<div class="outer">
<img class="image" src="http://www.gstatic.com/webp/gallery/4.jpg" />
</div>
CSS.
.outer {
position: relative;
width: 100px;
border: 1px solid black;
height: 150px;
margin-left: 100px; /* for demo */
/* overflow: hidden; */
}
img.image {
width: 200px;
opacity: 0.7;
position: absolute;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
}
[바이올린] (
)단순히 '숨겨진' 모 'div 숨김니다 추가하기에서는 오버플로입니다.' 를 추가 이미지 영역.
실제로는 순결케 간단해진다는 css / html 의 길 (없이 큰 가로 이동줄이):
<div class="outer">
<img src="/my/sample/image.jpg">
</div>
div.outer img {
position: absolute;
left: -50%;
z-index:-1;
}
div.outer {
overflow: hidden;
position: relative;
height: 200px;
}
이미지가 있는 오버플로입니다 가시적입니다
div.outer img {
position: absolute;
left: -50%;
z-index:-1;
}
div.outer {
overflow: visible;
position: relative;
height: 200px;
}
body, html {
overflow-x:hidden;
}
이미지 오버플로입니다 볼 수 있는 솔루션 (a * 배경.
Html *:
<div class="outer">
<div class="inner"></div>
</div>
div.outer {
width: 100%;
height: 200px;
}
div.inner {
background: url('/assets/layout/bg.jpg') center no-repeat;
position: absolute;
left: 0;
width: 100%;
height: inherit;
}
이 경우 외부 너버 지정되었습니까 컨테이너입니다.
내가 뭘 해야 할 수 있을 것 같아 Javascript 솔루션이므로 포지셔닝하십시오 부정적 이미지 때문에 상대적으로 많은 컨테이너입니다 왼쪽에 있다.
$(document).ready(function(){
var theImg = $('#container img');
var theContainer = $('#container');
if(theImg.width() > theContainer.width()){
theImg.css({
position: 'relative',
left: (theContainer.width() - theImg.width()) / 2
})
}
})