|
Теорія » Як верстають сайти 14 квітня 2009 від admin |
|
Ні, тут не буде покрокових інструкцій на кшалт "спочатку запустіть dreamviewer". Для початку хочеться пояснити базові принципи створення любого сайту. Розмова піде про роботу тих, кого називають html-верстальниками. Незалежно від інструментів та редакторів, якими вони користуються, на сьогоднішній день існує всьго три варіанти створити сайт. Це робиться за допомогою фреймів, таблиць, або блоків, і саме ці варіанти ми спробуємо розглянути. Варіант 1 - фрейми. Спробуємо створити найпростіший шаблон за допомогою фреймів. По-перше, нам знадобиться своєрідний контейнер, що буде описувати фреймову структуру. Нехай він буде зберігатися у файлі frameset.html, ось його зміст:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">(відкриється в новому вікні) Здавалося б все добре, приклад працює, чому б не використовувати фрейми? Років десять тому саме так і робилась досить значна частина сайтів, але сьогодні... Давайте спробуємо переглянути код наведених файлів ще раз. По-перше, зверніть увагу на досить велику кількість інформації, що дублюється (а саме теги html, head, title, meta, body в кожному файлі). По-друге, слід пам'ятати, що велика фреймова структура (кількість вкладених фреймів) створить навантаження на браузер. По-третє, зверніть увагу на назву (для цього відкрийте приклад в окремому вікні). Незалежно від того, на який лінк, frame1.html або frame2.html ви натиснете, назва не змінеться. Це дуже погано для оптимізації сайту під пошукові системи - адже без змін залишається не тільки назва, але й деякі інші важливі параметри (наприклад keywords та description). Варіант 2 - таблиці. Давайте спробуємо повторити наш приклад, але замість фреймів використаємо таблиці. При використанні таблиць навігація та контент знаходяться в одному файлі, а їх місце задається за допомогою рядків, колонок або вкладених таблиць. Ось приклад файлу table1.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">(відкриється в новому вікні) Для користувача мало що змінилося - він побачить практично таку саму інформацію, як і в першому прикладі. А для нашого сайту? По-перше, зменшився код - 50 рядків в двох файлах з використанням таблиць замість 54 в чотирьох файлах з використанням фреймів (або 1 738 байт замість 2 235, якщо вимірювати в байтах). Іншими словами, цей варіант буде швидше завантажуватись і створить менше навантаження на сервер. А якщо ми уважно подивимось на приклад в окремому вікні і спробуєм натиснути лінк table1.html чи table2.html, то побачимо, що назва змінюється в залежності від того, на який лінк ви натиснете. Все працює, із SEO завдяки унікальним назвам (а також keywords та description) проблем не буде - чому б не користуватися таблицями? Досить велика кількість студій користується таблицями навіть сьогодні... Але давайте розглянемо ще один приклад. Варіант 3 - блоки. Для початку додамо ще один тип файлу - CSS. Він буде відповідати за розміщення та зовнішній вигляд блоків, до яких звертаються html-файли. Хай він буде називатися style.css, а ось його приклад:
.menu {
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">(відкриється в новому вікні) Для користувача, що переглядає приклад знову практично все лишилося таким самим - працюючі навігація та контент, такі самі унікальні назви, як і в другому прикладі. А як поставляться до наших змін сервер та браузер користувача? Можете бути впевнені, що подякують - хоча користувач бачить те ж саме, що і в попередніх прикладах, розмір html-коду зменшився (всього 44 рядки або 1 681 байт). Щоправда, доданий ще один файл... Але він завантажується лише 1(!) раз, і згодом береться з кешу браузера. До того ж, варто звернути увагу ще на деякі ньюанси. На практиці розміри файлів значно більші, ніж у наведених прикладах, і при використанні таблиць дуже легко заплутатись серед десятків тегів <tr> та <td>, якими позначаються рядки та колонки. Також блоки надають фантастичні можливості для маніпуляції ними за допомогою скриптів. А ті можливості, що надають блоки для SEO - це просто казка (я про position:absolute, але це тема для окремої статті). Саме створення сайтів за допомогою блоків і буде практиківатися на цьому сайті. А як тоді бути з фреймами і таблицями? Просто використовувати їх там, де це необхідно - наприклад, за допомогою таблиць дуже зручно показувати табличні дані. |