Вы можете просто использовать CSS-свойство display
со значением inline-block
, чтобы сделать <div>
не больше, чем его содержимое (то есть расширять только до ширины его содержимого).
display: inline-block;
заставит элемент генерировать блок-бокс, который размещается, как если бы он был встроенным блоком. Давайте посмотрим следующий пример:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Expand DIV as Wide as its Contents using CSS</title>
<style>
.wrapper{
display: inline-block;
border: 25px solid black;
margin: 20px;
}
img{
border: 20px solid white;
}
</style>
</head>
<body>
<div class="wrapper">
<img src="images/sky.jpg" width="300" alt="Cloudy Sky">
</div>
</body>
</html>