В следующем HTML я хотел бы, чтобы рамка вокруг изображения была плотной - не растягивать и не использовать всю доступную ширину в родительском контейнере. Я знаю, что есть несколько способов сделать это (в том числе такие ужасные вещи, как ручная настройка его ширины на определенное количество пикселей), но каков правильный путь?
Изменить:. Один из ответов предполагает, что я отключу "display: block" - но это приводит к тому, что рендеринг выглядит искаженным в каждом браузере, в котором я его тестировал. Есть ли способ получить красивый рендеринг с отключением "display: block"?
Изменить: Если я добавлю "float: left" в рамку рисунка и "очистить: оба" к тегу P, он выглядит великолепно. Но я не всегда хочу, чтобы эти кадры плавали слева. Есть ли более прямой способ выполнить то, что делает "float"?
.pictureframe {
  display: block;
  margin: 5px;
  padding: 5px;
  border: solid brown 2px;
  background-color: #ffeecc;
}
#foo {
  border: solid blue 2px;
  float: left;
}
img {
  display: block;
}<div id="foo">
  <span class="pictureframe">
       <img alt=''
        src="http://stackoverflow.com/favicon.ico" />
  </span>
  <p>
    Why is the beige rectangle so wide?
  </p>
</div>