Требования к html-верстке / Habr
1. Верстка, аутсорсинг и технические задания
Верстка — относительно независимый этап веб-разработки и, к примеру, в маленьких веб-студиях часто — это первый кандидат на аутсорсинг в условиях ограниченных трудовых ресурсов.
Так сложилось, что мне часто приходилось отдавать эту работу субподрядчикам и, несмотря на предполагаемую однозначность результата, иногда верстальщики меня очень удивляли. Причем чаще — в негативном смысле.
Чтобы сэкономить трудовые ресурсы штатных верстальщиков, недостаточно просто переложить эту работу на плечи первого приглянувшегося фрилансера. Все намного проще, если вы постоянно отдаете работу на аутсорсинг одним и тем же исполнителям — в процессе длительного сотрудничества всегда складывается какой-то негласный свод стандартов и требований, выполнение которых входит в привычку. Но если вы работаете с человеком впервые — самое хорошее портфолио и рекомендации не гарантируют получения нужного результата и более того — даже не предполагают, что исполнитель вообще вас правильно поймет. Потому нужны детальные технические задания по верстке.
И этот момент игнорируется. Часто это происходит из-за предположения, что трудозатраты на написание детального ТЗ в сумме со стоимостью аутсорсинга не окупаются сэкономленным временем штатного верстальщика. В конце концов, верстка — это ведь не так уж сложно — думает рядовой project менеджер. И, как правило, это действительно прокатывает, *хвала человеческому интеллекту*, профессиональные верстальщики в большинстве своем ограничивают буйство экспериментаторского духа и заранее знают, какие технические решения в верстке могут вызвать у заказчика геморрой не столь адский, чтобы забанить верстальщика, но все же исключающий радость и восхищение прекрасным html-макетом.
Тем не менее, вероятность факапов, как показывает практика, не столь мала, чтобы этим можно было пренебречь.
А основное заблуждение здесь в том, что детальное ТЗ — это сложно и трудоемко. Какие-то специфические требования к макету в любом случае приходится описывать, а вот на общие требования и рекомендации, как правило, забивают.
2. О, велика моя скорбь!
Я недавно получил макет, который менеджеры отдавали на аутсорсинг и просто не знал, смеяться мне или плакать. Если бы не мне предстояло интегрировать этот макет в систему шаблонов CMS, я бы наверно все-таки смеялся.
Табличная верстка и стили, не вынесенные в CSS файл и стандартный дримвиверовский скрипт для подсветки кнопок даже не воспринимаются как недостатки после того ада, который я увидел. Все поля ввода были вставлены внутрь тегов label, засунутых в отдельные формы, причем при попытках как-то привести это в человеческий вид, вся верстка разваливалась. CSS классы имели кириллические названия, причем не осмысленные, а вида «.стиль1,.стиль2». Большинство элементов форм стилизировались каким-то мало известным и до ужаса кривым скриптом на jQuery, некоторые элементы имели одинаковые ID и между ними был JS код, оперирующий как раз этими элементами и получающий их по ID, и верх маразма — это применение в конце документа метода jQuery.сss чтобы задать стили, которые ну совсем ничто не мешало просто прописать в CSS файл. А еще хедер сайта вместе с кучей ссылок (шрифтом Tahoma и без сглаживания) был сделан одной картинкой, на которую наложены элементы MAP и AREA. Не буду больше травмировать вашу психику описанием фейлов в этом замечательном макете, т. к. было их там еще бессчетное количество.
В общем, поверьте, товарищи, это был ппц, который к тому же подкрался практически перед самым дедлайном.
Происшествия такого вот характера побудили меня опубликовать список требований и рекомендаций, которые будут полезны как людям, отдающим макеты на html-верстку, так и собственно верстальщикам.
Вы можете переработать эти рекомендации и дополнить ними свое типовое ТЗ на верстку. Многие вещи из перечисленных вполне очевидны, но вы можете извлечь profit из того, что все они собраны в одном месте. Некоторые пункты (к примеру требования к поддержке браузерами или используемым скриптам) для разных контор специфичны, но я не буду далее писать расплывчатых фраз, чтобы этот списочек можно было легко скопипастить и заточить под свою специфику работы.
3. Требования и рекомендации
1. Кроссбраузерность
Сайт должен нормально работать в IE7+, FF3+, Opera9+, Safari4+, Chrome последней мажорной версии (или в зависимости от условий договора с клиентом и года, в котором вы читаете эту статью).
2. Всегда описывайте цвет фона для body даже если он белый.
3. Если используете CSS хаки, комментируйте, что это и для какого браузера, а лучше используйте css_browser_selector.js. Заботьтесь о верстальщиках, которым придется работать с этим макетом после вас.
4. Названия классов и id должны по смыслу соответствовать применению
например, header, menu, footer, news
5. Просьба разделять основные html блоки комментариями. Примерно так:
<!——BEGIN FOOTER —>
<!——END FOOTER —>
Это нужно для создания из сверстанного html макета шаблонов для CMS, после чего комментарии будут удаляться.
6. Не пренебрегать возможностью использовать GIF/PNG с 8-битным альфаканалом вместо PNG-24, где это возможно.
7. Все что можно сделать без Javascript, делать без него.
8. Если Javascript кода много — нужно его выносить в отдельный файл. Обработчики событий тоже лучше отделить и объявлять в отдельном файле.
9. Если это еще не оговорено с заказчиком, предварительно оговорить, какие JavaScript библиотеки вы планируете использовать при верстке макета, чтобы потом не оказалось, что при верстке использовался, к примеру, PrototypeJS, а заказчик планирует в обязательном порядке внедрять на сайт jQuery.
10. Для резиновых макетов обязательно должна быть задана минимальная и максимальная ширина.
11. Если в Т.З. не сказано другое, макет обязательно должен помещаться без горизонтальных скроллбаров в развернутое на весь экран окно браузера при горизонтальной составляющей разрешения экрана 1024px, а если позволяет размер макета, то и 800px.
12. В папке с изображениями не должно быть картинок, не использующихся в верстке. Если что-то исключили из верстки или переделали — не забывайте удалять уже ненужные картинки.
13. Для всех элементов, которые могут содержать текст различной длины, который должен быть вписан в одну строку (например, для кнопок или заголовков, если в дизайне не предусмотрено, что они могут занимать больше одной строки), обязательно задавайте CSS свойство white-space:nowrap.
14. CSS файл должен быть разбит с помощью строк с комментариями на блоки по функциональному назначению, например:
/* ___________1. Сброс CSS____________________*/
/* ___________2. Типовые элементы____________*/
/* _______________2.1. Залоговки______________*/
/* _______________2.2. Ссылки________________*//* _______________2.3. Элементы форм_________*/
/*___________3. HEADER (Шапка сайта) __________*/
/*___________4. FOOTER (Подвал )_______________*/
/*___________5. SIDEBAR (Справа)_______________*/
Как именно структурировть стили — вопрос немного холиварный, но главное — как-то это делать.
15. Если сдача верстки производится более чем одним этапом (например, верстальщик отправляет страницы по одной, или если ему возвращаются на доработку уже сверстанные страницы) и вы не используете систему контроля версий для верстки, исполнитель должен в обязательном порядке прикрепить файл с описанием изменений в макете примерно такого содержания:
- Добавил новые картинки в папку img,
- Картинки btnHome.jpg и btnFeedback.jpg уже не нужны, можно удалять
- Изменил html-код в секции файла anketa.html
- Добавил в конец файла main.css новые стили (начиная с .form_row и ниже).
16. Оговорить, в какой кодировке должен быть html-макет. CSS и JS файлы должны быть в той же кодировке, что и макет, иначе вероятность долгой и утомительной охоты на баги критически возрастает.
17. Если в макете присутствует JS, изменяющий DOM — внимательно следить, чтобы все корректно работало в Опере, т. к. этот замечательный браузер при нажатии на кнопочку назад страницу не перезагружает, а отдает закешированный документ, причем очень важный момент: документ не просто закешированный, а еще и с учетом всех модификаций DOM, которые были выполнены с помощью JS
18. Не забывайте прописывать cursor:pointer для кнопок, сделанных не с помощью input. Если вы не знаете, будет на эту кнопку повешен обработчик событий с помощью JS или это будет ссылкой, лучше в любом случае использовать тег <a>.
19. Если вы делаете обработку событий при нажатии на ссылки, следите за тем, чтобы обработчики событий возвращали false, или же используйте href=’javascript:void(0)’ вместо популярного href=’#’, чтобы страница не скроллилась вверх.
20. Верстайте формы правильно: метки полей должны находиться в тегах label, имеющих правильно заполненный атрибут for. Предусматривайте при верстке форм элементы для вывода ошибок валидации и стили для неправильно заполненных полей. Если это не предусмотрено в т.з. и дизайне, обязательно обсудите это с заказчиком.
21. Если в макете используются нестандартные шрифты, обязательно оговорите, можно ли элементы с нестандартным шрифтом делать картинками, если нельзя — обсудите, с помощью какой технологии будет реализовано их отображение (sIfr, Cufon, etc.)
22. Если не оговорено обратное для частных случаев, все блоки, высоту которых ничего в дизайне не мешает сделать динамической, должны иметь именно динамическую (т. е. зависимую от содержания) высоту, а иногда, чтобы ничего не могло потенциально поломать дизайн, нужно задавать и минимальную высоту. Если хотите сделать блок фиксированной высоты — сначала спросите у заказчика.
23. В макетах, где высота страницы зависит от контента (а таких, как правило, большинство), предусматривайте, чтобы футер был прибит к низу браузера при отсутствии/малом количестве контента, если не оговорено обратное.
24. Если макет не проходит 100%-ную html-валидацию, постарайтесь по крайней мере делать так, чтобы использование невалидного кода было оправданно. Не стоит факапить валидность верстки только потому, что «мне так нравится» или «так получается короче»
P.S.
Надеюсь, этот списочек требований и рекомендаций будет вам полезен! Если есть конструктивные мысли, предлагайте в комментариях, чем его можно дополнить.
Что такое html верстка — статьи сайта Webstepa.ru
Создание сайта довольно сложный процесс и состоит из нескольких этапов. Алгоритм создания сайта следующий:
- Разрабатывается структура сайта, созданная на основании технического задания заказчика, которая в последствии предварительно утверждается заказчиком.
- Рисуется макет сайта на основании утвержденной структуры. В основном дизайнеры выбирают для растровой графики – Photoshop, а для векторной крафики – Corel. В принципе можно рисовать в любом графическом редакторе. Разработанный макет также утверждается заказчиком.
- Затем утвержденный макет преобразуется в html и css-код, который уже доступен для открытия браузером. Этот процесс называют верстка сайта.
- Полученный html макет, который мы изготовили в процессе верстки, нужно наполнить содержанием (контентом) и изображениями, а также чтобы не набивать постоянно в ручную, нужно произвести интеграцию нашей html верстки с CMS (система для управления контентом).
- Все. Теперь «выкладываем» наш сайт на хостинг и публикуем получившиеся страницы в Интернете. Давайте подробней остановиться именно на процессе верстки сайта и разбиремся, что же это такое. Возможно, кто-то еще не знаком с данным термином.
Итак, что же такое верстка сайта?
Верстка – это процесс написания кода для веб-страницы на html и css, т.е. чтобы браузеры понимали его и отображали правильно. Когда все браузеры отображают веб-страницу правильно, не «ломая» ее структуры — это называется кросбраузерная верстка. Вернемся к коду html – что же это за код такой? Все довольно просто, этот код отвечает за то, чтобы все элементы сверстанной веб-страницы соответствовали нарисованному и утвержденному макету дизайна и в различных браузерах сайт не «ломало» по структуре.
Пример, двухколоночной верстки веб-сайта с заголовком (header), правым навигационным меню и нижней частью (footer). В верхней части будет находиться логотип компании и слоган сайта. Далее идет контентный блок – это область, где будет размещена информация. Справа разположено навигационное меню сайта. Самая нижняя footer – содержит copyright или информацию о владельце сайта.
От качественной верстки сайта зависит очень многое и это довольно сложный и трудоемкий процесс, требующий определенного уровня знаний от веб-мастера (верстальщика). Верстка должна содержать минимум html кода, быть валидной, кросбраузерной и семантической. Теперь подробней:
1. Лишний код – влияет на скорость загрузки сайта, поэтому код должен быть оптимизирован; 2. Валидность – правильность написания и использования html кода должна соответствовать стандартам W3C (World Wide Web Consortium) 3. Кросбраузерность – отображение и работа сайта во всех популярных браузерах должна быть идентично. Под идентичностью понимается отсутствие развалов верстки и способность отображать материал с одинаковой степенью читабельности. 4. Семантическая верстка – создание веб-страниц с использованием html-тегов в соответствии с их предназначением. Плохая верстка, с плохим кодом может очень сильно загрузить сайт, и он будет грузиться медленно и смотреться не так, как нужно, может «ломаться» по структуре. Поэтому процесс верстки – это один из самых главных этапов создания сайта. Именно поэтому появились люди, которые специально занимаются данным процессом и называют они себя html –верстальщиками, либо html кодерами.Найти их можно на многих сайтах с фрилансерами, да и просто в сети интернет.
Спрос на данного рода услуги растет с каждым годом и приходится часто встречать подобные объявления: – Требуется верстальщик сайтов. – Для удаленной работы требуется верстальщик. – Требуется человек, разбирающегося в вёрстке веб сайтов. Готовый дизайн-макет имеется. – и.т.д.Стоимость их услуг достаточно высокие. Поэтому на этом можно неплохо заработать или хорошо сэкономить, если Вы сами научитесь понимать верстку и хорошо верстать сайты.
Вёрстка сайтов | htmlbook.ru
HTML изначально задумывался как язык, которому не нужны средства оформления, такие как цвет, размер, рамки или что-то подобное. Разработанный в Европейском институте физики частиц (CERN), HTML был игрушкой ученых, их, прежде всего, интересовала логика информации, а не её визуальное представление. Тогда ещё не существовало понятия веб-дизайна и вёрстки как таковой, все сайты по своему оформлению были практически однотипными, в стиле, называемом сейчас «академический дизайн». Пример до сих пор можно посмотреть на lib.ru.
Однако пользователи преимущественно думали иначе и, глядя на красивую картинку, отдавали предпочтение именно ей. Разработчики браузера Netscape прекрасно понимали это и вводили в HTML новые теги, улучшающие внешний вид документа. Эти теги не были стандартизированы и работали только в Netscape, что в эпоху повального засилья этого браузера, не имело значения. Доля Netscape составляла более 90% от всех существующих браузеров.
Влияние Netscape оказалось губительным для академического дизайна, фактически похоронив его и оказалось благотворным для становления веб-дизайна. Разработчики сайтов поняли, что дизайн это не просто разноцветный текст и вставленные наобум картинки. Это возможность красочно и эффектно подать материал, придать определённое настроение сайту, заинтересовать посетителя и задержать его на ресурсе. Дизайн стал непосредственным этапом разработки сайта, за которым последовала и вёрстка. Нарисованные в Фотошопе макеты следовало превратить из одной картинки в набор изображений, стилевых и HTML-файлов, способных быстро загружаться по сети, сохраняя при этом особенности дизайна.
Век Netscape продолжался до тех пор, пока часть рынка браузеров не захватила Microsoft со своим браузером Internet Explorer, что в итоге принесло только головную боль разработчикам сайтов. Разные подходы Netscape и Internet Explorer к отображению сайта, противоречивая поддержка стилей и тегов, большое количество мелких ошибок привело к тому, что сайт приходилось тестировать и отлаживать долгое время.
Устаревшие версии браузеров не в полной мере поддерживали CSS (Cascading Style Sheets, каскадные таблицы стилей), поэтому код представлял собой окрошку из HTML и CSS. Это привело к тому, что для макетов стали применяться таблицы с невидимой границей, на долгое время ставшими стандартом де-факто.
Следующим этапом развития разработки сайтов стало рождение спецификации, которая была названа Cascading Style Sheets Level 2, сокращенно CSS2. Следом появилось обновление Cascading Style Sheets Level 2 Revision 1 (CSS 2.1), которое используется по сей день. Выпуск новых версий браузеров, поддерживающих, пусть и не в полной мере, эту спецификацию, серьёзно облегчил работу над сайтами. В итоге, начал происходить постепенный переход от табличной вёрстки к блочной или, как она ещё называется, вёрстке слоями, в которой расположение элементов на странице и их вид задаётся через стили.
В настоящее время уже можно заявить, что табличная вёрстка в большинстве своём является архаизмом. Тем не менее, существует ещё множество сайтов вроде yandex.ru, artlebedev.ru и других, свёрстанных именно при содействии таблиц. Такой консерватизм связан со следующими обстоятельствами.
- Вёрстка слоями сложнее, чем таблицами, поскольку требует от разработчика глубоких знаний спецификации CSS.
- Браузеры содержат разные ошибки при интерпретации стилевых свойств, поэтому следует знать особенности поведения основных браузеров, их ошибки и уметь обходить их.
- Практически каждую задачу можно решить несколькими способами, от разработчика требуется выбрать оптимальный, т.е. наименее затратный по времени и усилиям. Для оценки оптимальности необходим практический опыт, чтобы иметь в запасе разные методы, применяемые в конкретных ситуациях.
Таким образом, вёрстка в простом понимании это процесс превращения работы дизайнера в веб-страницу, отображаемую в браузере. Но один и тот же результат можно получить разными методами и уже от верстальщика зависит, какой из них предпочесть. От такого выбора зависит результат работы сайта, быстрота его отображения, доступность для разных устройств и браузеров.
Помните, что вёрстка это практическая дисциплина и только самостоятельно решая разные задачи и работая над проектами, вы сможете освоить это искусство.
Что такое верстка сайта? Табличная и блочная верстка: различия
Процесс создания сайта очень трудоемок и требует наличия определенных знаний в области программирования и немалых затрат времени. Рождение любого сайта начинается с отрисовки его макета дизайнером, далее готовый макет отправляется на верстку. Данный процесс следует разобрать более подробно.
Ответить на вопрос о том, что такое верстка, помогут определенные термины.
Сайт – это совокупность электронных фалов или документов, принадлежащих одному владельцу (частному лицу или организации), размещенных в сети и объединенных под одним IP-адресом или доменным именем.
Верстка сайта – это формирование его веб-страниц в текстовом редакторе с использованием языка разметки гипертекста.
Верстальщик веб-страниц – специалист по верстке, занимающийся компоновкой текстовой, графической и других видов информации на странице документа (странице сайта).
HTML – основной язык гипертекстовой разметки страниц в Интернете. Основу данного языка составляет набор элементов, заключенных с обеих сторон в тег (открывающий и закрывающий), каждый элемент имеет свои атрибуты, определяющие его основные свойства. Атрибут всегда указывается в открывающем теге.
Говоря более простым языком, задача верстальщика заключается в переводе всех элементов страницы сайта на язык, доступный любому Интернет-браузеру. При этом отображаемая в браузере страница должна быть внешне максимально приближена к дизайнерскому макету.
Что такое верстка сайта с помощью таблиц?
Любой документ, переведенный на язык HTML, представляет собой набор определенных элементов, заключенных в теги. Еще несколько лет назад большинство сайтов версталось с помощью таблиц. Код страницы при этом получался весьма громоздким и трудно читаемым. В него было сложно вносить какие-либо изменения по ходу дальнейшей работы над страницей. Кроме того, Интернет-браузер воспринимает таблицу как единый объект, поэтому отображение ее содержимого начинается только после полной ее загрузки на компьютер. Особенно это заметно тем пользователям, скорость Интернета которых оставляет желать лучшего. В настоящее время табличная верстка HTML используется крайне редко. Несмотря на это, каждый верстальщик должен знать ее основы, к примеру, хотя бы для того, чтобы иметь возможность внести какие-либо коррективы в код, написанный несколькими годами ранее его предшественником, работающим над созданием сайта.
Что такое верстка сайта с помощью блоков?
Блочная верстка сайта, с использованием элемента div, имеет свои преимущества и недостатки. К основным ее преимуществам относятся:
- простота кода, его читабельность и компактность;
- возможность реализовать самые замысловатые решения дизайнера;
- быстрая загрузка страницы сайта в браузере.
Код, написанный с помощью блоков, более легко редактировать в последующем, удобно менять оформление страниц сайта. При этом отпадает всякая необходимость коррекции самого HTML-кода. Все изменения вносятся в отдельно созданный CSS-файл.
Полностью разобраться верстальщику в том, что такое верстка сайта с помощью блоков, позволяет знание и применение в своей работе технологии каскадных таблиц стилей (CSS). CSS представляет собой отдельный формальный язык, используемый для описания внешнего вида страницы веб-сайта. Таким образом, создав общий каркас страницы на языке HTML, верстальщик начинает заниматься его оформлением (определение фона страницы, придание разных цветов ее элементам, размещение рисунков, их масштабирование и т.д.), используя каскадные таблицы стилей.
Возможно, со временем появится еще более новый и более компактный способ верстки страниц сайтов. Пока же верстальщикам, устраивающимся на работу, повсеместно приходится отвечать на вопрос о том, что такое верстка сайта с помощью блоков и в чем заключаются ее преимущества.
Что такое html-верстка сайта
20 октября 2011
Что такое html-верстка сайта
Верстка является одним из этапов создания сайта. Картинка, созданная дизайнером, это еще не готовый сайт, ее необходимо «оживить», то есть перевести на понятный как пользователю, так и браузеру, язык. Верстальщик создает код страницы путем языка разметки гипертекста html, оформляет ее должным образом, используя каскадные таблицы стилей. Верстка — процесс достаточно сложный, он должен выполняться с учетом нескольких параметров.
Резиновый сайт или сайт с фиксированной шириной?
Каждого клиента, прежде чем начать работу над созданием сайта, мы спрашиваем, каким они хотят видеть свой сайт — с фиксированной шириной или резиновым. Первый вариант предназначен для мониторов с разрешением 1024х768 пикселей, именно такие мониторы у большинства компьютеров. Более рациональным считается резиновый макет, который растягивается на всю ширину окна браузера, именно его используют чаще всего.
Кроссбраузерность
Для работы в интернете все мы используем браузеры. Кто-то предпочитает Opera или Mozilla Firefox, а кто-то по старинке Internet Explorer. Помимо них существуют и менее популярные, но также используемые во всем мире браузеры Safari, Google Chrome и другие. К сожалению, пока еще не принят единый стандарт использования html для всех браузеров, поэтому страницы сайта могут по-разному в них отображаться. Задача верстальщика — учесть кроссбраузерность, то есть сделать верстку таким образом, чтобы сайт выглядел корректно во всех браузерах.
Валидность
Валидной можно назвать верстку в том случае, если структура и код сайта соответствуют общепринятым стандартам. Отсутствие в html-коде ошибок и изъянов обеспечивает корректное отображение сайта в любом современном браузере.
Чистый код
Под чистым кодом подразумевается отсутствие лишних тегов за счет использования каскадных таблиц стилей, красивое форматирование, наличие логически выделенных блоков. Чистый код способствует более быстрой загрузке сайта, а также индексации поисковыми системами.
Способы верстки сайтов
Верстальщики используют два способы верстки сайтов: блочный и табличный. Табличная верстка снижает скорость загрузки и часто вызывает ошибки в коде, поэтому большинство верстальщиков переходят на верстку бестабличную, или блочную. Блочная верстка делает код более компактным, сокращает время загрузки страниц, значительно облегчает работу над созданием сайта, который будет корректно отображаться во всех браузерах.
Если вы не хотите разбираться в особенностях html-верстки, но хотите иметь хороший сайт, вам достаточно обратиться в нашу Студию, мы обязательно вам поможем.