Определение тега img без высоты и ширины - PullRequest
1 голос
/ 13 января 2011

Спецификация w3c гласит, что ширина и высота подразумеваются и не требуются.Мне всегда говорили, что ты должен положить это в любом случае.Если я правильно помню, его причина заключалась в том, что браузер может неправильно определять размер изображения.Это правда?

Ответы [ 4 ]

2 голосов
/ 13 января 2011

Он возвращается к темным дням Netscape в v4 и более старых версиях. Механизмы рендеринга были примитивными и не могли «переформатировать» контент, поскольку создавали страницы и определяли размеры. Если вы не укажете размер изображения, рендеринг всей страницы будет приостановлен (или будет произведено полное обновление страницы), как только изображение будет загружено и проанализировано по высоте / ширине. Это выглядело плохо с точки зрения пользователя, поэтому правило ВСЕГДА указывало размер.

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

1 голос
/ 13 января 2011

По моему опыту, отсутствие тегов ширины и высоты приведет к тому, что браузер отобразит изображение в исходном размере.

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

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

1 голос
/ 13 января 2011

Я не уверен, что браузеры не определяют его правильно, я никогда не видел, чтобы это произошло.

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

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

Но если изображение может что-то измениться со временем, я бы предложил НЕ кодировать высоту и ширину, поскольку более вероятно, что это означает, что новое изображение, если не такая же точная высота / ширина, как старое теперь искажайся. Это особенно верно для динамического сайта, где изображения постоянно меняются.

1 голос
/ 13 января 2011

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

Повторные потоки являются дорогостоящими операциями - рендеринг на экране должен обновляться для каждого такого изображения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...