Ключ к не задает ширину для элемента img
или родительского контейнера. Если родительский элемент .image
просто перемещается или каким-либо другим образом адаптируется таким образом, чтобы он уменьшался до размера своего содержимого, это должно работать.
Я использовал float
для достижения аспекта сжатия, но position: absolute;
сделал бы то же самое, что и display: inline-block;
.
Демонстрация в JS Bin , которая использует некоторый jQuery для обмена изображениями, но никак не влияет на ширину любых элементов. CSS воспроизводится ниже:
.image {
float: left; // for the shrink wrap
padding: 1em; // To achieve the bordered effect
background-color: #666; // just for contrast
-moz-border-radius: 2em; // for that web 2.0 goodness...
-webkit-border-radius: 2em;
border-radius: 2em;
}
.image img {
-moz-border-radius: 2em; // no width, anywhere. Presumably width: auto, would
-webkit-border-radius: 2em; // work, but that's redundant, since it's the default
border-radius: 2em;
}
.image img + .caption {
width: 100%; // forcing the .caption to take up 100% of the width
background-color: #ffa; // of its parent, except for the padding, so that it's
} // the same width as the image above.