2011-01-13 2 views
1

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

ответ

2

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

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

1

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

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

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

1

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

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

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

1

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

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

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

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

Смежные вопросы