У меня есть div с некоторыми изображениями внутри:
<div>
<img><img><img><img>
<div>
Обычно изображения отображаются в строке, однако я использовал некоторый CSS для изменения их относительных позиций слева (-7px для второго, -14px для третьего и т.д.), Поэтому они укладываются частично друг над другом. Есть ли способ сделать div только шириной частично уложенных изображений, а не шириной того, где будут изображения, если они не были перемещены?
Чтобы центрировать изображения, попробуйте обернуть их в другой div. Не уверен, что у вас есть во всех ваших css, но вы можете получить идею в любом случае. Что-то вроде:
.overlap{
width:200px;
outline:1px solid red;
position:relative;
}
.overlap img{
outline:1px solid blue;
display:block;
height:50px;
width:25px;
position:relative;
float:right;
}
.overlap img{
left:-7px;
}
.overlap img + img{
left:-14px;
}
.overlap img + img + img{
left:-21px;
}
#center{
width:100px;
margin:0px auto;
}
<div class="overlap">
<div id="center">
<img><img><img>
</div>
</div>
Если вы установите css как
div img {position: absolute;}
все они будут перекрываться без какого-либо перепозиционирования. Он установит размер img, а div - 0, поэтому он будет работать, только если на странице ничего нет.
Если контент не генерируется динамически, вы можете просто вручную установить div в нужную вам ширину с помощью css.
<div class="overlap">
<img><img><img>
</div>
.overlap {
width: 200px;
}