Как сверстать макет из фотошопа

Обновлено: 07.07.2024

Верстка это своего рода искусство. Каждые верстальщики работают по своему, но цель у всех одна. Красивая и правильная верстка — вот желание каждого кодера. Со временем в процессе «PSD -> HTML» мы начинаем выделять определенные этапы. О них я и хотел бы рассказать.

  1. Оценка сайта;
  2. Нарезка основных элементов;
  3. Разбиение на блоки (верстка скелета);
  4. Верстка блочного контента;
  5. Подгон пикселей;
  6. Тест в браузерах;
  7. Фикс ошибок и опять тест.

1. Оценка сайта

Верстка не начинается с момента как только я получаю PSD ис4ходник. Первым этапом для меня есть оценка сайта. Я считаю этот этап очень важен, так как именно на нем мы просматриваем, анализируем и проектируем сайт.
Что это значит на практике? Очень просто! Когда мне в руки попадает макет я минимум 30 минут (а иногда и несколько часов) сижу и смотрю на него, планирую дальнейшую работу, планирую что мне прийдется сделать и как нарезать для этого сайт. Все повторяющиеся фоны, все глюки которые могут возникнуть в ИЕ — все планируется на этом этапе. Планируем возможные сss спрайты (о них кто не знает и кому интересно позже напишу).

2. Нарезка основных элементов

Тут все просто. Беру PSD и нарезаю так как планировали в первом пункте. Соеденяю в спрайты если этого требует проект. Подбираю нужный тип картинок: gif, png, jpg. Порой формат подобрать трудно. Бывают разные визуальные картинки, которые могут занимать много места в png а в jpg быть не на столько качественными. Раньше я при сохранении игрался качеством и смотрел сколько будет весить картинка, но теперь нашел программку ImageOptim. Сейчас я сохраняю все спорные форматы, а потом оптимизирую эти имаги вышеупомянутой программой и уже смотрю результат. Ведь всегда важно как качество так и вес страницы.

3. Разбиение на блоки (верстка скелета)

Обчные блоки сайта

На этом этапе уже начинается верстка. Может быть многие кодеры со мной не согласятся, но лично мне легче сначала сделать скелет сайта с блоков, а потом накодить детали в этих блоках. Таким образом на этом этапе я верстаю основные блоки, которые в дальнейшем будут содержать все элементы сайта. Такими блоками есть хэдер, контентная часть, навигационная часть, футер и возомжные прочие (зависит от дизайна).

Обязательно проверяю правильно ли это отображается в необходимых браузерах.

4. Верстка блочного контента

Когда у меня есть общий скелет который уже может напоминать внешний вид сайта (без мелких деталей и внутренностей) могу смело приступать к верстке блочного контента. На этом этапе все чего не хватает в верстке медленно но уверенно переползает туда с макета. Все это дело чередуется проверкой в браузере, все ли отображается на том месте где должно.

5. Подгон пикселей

6. Тест в браузерах

Когда приходит уверенность что все готово и все круто сделано пора ее развеять. В многих компаниях для этого существуют тестировщики, но я считаю что верстальщик должен быть уверен в своем труде сдавая его как законченный проект, а следовательно сам должен все тестить. Обычно верстка сразу-же проверяю в нескольких браузерах, которые мне более всего удобные. В ряды таковых входит Firefox (из-за того что там куча полезных аддонов) + возможно опера (старая привычка) или сафари (перешел на MacOS). Но так как качественный веб-проект должен быть качественным везде, не стоит забывать о существовании Internet Explorer 8, 7 и, да простит меня все общество верстальщиков за упоминание, Internet Explorer 6. Стандартный набор браузеров для проверки: Firefox, Safari, Chrome, Opera, Internet Explorer с их разными версиями. Несколько версий одного браузера зачастую не уживаются на одной машине. Чтоб с этим бороться ставим виртуальные оси, и туда загоняем недостающие. Для версий Internet Explorer есть полезная программа IECollection, которая содержит в себе все необходимые версии IE. К сожалению лично у меня она ставилась только на XP (на Windows7 не пошла, а Windows Vista при покупке ноута я сразу-же снес).
Все найденные ошибки я записываются на листике и после полного теста во всех браузерах (когда в каждм браузере перекликали все что кликается проскролили все что скролится и поресайзили сам браузер) приступаем к следующему пункту.

7. Фикс ошибок и опять тест

На все это дело уходит в среднем 5-20 часов ± в зависимости от сложности, лености, атмосферного давления и других различных факторов влияющих на работоспособность.

По многочисленным просьбам читателей, мы сегодня будем делать дизайн, вернее макет сайта в Photoshop. Конечно если с этим никогда не сталкивался, сделать его довольно не просто, возникает множество вопросов, на которые я сегодня постараюсь ответить. Как оказывается, что материала по этому поводу в интернете не так уж и много. Дизайнеров куча, а как сделать макет сайта никто не рассказывает. Может быть я просто плохо искал? :)

Продолжение

В общем давайте уже делать.

Для начала я подготовил не сложный макет, который мы будем полностью с Вами разбирать. Вот как он выглядит:


Как видите, что шаблон получился не сложный, естественно это блоговый шаблон, который позже мы будем верстать в HTML. Ну а пока что только будем рисовать. Ну а теперь поехали.

Программное обеспечение

Первое, что Вам нужно это Photoshop. Если у Вас его нет, покупайте :-)

Создание и размеры документа

Размеры зависят от того какой ширины будет Ваш будущий сайт. Вот например, Вы решили, что готовый сайт будет иметь ширину 1000 рх, следовательно размер документа нужно сделать немного больше где то 1200 рх. Это делается в первую очередь для удобства, что бы Ваш макет смотрелся так же как в браузере.

По поводу высоты, выставляется размер от тематики шаблона. Но желательно делайте больше, 4000 рх думаю хватит. Это делается для того, чтобы в дальнейшем все элементы влезли. Потому что я как то сделал маленькую высоту, и мне пришлось потом переносить всё в новый документ.


В моём случае сайт будет иметь ширину в 1200рх. Таким образом я сделал документ шириной в 1300 рх и высотой в 4000 рх. Остальные настройки оставьте как есть.

Фон шаблона сайта


Ширина будущего сайта в 1200 рх


А вот как она выглядит:


Выделяем наш слой, нужно просто один раз кликнуть на него:


А сейчас нужно поставить линейку по центру нашего документа, вернее найти центр. Для этого наводим курсор на линейку на ней же зажимаем левую кнопку мыши и вытягиваем линию на наш документ. Тянем примерно на середину, линейка сама найдёт центр.



Теперь нашу выделенную область помещаем с помощью мышки по центру, она найдёт центр сама. Затем нужно вытащить ещё 2 линейки и установить их по обе стороны выделенной области. Таким образом мы обозначаем границы нашего будущего сайта, который будет иметь ширину в 1200 рх. Так же по этим линейка будет проще подгонять элементы дизайна. Если Вам не понятно сделайте так же как на рисунке ниже.


Линейку мы будем использовать и в дальнейшем, так как без неё здесь не обойтись, она позволяет выставить всё ровно.

Теперь мы практически полностью подготовили наш документ. Мы узнали середину, а так же обозначили точный размер за который не нужно вылазить. Теперь переходим к самому интересному, а именно к созданию дизайна сайта (макета).

Создание дизайна или макета сайта

Важно!

Всегда создавайте группы для слоёв и давайте им названия. Потому что в дальнейшем точно запутаетесь!

Группы

doc

Вот что должно получиться:


Верхнее меню

Опять вытягиваем линейку и выставляем её как на рисунке:








Вот, что должно получиться:


После этого просто копируем слой с нашей линией и выставляем после каждого слова. Вот что у меня получилось:


Иконки социальных закладок

Для начала с помощью линейки нужно выставить высоту наших иконок, что бы они были ровными. Вот , что нужно сделать:



Наводим курсор в то место где будет иконка, зажимаем Shift, (для того чтобы иконка появилась ровная) и растягиваем до нужных размеров. И такой же процесс повторяем со следующими фигурами. В конечном итоге вот что должно получиться:


Переходим к логотипу. Опять же создаём отдельную группу для логотипа и в новый слой.

Логотип


Нижнее меню (Главное)

Выставляем линейки как на рисунке:





Добавляем линии. Делаются они так же как и в верхнем меню только изменён сам цвет линии. Думаю, что вы справитесь, и должно получиться вот что:


Сейчас переходим к панели с информацией, которая будет говорить пользователю где он находится на сайте.

Панель с информацией

Для начала добавляем полосы с линейки как на рисунке ниже:





Контент

Переходим к разметке середины нашего будущего сайта. Нам нужно с помощью линейки разметить где будут находиться блоки постов и блок сайтбара (Правой колонки).

Сразу же нужно создать 2 отдельных группы:


Добавляем линии с линейки как на рисунке, и отменяем выделение:


Получается что мы добавили две линии и получили область где будут находиться наши блоки с записями.


Вот теперь мы точно знаем где будут блоки с записями и сайтбар. И всё будет ровно.

Помните мы создали группу метки? Там просто создайте слой с надписями размеров блоков, вот как у меня:


Эти метки очень помогут при вёрстке. Не нужно будет вспоминать размеры.

Блоки с записями

Начнём мы пожалуй с блоков с записями, делаются они в данном случае очень просто.


В той же группе добавьте метку с помощью текста как у меня на рисунке выше.


Добавляем информацию к посту. Ставим размер шрифта в 14 пт и цвет ближе к серому:


И описание к посту:



Теперь добавляем текст и смотрим, что у нас получилось:


Чтобы записи хоть не много разделить, давайте создадим простой разделитель из кругов.


Отменяем выделение и ищем середину круга с помощью линейки




Вот что должно получиться:


Копируем слой этого маленького круга опять перемещаем его влево. Так же точно уменьшаем его размер как написано выше, чтобы получилось вот так:


Сейчас Вам нужно создать дубликат среднего круга и переместить его вправо, и тоже самое сделать с маленьким кругом. Чтобы было понятнее сделайте как на рисунке:


А вот что получилось только в нормальном размере:



Сайдбар (правая колонка)





Поле поиска готово. Теперь переходим к виджетам.




Затем просто создаём дубликат группы и перетаскиваем виджет вниз. Делаем то же самое что и с постами.


Вот теперь мы можем наблюдать почти готовый и простой макет для нашего будущего сайта.

Футер (Низ сайта)

Ну как же без него. В этом шаблоне он тоже не сильно сложный.



А с правой стороны нашего футера добавляем меню такое же как сверху только без линии. Его даже можно просто скопировать и переместить вниз.


Вот и всё, друзья, у нс готовый макет, который уже можно верстать :)


Ещё, вот Вам его PSD файл. Скачивайте, и смотрите если что то не поняли.

Друзья, если Вам что нибудь будет не понятно, обязательно спрашивайте в комментариях.

image

Статья-руководство будет полезна для новичков и для тех, кто ещё не перешел на новые/альтернативные инструменты для вёрстки макетов сайтов. А также для тех, кто читает правила «каким должен быть псд-макет», которые о слоях, папках подсвеченных и правильно названных, но в реальной жизни с такими макетами не сталкивающихся.

Итак, начнем (под катом длинная статья и много картинок).

Создание нового файла

image

Происходит по нажатию клавиш Ctrl + N или как на рисунке ниже (у меня версия на русском языке, пусть простят меня, те кому больше по душе англоязычная версия):

image

После чего появляется окно с настройками нового документа:

Красной рамкой обведены самые важные пункты для верстальщика: размер новой рабочей области и единицы измерения этих размеров. Ширину и высоту можно задавать вручную, а при копировании изображения из другого макета или вставки скриншота экрана размеры устанавливаются автоматически. В качестве единиц измерения стоит использовать пикселы.

image

Также размеры рабочей области и размеры изображения можно задать с помощью меню «Размер изображения» (Alt + Ctrl + I) и «Размер холста» (Alt + Ctrl + C)

image

При помощи меню «Размер изображения» изменяется весь размер изображения, т. е. изображение шириной в 400 px можно уменьшить, к примеру, до 100 px. При включенном чекбоксе «Сохранять пропорции» размеры изображения будут уменьшать пропорционально.

image

При помощи меню «Размер холста» изменяется размер рабочей области, т. е. рабочую область изображения в 400 px можно уменьшить до 100 px, при этом изображение останется тех же размеров и часть изображения скроется за пределами уменьшенной рабочей области. В блоке «Расположение» можно задавать с какой стороны будут удаляться или добавляться пикселы (при установленном фокусе в центре квадрата пикселы будут удаляться или добавляться со всех сторон равномерно).

Какие блоки должны быть включены обязательно

image

Панель инструментов. Не требует особых объяснений, так как переключение между основными функциями для верстальщика находятся на ней.

image

Навигатор. Для быстрого изменения размера макета.

image

История. Для быстрого возврата в макета в нужное состояние, а так же в состояние в котором макет отдал дизайнер.

image

Слои. Папки и слои макета, на этой панели их можно скрыть, переместить, удалить.

image

Инфо. Показывает текущие координаты на макете и размеры выделенной области. Необходимо настроить для отображения размеров в пикселах и цветов в RGB.

image

image

image

Линейки и наводящие. По ним выстраиваются направляющие (с помощью которых дизайнер определяет сетку макета), а так же они дают примерное понимание ширины макета или выделенных областей

Панель Инструментов

image

Инструмент «Перемещение» — один из самых полезных инструментов (надеюсь о нём знает большинство опытных верстальщиков). При включенных чекбоксах и выбранном правильном меню в селекте позволяет при клике на слой выделить слой в панеле Слоев, что ускоряет работу с макетом (а также сохраняет нервы при работе с макетами, в которых слои больше напоминают мусорную корзину, а не структуру документа)

image

image

Инструмент «Прямоугольная область». Выделенную область можно копировать, вырезать, удалить, трансформировать, кадрировать по ней макет.

image

image

Кстати, копирование с помощью Ctrl + C скопирует все изображения/тексты только с выделенного слоя. Потому если изображение состоит из нескольких слоев надо использовать копирование совмещённых данных Shift + Ctrl + C

При зажатой клавише Shift можно добавить область выделения, к уже существующей на макете, При зажатой клавише Alt — удалить часть текущей выделенной области.

image

Также с помощью выделенной области можно кадрировать макет, что означает уменьшение рабочей области макета до размеров выделенной области с обрезкой всего, что выходит за рамки выделенной области.

image

Инструмент «ластик». Используется для удаления содержимого выделенного слоя.

image

Инструмент «Заливка». Используется для заливки слоя или выделенной области цветом или градиентом.

image

Инструмент «Лупа». Используется для увеличения или уменьшения макетов (Zoom).

image

Инструменты «Пипетка» и «Выбор цвета». Используются для получения цвета по клику на макете или на палитре цветов. При нажатии на выбор цвета внизу панели инструментов, инструмент «пипетка» включается автоматически.

image

image

Инструмент «текст». Используется для создания/редактирования текста в макете, а также для получения информации о набранном тексте.

image

С помощью меню в верхней плашке можно получить информацию о шрифте, размере и начертании шрифта, а также цвет текста.

Сохранение изображений

image

Макет или какую-то его часть можно сохранить в виде изображения. Для этого используется сочетание клавиш Alt + Shift + Ctrl + S или меню «Сохранить для Web»

image

В появившемся окне видно превью изображения, можно выбрать формат изображения (в правом верхнем углу окна) и после сохранить изображение

PS. Я использую фотошоп версии CS6, потому не знаю, как происходит сохранение в изображения в более новых версиях, потому, если кто знает, напишите в комментах, я добавлю в статью.

В предыдущей статье я наглядно показал, как создать макет сайта в программе Photoshop, и в итоге получился простой, но не режущий глаз шаблон.

Руссификация шаблона

В этой статье я покажу, как сверстать его из PSD-макета в готовую веб-страницу, используя инструменты HTML-разметки и каскадные таблицы стилей (CSS).

Вообще подходов к подготовке шаблонов существует множество: кто-то сначала досконально прорисовывает шаблон и только потом занимается вёрсткой, кто-то отрисовывает дизайн приблизительно, добавляя штрихи во время вёрстки; одни сначала рисуют, затем занимаются нарезкой, другие (как мы в прошлой статье) сохраняют графические объекты непосредственно в процессе создания дизайна. Даже инструменты вёрстки и рисования у каждого свои: одни ставят плагины и работают в визуальных редакторах, другие используют стандартный набор возможностей и верстают в простом редакторе… в общем, ниже будет приведён всего лишь один способ из многих.

Подготовительный этап

Итак, создайте где угодно (хоть на Рабочем столе, хоть в отдельной папке) файл index.html. В этот же каталог добавьте директорию images. Она будет содержать все картинки, используемые в шаблоне и на странице. Так как графические элементы мы вырезали заблаговременно, сразу скопируем их в папку images и дадим такие названия:

  • back_all — подложка сайта.
  • header_top — фон шапки.
  • big_pic — логотип.
  • title — фон заголовков левой панели.
  • footer — заливка низа сайта.
  • 1mini — первое фото для основной части страницы.
  • 2mini — второе фото.

В папке со страницей index.html создайте файл styles.css — в нём будут размещены таблицы стилей шаблона.

Блокнот для редактирования кода использовать не рекомендуется. Гораздо лучше для этой цели подходит редактор Notepad++. Это подсвечивающая синтаксис разных языков (HTML и CSS — в том числе) программа, заниматься разработкой в которой гораздо удобней, чем в простых редакторах текстовых документов.

Делим документ на блоки

Откройте документ index.html и впишите в него следующий код:

Сохраните файл. Все эти теги мы уже давно изучили и в пояснении они не нуждаются. Кодом выше мы создали основу HTML-страницы, теперь нужно разделить её на блоки — указать структуру документа, что за чем в нём будет идти.

Блоков у нас 7, перечислим их по идентификатору (значению атрибута id):

1. content — блок, внутри которого будут храниться остальные блоки.

2. header — блок шапки, внутри которого будут:

2.1. menu — верхняя навигация.

2.2. logo — картинка с текстом.

3. right — основная часть страницы.

4. left — панель слева.

5. footer — низ сайта.

Так и запишем (в контейнер <body> вставьте следующий код):

В браузере страница будет по-прежнему пустой, но структуру документа уже можно понять, она готова.

Устанавливаем базовое форматирование

Теперь перейдём к CSS-оформлению, чтобы задать документу начальное оформление.

Откройте style.css и добавьте туда строки кода, которые встретите ниже.

Убираем отступы и поля на странице по умолчанию:

Устанавливаем цвета ссылок в зависимости от поведения пользователя (навёл курсор, не навёл, посетил) и убираем подчёркивание у ссылок, над которыми находится указатель мыши:

Настраиваем основное оформление страницы: прописываем фоновый цвет и изображение-подложку (картинке задаём горизонтальное заполнение), устанавливаем цвет, стиль и размер шрифта:

Определение блока content:

Вот теперь можно обновить страницу. Она заполнена рисунком-подложкой. Пока единственное видимое изменение, за которое отвечает свойство background класса body.

Оформляем горизонтальное меню

Начало есть, и теперь можно приступать к вёрстке уже непосредственно основных блоков.

Начнём, конечно, с шапки. Которая, в свою очередь, состоит из блоков горизонтального меню и логотипа.

Сначала зададим общее оформление обоих элементов шапки: выравнивание текста по левому краю, белый фон и высоту 306px:

Так мы получили своего рода пространство шапки: белый прямоугольник, на котором будут располагаться её элементы.

Логично было бы прямо сейчас заняться горизонтальным меню. Так мы и поступим, но только прежде, чем вставлять его в HTML, нужно подготовить правила CSS, иначе смотреться в браузере это будет ужасно.

Внесём первые коррективы: зададим левую границу в 2 пикселя толщиной, ширину и высоту нашего меню, а также повторяющийся по оси X фоновый рисунок:

Теперь можно добавить и само меню в файл index.html:

Обновив страницу можно увидеть, что оно действительно появилось.

Меню добавилось

Только вот вид ссылок оставляет желать лучшего. Установим для них свои правила (выравнивание, ширину, цвет, жирность и т. д.), а ссылкам при наведении зададим смену цвета и вернём убранное по всему шаблону подчёркивание:

Теперь форматирование меню можно сопоставить с PSD-шаблоном.

Отредактированное меню

Поведение пункта меню при наведении курсора

Настраиваем логотип

Логотип у нас уже есть и лежит в папке, остаётся добавить его на страницу и отформатировать правилами. И то, и другое можно сделать средствами CSS, чем мы и не преминем заняться.

Логотип вставлен ровно по размеру.

Вставляем логотип

Единственное, чего ему не хватает, так это текста. Вставим недостающее в блок logo файла index.html, чтобы получилось:

Текст появился, но его тоже нужно оформлять.

Добавляем текст

Исходя из того, что логотип почти всегда бывает ссылкой, зададим оформление соответствующим классам.

Пояснять здесь ничего не нужно, со всеми свойствами вы знакомы ещё из уроков CSS. Однако внешний вид текста изменился, и в целом шапка теперь выглядит даже лучше, чем на PSD-макете.

Разметка у контента

Верстаем основную часть страницы

Далее настраиваем самый большой блок, на котором будет размещён весь уникальный контент. Он будет занимать 500px и располагаться в правой части сайта. Установим правила позиционирования, оформления заголовков, абзацев и ссылок (обо всех свойствах мы уже говорили в статьях по CSS).

Так как мы зафиксировали только ширину блока, видимых изменений наблюдаться не будет до тех пор, пока мы не наполним его контентом — высота страницы будет меняться в зависимости от содержимого.

Заполним контейнер right. Изображения поместим в простую таблицу.

Контент получил разметку, но ему явно не хватает белого фона, полноценно который появится ещё не скоро.

Изменили внешний вид текста

Создание левой панели

Во время вёрстки, но уже после отрисовки макета, выяснилось, что боковое меню ещё будет иметь подпункты, причём они должны появляться при наведении на главный пункт и исчезать, когда указателя на нём нет.

Ситуации, когда приходится дорабатывать оформление «на ходу», встречаются довольно часто. Расстояние между меню и основным содержимым позволяет нам вставить подпункты, однако интересен фокус с исчезновением и появлением подменю.

В файл CSS впишите следующий код.

Обратите внимание на правила классов ul и li — секрет исчезновения меню находится там, раскройте его самостоятельно.

В контейнер left HTML-документа добавим сначала информационный блок без меню.

Белый фон распространился ещё ниже по странице.

Увеличили белый фон

Теперь самое время вставить в HTML-файл код меню левой панели. Оно, в отличие от верхней навигации, реализовано списками, что можно было заметить ещё из CSS-правил.

Взгляните, как смотрится список. Многие могут подумать, что это таблица.

Список

Подменю работает, надо только подвести мышку к пункту, его содержащему (у нас это Галерея, Прайс и Образцы).

Работающее подменю

Делаем ноги

Завершающая часть шаблона — футер. Простое оформление, из элементов только абзацы и ссылки.

Обычно в футере размещается вспомогательная информация, добавим её в HTML-код (контейнер footer).

На этом оформление сайта завершено. В результате мы получаем законченный, готовый к использованию шаблон, части которого можно вынести в отдельные PHP-файлы, сделав из статической страницы динамическую.

Завершенная верстка

Получившийся код здесь приводить не буду — вы можете просто скачать весь шаблон.

Читайте также: