@Senseich

Почему изображение с display: block выходит за рамки блока родителя?

Всем привет! Знаю , что вопрос риторический и что изображения имеют свой тип. Но иногда делаешь на автомате, а потом задумываешься почему так. Это из той серии или может я зогнался )

Суть вопроса: есть блок c шириной скажем 300px, в нём изображение c шириной 340px. Изображение выйдет за рамки блока, т.к. это особенность изображений. Но почему если изображению задать display: block , то оно так же выходит за рамки. Ведь из определения блочного элемента:

Он занимает всю свободную ширину окна браузера и ширина блока будет равна 100%. Стоит поместить его внутрь другого, как ширина внутреннего тега начинает исчисляться относительно его родителя, т.е. внешнего контейнера.

В данном случае изображение блочный элемент внутри контейнера блочного, почему тогда выезжает?
Вот для примерчика: https://jsfiddle.net/193x2jgc/
Понятно, что width: 100%; для изображения будет всё работать, но почему без width не работает, это же 2 блочных элемента?
Где правда? )
  • Вопрос задан
  • 853 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
Все верно, абстрактный элемент с display: block по умолчанию имеет ширину 100%. Но вы же явно указали, что у него должна быть ширина 300px, а не 100%.

Для изображения, вы указали display: block, но это же изображение, у него есть "родная" ширина, полученная из самой картинки, и она 340px.

А вот этот зеленый растянулся на 100% https://jsfiddle.net/193x2jgc/1/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Jumandjilos
Короче, задай изображению max-width: 100%; Оно займёт весь блок, а также будет адаптивным.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы