HTML doctype добавляет пробел?

кто-то может объяснить мне почему, имея doctype

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

и

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">

представить следующий блок по-другому в соответствии с Firefox?

<table style="border-collapse:collapse; margin:0; padding:0;">
    <tr>
        <td style="border:1px solid red; margin:0; padding:0;"><img src="http://images.smh.com.au/2010/06/01/1533814/th_park-90x60.jpg" style="border:none; padding:0; margin:0;" /></td>
    </tr>
</table>

с помощью 'Переходного', нет никакого пробела ниже изображения, с помощью 'Строгого' существует!

2-й вопрос, с помощью строгого, является этим вообще возможный удалить этот пробел?

9
задан Marcel Korpel 1 June 2010 в 22:35
поделиться

4 ответа

Как видно из этой таблицы , первый Doctype запускает режим причуд во всех браузерах, второй запускает стандартный режим.

Остальная часть этой истории продолжается в Изображения, таблицы и таинственные пробелы :

Установка изображений в виде блоков

Первый выбор, и тот, который будет работать для наиболее графически насыщенных дизайнов, заключается в преобразовании изображения из являясь встроенным элементом в блочный элемент. Сделай это, и это больше не генерирует строчный прямоугольник, и поэтому проблема уходит - при условии, что изображение - единственное, что занимает эту ячейку таблицы. в в простейшем случае мы можем добавить стиль вот так:

 td img {display: block;}
14
ответ дан 4 December 2019 в 13:45
поделиться

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

  • ).

    Попробуйте свернуть разметку таблицы в одну длинную строку.

  • 1
    ответ дан 4 December 2019 в 13:45
    поделиться

    Не уверен, почему возникает пробел. Что касается исправления, если вы не возражаете против явного задания высоты ячейки таблицы, вы можете добавить display:block; и height:60px; в стили td.

    0
    ответ дан 4 December 2019 в 13:45
    поделиться

    Первый DOCTYPE отобразит вашу страницу в почти стандартном режиме:

    режим «почти стандартный» соответствует режиму «стандартный» во всех деталях, кроме одного. Расположение изображений внутри ячеек таблицы обрабатывается так же, как работает режим «quirks».

    Второй DOCTYPE отобразит вашу страницу в стандартном режиме.

    0
    ответ дан 4 December 2019 в 13:45
    поделиться
    Другие вопросы по тегам:

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