html — Лишний отступ внизу блока, содержащего img

Вопрос задан

Изменён 6 лет 9 месяцев назад

Просмотрен 5k раза

CSS

main div.image {
    display: block;
    width: 100%;
}
main div.image img {
    width: 100%;
    height: auto;
}

HTML

<div>
  <img src="/images/nature-1.jpg" alt="">
</div>

Проблема в том, что этот код (да даже без любого CSS, просто картинка в другом теге) добавляют дополнительное пространство снизу родительского блока.

Вы можете заметить, что сама картинка уже «закончилась», но родительскому блоку все равно снизу добавляется некоторое свободное пространство. С чем это связано и как от этого избавиться — вопрос.

Хотя, может быть, это нормально и добавляется вне зависимости от моего желания, прямо как margin’ы у p. Хотя от них можно избавиться.

  • html
  • css
2

main div.image img {
    width: 100%;
    height: auto;
}

Можно добавить

vertical-align: top;

либо использовать

display: block;
1

Картинка, по умолчанию, отображается как строковый элемент, на который влияет высота строки. Именно высота строки ответственна за расстояние между div и img.

Решения два:

  1. Обнулить высоту строки для обертки.
  2. Сделать картинку блочным элементом.
.holder {
  border: 1px solid lime;
  outline: 1px solid #000;
  width: 100px;
}
.fix-1 {
  line-height: 0;
}
.fix-2 img {
  display: block;
}
<div>
  <div>
    <img src="http://satyr. io/100x100/1" alt="">
  </div>
  <div>
    <img src="http://satyr.io/100x100/2" alt="">
  </div>
</div>
2

добавте в стили к картинке display: block; — такое поведение изначально изза того что картинка по умолчанию инлаин

main div.image img {
   display: block;
   width: 100%;
   height: auto;
}
2

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

html — Как убрать отступ справа у картинки (Bootstrap)?

Вопрос задан

2 года 1 месяц назад

Изменён 2 года 1 месяц назад

Просмотрен 429 раз

Недавно начал ковырять Bootstrap. Когда верстал одну секцию заметил, что у картинок (img) появляется непонятный отступ справа. А именно 5px. Как не менял стили ничего не получилось. Надеюсь на помощь и объяснение)

work {
  margin: 70px auto;
}
.work__img {
  width: 100%;
  height: 100%;
  max-width: 320px;
  max-height: 180px;
  padding: 0;
  margin: 0;
}
.center {
  width: 100%;
  max-width: 1900px;
  margin: 0 auto;
}
<section>
  <div>
    <div>
      <div>
        <img src="https://i.
imgur.com/MnDJ8xg.png" alt="work_1"> <img src="https://i.imgur.com/CCjyGSL.png" alt="work_1"> </div> <div> <img src="https://i.imgur.com/JdlSYpO.png" alt="work_1"> <img src="https://i.imgur.com/MnDJ8xg.png" alt="work_1"> </div> <div> <img src="https://i.imgur.com/CCjyGSL.png" alt="work_1"> <img src="https://i.imgur.com/JdlSYpO.png" alt="work_1"> </div> <div> <img src="https://i.imgur.com/MnDJ8xg.png" alt="work_1"> <img src="https://i.imgur.com/CCjyGSL.png" alt="work_1"> </div> <div> <img src="https://i.imgur.com/CCjyGSL.png" alt="work_1"> <img src="https://i.imgur.com/JdlSYpO.png" alt="work_1"> </div> <div> <img src="https://i.imgur.com/MnDJ8xg.png" alt="work_1"> <img src="https://i.imgur.com/CCjyGSL.png" alt="work_1"> </div> </div> </div> </section>
  • html
  • css
  • bootstrap

Такая проблема возникает из-за display: inline-block, который изображениям задаётся по умолчанию.

У inline, inline-block и всего с inline-* есть интересная особенность: появляются отступы (опять же по умолчанию) для защиты контента от наложения друг на друга, которые не убираются через margin или padding.

Для того, чтобы от них избавиться, нужно задать блоку display без inline. Также flexbox у родительского элемента перестраивает эту логику (flexbox также понадобится, чтобы вернуть логику, как в Вашем примере). Т.е вот так будет всё работать как надо:

work {
  margin: 70px auto;
}
.work__img {
  width: 100%;
  height: 100%;
  max-width: 320px;
  max-height: 180px;
  padding: 0;
  margin: 0;
}
.center {
  width: 100%;
  max-width: 1900px;
  margin: 0 auto;
}
.images {
  display: flex;
  align-items: center;
}
<section>
  <div>
    <div>
      <div>
        <img src="https://i.imgur.com/MnDJ8xg.png" alt="work_1">
        <img src="https://i. imgur.com/CCjyGSL.png" alt="work_1">
      </div>
    </div>
  </div>
</section>

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

html — Дополнительный отступ под тегом?

спросил

Изменено 9 лет, 10 месяцев назад

Просмотрено 16 тысяч раз

Я получаю отступ под тегом img на своей веб-странице. HTML-код выглядит так:

 
  • Заголовок
  • Да, так что под изображением около 5 пикселей отступа (я могу сказать, потому что цвет фона родительского элемента li отличается). Я попытался назначить класс тегу img с отступом/маржой/границей, установленными на ноль, но без изменений. Мне интересно, есть ли что-то, что я упускаю из тегов img, что может вызвать появление этого заполнения?

    Когда я удалю тег img и просто оставлю div «title», дополнительные отступы исчезнут,

    Спасибо

    ————- Обновление ——- ————

    Это происходит только на FF, хром и сафари выглядят нормально. Firebug также показывает, что заполнение является частью элемента img.

    • HTML
    • CSS
    6

    Если вы можете установить стиль отображения изображения на блок , это должно решить проблему. Установка по вертикали на снизу или посередине также должна работать. Я думаю, что проблема возникает из-за того, что Firefox пытается позиционировать встроенные изображения так, чтобы их нижний край был выровнен с базовой линией текста, и поэтому под изображением оставалось место для выносных элементов текста.

    2

    Просто добавьте атрибут высоты к изображению в теге стиля, например, если вам нужна тонкая линия, то для сафари необходимо указать 1 пиксель.

    Я думаю, вы могли видеть пробел после вашего изображения перед концом элемента списка. Попробуйте избавиться от пробелов в html, например:

     
  • Title
    ..' />
  • 2

    Что, если вы зададите для элементов img значения полей отступов и границы, равные 0? Вы работаете с Firebug?

    0

    Вы можете предоставить ссылку или дополнительный код для лучшего решения вашей проблемы, но:

    1. Убедитесь, что ваше изображение имеет размер 60 на 60 пикселей, как указано в теге img

    2. Удалите отступы, поля и границы из вашего img, у вас может быть настройка по умолчанию для тега img, которая вызывает то, что вы судите

    3. Дополнительное пространство под вашим изображением может быть связано с другими элементами на вашей странице, а это означает, что с изображением на месте какой-то элемент создает дополнительное пространство

    0

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя адрес электронной почты и пароль

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

    html - Невозможно добавить отступы к изображениям

    спросил

    Изменено 7 лет, 2 месяца назад

    Просмотрено 4к раз

    Мне не удается добавить отступы к значкам социальных сетей в Dreamweaver CC 2015. У меня очень мало опыта работы с кодом, но мне нужно закончить школьное задание к вечеру. По сути, мне нужны пробелы между моими значками, чтобы они выглядели более визуально привлекательными (20 пикселей были бы идеальными). Проблема, с которой я сталкиваюсь, заключается в том, что когда я изменяю отступы или поля CSS в разделенном представлении, он показывает, как пробелы создан, но когда я переключаюсь в режим просмотра в реальном времени, пробелы возвращаются к 0px и то же самое при предварительном просмотре.

    Код:

     .social-icon {
      поле справа: 100px;
      поле слева: 100px;
      поле сверху: 0px;
      отступ справа: 100 пикселей;
    } 
     <нижний колонтитул>
      <центр>
        
    • html
    • css
    • поле
    • заполнение
    5

     .социальный значок {
    поле справа: 10px;
    поле слева: 10px;
    
    } 
     <нижний колонтитул>
      <центр>
        
    com">

    вы хотите, чтобы они были выровнены??

    или вы можете сделать это с помощью flexbox

     .footer{
      дисплей: гибкий;
      выравнивание содержимого: по центру;
      гибкая упаковка: упаковка;
    }
    
    .социальный значок {
    поле: 10 пикселей;
    
    } 
     <нижний колонтитул>
      <центр>
        
    ./Flikk/images/twitter.png">

    Вы не можете добавить отступ к элементу изображения. Вы можете добавить его к его родителю, но вы все равно ничего не увидите из-за поля. Почему бы просто не сделать margin-right:200px; ?

    1

    Поскольку тег img не может иметь дочерних элементов, он также не может иметь отступы. Но нельзя ли просто добавить margin: 10px; к изображениям?

    https://jsfiddle.net/Lg9e6Lth/4/

    2

    Вы пробовали это с классом эскизов начальной загрузки? просто найдите его, вы найдете то, что ищете. для стиля эскизов он кажется дополненным

    Я не уверен, что понял вопрос, но это может быстро исправить ситуацию.