В Firefox только мои видео-эскизы отображают таинственные 2-3 пикселя пробела между нижней частью моего изображения и его границей (см. ниже).
Я пробовал все, что мог придумать в Firebug, не повезло.
Как удалить это пробел?
В Firefox только мои видео-эскизы отображают таинственные 2-3 пикселя пробела между нижней частью моего изображения и его границей (см. ниже).
Я пробовал все, что мог придумать в Firebug, не повезло.
Как удалить это пробел?
Вы видите пространство для descenders (бит, который висит внизу "y" и "p" ), потому что img
является встроенным элементом по умолчанию. Это устраняет пробел:
.youtube-thumb img { display: block; }
Вы можете использовать код ниже, если вы не хотите изменять режим блока:
img{vertical-align:text-bottom}
Или вы можете использовать следующее, как предлагает Стюарт:
img{vertical-align:bottom}
Если вы хотите сохранить изображение как встроенное, вы можете поместить на него vertical-align: top
или vertical-align: bottom
. По умолчанию он выровнен по базовой линии, следовательно, несколько пикселей под ним.
Я установил JSFiddle, чтобы протестировать несколько различных решений этой проблемы. Исходя из [расплывчатых] критериев
1) Максимальная гибкость
2) Нет странного поведения
Принятый здесь ответ
img { display: block; }
который рекомендуется многим людям (например, в этой превосходной статье), на самом деле занимает четвертое место.
1-е, 2-е и 3-е место - все эти три решения:
1) Решение, данное @Dave Kok и @Hasan Gursoy:
img { vertical-align: top; } /* or bottom */
<Ь > плюсы:
минусы:
2) Установка font-size: 0;
в родительском элементе:
.parent {
font-size: 0;
vertical-align: top;
}
.parent > * {
font-size: 16px;
vertical-align: top;
}
Поскольку для этого <вид > требуется vertical-align: top
для img
, это в основном расширение 1-го решения.
<Ь > плюсы:
минусы:
3) Установка line-height: 0
в родительском элементе:
.parent {
line-height: 0;
vertical-align: top;
}
.parent > * {
line-height: 1.15;
vertical-align: top;
}
Подобно 2-му решению в этом, чтобы сделать его полностью гибким, он в основном становится расширением 1-го.
<Ь > плюсы:
минусы:
Итак, у вас это есть. Надеюсь, это поможет какой-то бедной душе.
Я нашел этот вопрос, и ни одно из решений здесь не работало для меня. Я нашел другое решение, которое избавилось от пробелов ниже изображений в Chrome. Мне пришлось добавить line-height:0;
в селектор img в моем CSS, а пробелы ниже изображений исчезли.
Сумасшедший, что эта проблема сохраняется в браузерах в 2013 году.
Если бы эта проблема, нашли отличное решение в другом месте, если вы не хотите, чтобы вы использовали блок, просто добавьте
img { vertical-align: top }
.youtube-thumb img {display:block;} or .youtube-thumb img {float:left;}
Дайте высоте div .youtube-thumb
высоту изображения. Это должно установить проблему в браузере Firefox.
.youtube-thumb{ height: 106px }
Как указано ранее, изображение рассматривается как текст, поэтому нижняя часть должна соответствовать тем, что надоедливо: "p, q, y, g, j"; самым простым решением является назначение отображения img: block; в вашем css.
Но это блокирует стандартное поведение изображения, протекающего с текстом. Чтобы сохранить это поведение и устранить пространство. Я рекомендую обернуть изображение чем-то вроде этого.
<style>
.imageHolder
{
display: inline-block;
}
img.noSpace
{
display: block;
}
</style>
<div class="imageHolder"><img src="myimg.png" class="noSpace"/></div>