18 мая 2011 г.

Задача: сверстать резиновый сайт в соответствии с пожеланиями дизайнера.

Главная страница

Детализация задачи

Панир.ру — это проект дизайнера Антона Ловчикова, поэтому все требования к поведению вёрстки заранее известны и в наглядной форме изображены на макетах. Нужно сделать растягивающиеся заголовки, предусмотреть удобный способ форматирования текста, написать немного джаваскрипт-функций, дополняющих основную функцинальность, а также сверстать почти десяток типовых страниц, каждая из которых обладает своими особенностями.

Сетка

Дизайнер предусмотрел интересную сетку, разметив макеты всех страниц соответствующим образом. С такими исходниками очень приятно работать, и я с удовольствием провёл не один час, выверяя расстояния в процентах. Сайт резиновый, поэтому пришлось немного поколдовать — Антон считал все размеры относительно ширины всей страницы, а в CSS все процентные отношения считаются исходя из ширины родительского блока. Результат того стоил, и даже Opera со своим округлением дробных значений ширины, выраженных в процентах, не смогла его испортить.

Сетка

К сожалению, в вёрстке нельзя точно задать расстояния между базовыми линиями строк текста (о чём пишет Черенкевич в одной из статей из цикла «Модульные сетки»), поэтому вертикальные интервалы между блоками заданы на глаз, что вполне приемлимо и никому не заметно.

HTML-разметка и CSS-стили

Как обычно, я написал семантичный, структурированный и понятный xHTML-код и много CSS-стилей, задающих грамотное поведение разметки в различных полевых условиях и браузерах. Работа получилась продуктивной и интересной, потому что, вместо фантазирования на тему «правильного» поведения того или иного элемента страницы, я смог сосредоточиться на реализации задуманного дизайнером.

Вёрстка и стили

Дизайнерские фишки и их реализация

Что можно сделать лучше?

Резюме

Всего я сверстал 10 страниц, 3 раза переделывал раскладку страницы, чтобы добиться необходимого поведения при растягивании и «прилипания» футера к низу экрана, написал около 1000 строк CSS-кода и около 500 строк Javascript-кода. В проекте вовсю используется jQuery, пришлось написать свою функцию $.fn.getMarginInPixels(), потому что свежий хром сошёл с ума.

Вёрстка сайта валидная (за исключением <input type="search" />, сделанного специально для мака) и семантичная, у всех страниц правильное и осмысленное оглавление (outline). Основные функции, само собой, работают без Javascript.

Изначально я планировал сделать эту работу за неделю, но Антон сказал, что лучше сделать хорошо, чем быстро, и я не торопясь нашёл самые подходящие решения задач, потратив в итоге 2 недели. Подобная работа стоит около 20 тысяч рублей.

Навигация

  • Портфолио Олега Громова

    Самые последние работы с картинками и описаниями, а также полный список выполненных мной работ.

  • Услуги, цены и принципы

    Чем я смогу вам помочь, примерные цены на мои услуги, принципы, в соответствии с которыми я работаю.

  • Контактная инфромация

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