2008 20 июня 2008
Если вы когда-либо сделали (или на один) Вертикальное меню с помощью списка (Li)-теги и CSS, вы можете столкнуться, это еще одна ошибка в Internet Explorer, где IE 6 вставляет эти зазоры между элементами списка, которые содержат элементы на уровне блоков, т.е. если есть пробелы между элементами списка в разметке. Спасибо, но нет, спасибо, версия IE 7 кажется свободным от этой ошибке.
Если, как я, и многие другие, вы принадлежите к этой группе нарушенного разработчиков, которые до сих пор, чтобы получить свои новые макеты, работающих в IE6 тоже, то это может оказаться полезным. Посмотрите ...
Пример разметки:
<ul id="menu">
<li> <a href="#"> Home </ A> </ LI>
<li> <a href="#"> О </ A> </ LI>
<li> <a href="#"> услуги </ a> </ LI>
<li> <a href="#"> Портфель </ A> </ LI>
<li> <a href="#"> Справка </ A> </ LI>
<li> <a href="#"> Связаться с нами </ A> </ LI>
</ UL>
Вы можете создать несколько CSS, похожих друг ниже, transfrom над разметкой в вертикальное меню ....
Пример CSS ...
# {Меню
маржа: 0; обивка: 0; фон: # FF9900;
Список стиле типа: нет, ширина: 150px;
}
# {Меню ли маржа: 0; обивка: 0;}
# {Меню Дисплей: блок;
цвет: # 555555;
текст-отделка: нет;
обивка: 0 15px;
высота строки: 2,5; нижней границы: 1px твердых # FFF;
}
Результат Вы увидите ...
Решение для этой ошибке ... (изменение / добавить CSS, выделенные жирным курсивом)
# {Меню
маржа: 0; обивка: 0; фон: # FF9900; Список стиле типа: нет, ширина: 150px;
float: left; / * это содержит плавающих элементов списка * /
}
# {Ли меню
маржа: 0; обивка: 0;
float: left; / * Эта исправления * /
Ширина: 100% / * пробелы ошибка в IE6 * /
}
# {Меню
Дисплей: блок; цвет: # 555555;
текст-отделка: нет;
обивка: 0 15px;
высота строки: 2,5; нижней границы: 1px твердых # FFF;
}
Если приведенные выше оленья кожа решение похоже на работу (по причинам, известным только в IE6) ... попробовать этот метод, а не
Просто добавьте эту дополнительную IE6 только стили разметки ...
<! - [Если IE 7 л>
<style type="text/css">
# Меню Ли {Дисплей: встроенный блок;}
# Меню Ли {Дисплей: блок;}
</ Стиль>
<[ENDIF] ->
нет комментариев | теги: IE ошибки , исправления IE , IE хаки , т.е. вопросы , IE6 , учебники | Отправленный в браузере совместимости , CSS
2008 6 июня 2008
Более DOM элементов на странице, он делает медленный, медленнее DOM доступ в JavaScript. Большое количество элементов DOM может быть вызвано плохой дизайн макета. Например, вложенные таблицы можно было бы использовать для целей компоновки. Используйте любой HTML тегов где имеет смысл семантически. Для Например, использование DONOT столы для макетов, но DONOT стесняйтесь использовать их там, где у вас есть для отображения табличных данных, и, следовательно, будет использоваться сокращение DOM элементов, в сравнении с аналогичным структура создается с использованием DIVs только ..
Чтобы проверить количество элементов DOM в HTML странице, просто введите в консоли Firebug в: document.getElementsByTagName('*').length
Существует не набор стандартных, сколько DOM элементов слишком много. Проверка других подобных страниц, которые имеют хорошие markup.Eg. Страница Yahoo! Главная довольно занятой страницы и еще до 700 элементов (HTML-теги).
нет комментариев | теги: Best Practices , DOM | Отправленный в Best Practices , Пользовательский интерфейс Desgin
2008 2 июня 2008
Используйте для GET-запросов AJAX
Было установлено, что при использовании XMLHttpRequest, POST реализована в браузерах два этапа: отправка заголовка, а затем передачи данных. Поэтому лучше использовать GET, который принимает только один TCP-пакет для отправки (если у вас есть много печенья). Максимальная длина URL в IE, 2K, так что если вы пришлете больше, чем 2K данные, которые вы не сможете использовать GET.
Интересно влияние стороной является то, что на самом деле POST без размещения любых данных, ведет себя как GET. ПОЛУЧИТЬ предназначена для получения информации, так что имеет смысл (семантически), чтобы использовать получаете, когда вы только запрашивает данные, в отличие от передачи данных будут храниться на стороне сервера.
Избегайте синхронные вызовы AJAX
При создании «Аякс» запросы, вы можете выбрать либо асинхронный или режим синхронизации. Асинхронный режим запускает запрос в фоновом режиме во время других мероприятий браузер может продолжить обработку. Синхронизация режим будет ждать запрос, чтобы вернуться, прежде чем продолжить.
Запросы, в режиме синхронизации следует избегать. Эти запросы заставит браузер запереть для пользователя, пока запрос не возвращает. В случаях, когда сервер занят и ответ занимает некоторое время, в браузере пользователя (и, возможно, OS) не позволит ничего сделать. В случаях, когда ответ никогда не получил должным образом, браузер может продолжать блокирование до запроса истекло.
Если вы думаете, что ваша ситуация требует режим синхронизации, то, скорее всего, время переосмыслить дизайн. Очень немногие (если таковые имеются) ситуациях на самом деле требуют Ajax запросов в режим синхронизации.
1 комментарий | Теги: AJAX , Best Practices | Опубликовано в AJAX , Best Practices , Пользовательский интерфейс Desgin