May 28, 2008
Пять советов верстальщику
Мои пять копеек
Принимая эстафету, организованную Никитой Селецким, от Максима Покровского, добавляю свои пять копеек в копилку советов по вёрстке.
- Изучайте стандарты W3C. Как это ни банально звучит, хороший верстальщик (да и web-разработчик) просто обязан (пусть не наизусть) знать и понимать спецификации. Недавно в книжном магазине видел книжку по верстке. Лучше бы я её не видел: вложенные таблицы, архаичные тэги и всё в том же духе. Так вот: такие книги — зло. Всё, что надо знать, есть в спецификациях
Следствия из данной рекомендации: да здравствует семантическая вёрстка; Vaild XHTML/CSS forever (тем не менее, это не должно быть самоцелью). - Дизайн должен быть кросс-браузерным. Internet Explorer уже давно не единственный браузер, которым пользуются люди, но, тем не менее, существует большое количество сайтов, которые написаны исключительно под IE. Так вот, это неправильно. Дизайн (равно как и код) нужно тщательно тестировать в как можно большем количестве браузеров. Для тех, кто под Windows, вообще райская жизнь: на одной машине без проблем уживаются IE6/7, FireFox, Opera, Safari и даже Konqueror из виндового порта KDE4. Затраты времени на тест в различных браузерах окупаются: заказчики имеют тенденцию смотреть на дизайн в экзотических браузерах, и когда всё отлично смотрится с первого раза, их приятно удивляет. А приятное удивление заказчика оборачивается бонусами для исполнителя
- Помните про usability и accessibility. Тестируйте сайт с выключенными картинками, JavaScript и CSS (в различных комбинациях). Страница без CSS позволяет получить представление о том, как поисковик воспринимает страницу. Контент в самом низу? Что же удивляться, что Гугол недооценивает сайт? Или поставьте себя на место человека с ограниченными способностями, использующего скринридер. Хватит ли у Вас терпения, чтобы прослушать главную страницу Вашего сайта? Или Вам это надоест, когда скринридер пойдет читать меню навигации? Отключили JavaScript и развалился дизайн/не отправляется форма? Далеко не все пользователи включают JavaScript. И если для правильного отображения сайта требуется то, что может не быть доступно всем пользователям — это минус.
- Изучайте работу мастеров. Это полезно. Только ключевое слово — изучайте. Если слепо передрать код/макет/нужное подставить без понимания того, что там происходит — это нехорошо. А если разобраться с кодом, то приобретаются знания и опыт. Как говорится, знание — сила.
- Упрощайте. Если код можно упростить, его нужно упростить. Во-первых, так понятнее, во-вторых — чище, в-третьих — размер страницы уменьшается. Суп из
div'ов ничуть не лучше вложенных таблиц, поверьте.
Вроде всё… Эстафету передавать мне особо некому (разве что Вам, Всеволод), поэтому подхватывайте все желающие


Я бы даже сказал — это невозможно.
Почему, очень даже возможно… Взять всякие красивые менюшки и прочие CSS-техники, которы Стью Николс публикует у себя на сайте. Не раз уже получал заказы на исправление — возьмет заказчик менюшку и начнет приспосабливать под себя: здесь нам надо
paddingпобольше, этотborderнам не нужен (и пофиг, что он используется для эмуляцииmin-widthв Ишаке). Потом они начинают проверять творение рук своих в разных браузерах и ужасаются. И срочно начинют искать девелопера, который бы им это всё поправил. Но при этом они же не признаются, откуда было взято меню (copyright — скопировано правильно). А девелоперу потом только остается гадать, у кого скоммуниздили код, ибо легче взять оригинал и поправить, нежели разбираться в каше из диких хаковНе нашел контактов, поэтому пишу в комментарий.
Скажите, как с вами можно связаться? У меня есть вопрос по этому посту. Хотел спросить вашего разрешения на публикацию.
Если удобно — можете написать мне на e-mail, который “не публикуется”, но который я прилежно вписал.
Денис, ответил Вам письмом
Я бы не был так уверен в том, что “упростить код” - означает уменьшить его в объеме
В (X)HTML в подавляющем большинстве случаев “упростить код” как раз-таки и означает “уменьшить его в объеме”: например, заменить суп из div’ov элегантным CSS-решением.