как мне отладить высоту div / span?

#javascript #css

#javascript #css

Вопрос:

У меня есть такой html:

 <div>
  <span style="display: inline-block;height:20px">20</span>
  <span style="display: inline-block;"><img src="img/ex.png"/></span>
</div>
  

Изображение, которое я импортирую во втором диапазоне, имеет размер 15×15 пикселей

Я могу проверить с помощью chrome, и я вижу, что первый img имеет высоту 15, а второй span имеет высоту 21. (первый имеет высоту 20, как и ожидалось)

может кто-нибудь сказать мне, почему второй диапазон имеет высоту 21 вместо 15???

Спасибо, это сводит меня с ума

Я добавляю ode ниже:

 <!DOCTYPE html>
<html>
  <head>
  <style>
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
  </style>
   </head>
  <body>

  <div>
  <span style="display: inline-block;height:20px">20</span>
  <span style="display: inline-block;"><img src="img/ex.png"/></span>
  </div>



</body>
</html>
  

Комментарии:

1. Существуют ли какие-либо определения стиля? т.е. span { padding:3px; }

2. больше кода (особенно css) / демонстрационный сайт очень помогли бы.

3. Теперь я добавил сброс Мейера, но проблема сохраняется.

Ответ №1:

Ну, либо изображение больше, чем вы думаете, изображение имеет отступы / поля, которые вы не принимаете во внимание, или у диапазона есть отступы / поля, которые вы не принимаете во внимание.

  1. Проверьте каждый элемент в Chrome, сначала изображение, затем span.
  2. Разверните метрики в правой части окна
  3. Небольшой график покажет вам, какой вклад вносит каждый размер элемента (отступ, поле, граница, размер элемента)

введите описание изображения здесь

Комментарии:

1. Я добавил код, чтобы показать вам. Пожалуйста, попробуйте это с изображением размером 16×16, вы увидите, что диапазон, который охватывает изображение, больше.

Ответ №2:

тест на моей странице, высота 15px

вы устанавливаете какое-либо заполнение диапазона?

или попробуйте сделать *{padding:0;margin:0;} .

или, учитывая диапазон класса, сделайте .span{padding:0!important;margin:0!important;}

или добавить

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

в верхнюю часть страницы для W3C

Ответ №3:

Используйте инструменты разработчика Chrome для проверки элемента и отслеживания вычисленных стилей. Я думаю, что очень вероятно, что вы откуда-то берете стили заполнения.

Ответ №4:

Чтобы просмотреть макет ваших html-элементов, ознакомьтесь с моим новым инструментом!

Визуализатор HTML-блока — GitHub