#html #firefox #cross-browser
#HTML #firefox #кроссбраузерный #кросс-браузерный
Вопрос:
Я создаю веб-сайт, но дизайнер еще не создал все изображения. В Chrome, Safari и даже IE я могу использовать это в качестве изображения-заполнителя:
<img src="" alt="Placeholder" title="Placeholder" height="400" width="300">
Он отображается в виде поля размером 400×300, а внутри него отображается текст alt / title. В Firefox, тем не менее, текст alt присутствует, но изображение не сохраняет правильные размеры. Объекты под изображением отображаются сразу после текста alt, а не на несколько сотен пикселей ниже. Это полностью нарушает макет. Должен ли я создавать фактический файл placeholder .png или есть способ заставить Firefox отображать заполнители с правильными размерами?
Вот ручка, демонстрирующая проблему. Вы заметите, что это не работает, даже когда я добавляю свойства высоты и ширины CSS в дополнение к атрибутам HTML.
Если проблема не возникает у вас — если изображение-заполнитель отображается с разрешением 400 пикселей — дайте мне знать в комментариях, на какой ОС и версии FF вы работаете. Есть вероятность, что это проблема не для всех.
Ответ №1:
Попробуйте в Firefox, удалив атрибут alt.
Firefox просто отображает текст alt, если изображение не может быть отображено (для чего и должен использоваться текст «alt»). Тем не менее, я думаю, что есть способ заставить Firefox делать то, что вы хотите:
Откройте новую вкладку в Firefox и введите «about: config» (без кавычек) в адресной строке. Введите «изображение» (опять же, без кавычек) в поле «Фильтр» Убедитесь, что для параметра «browser.display.show_image_placeholder» установлено значение «true» (двойной щелчок по нему переключит значение).
Комментарии:
1. Я уже проверил, что значение show_image_placeholder равно true. Удивительно, однако, что удаление текста alt сделало свое дело. Я работаю со слепым разработчиком, поэтому сохранение альтернативного текста является приоритетом, и мне просто придется использовать фиктивное изображение в качестве заполнителя, но это отвечает на мой вопрос.