Вы можете заставить его работать, если оберните другой элемент вокруг изображения:
<div class="outer">
<div class="inner"><img src="" alt="" /></div>
</div>
И следующий CSS:
.outer {
width: 300px;
border: 1px solid red;
overflow: hidden;
*position: relative;
}
.inner {
float: left;
position: relative;
left: 50%;
}
img {
display: block;
position: relative;
left: -50%;
}
position: relative
на .outer
помечен *
, поэтому он применяется только к IE6 / 7. Вы можете переместить его в условную таблицу стилей IE, если вы этого хотите, или вообще удалить *
. Необходимо избегать переполнения теперь относительно позиционированных детей.