X   Сообщение сайта
(Сообщение закроется через 2 секунды)





Здравствуйте, гость ( Вход | Регистрация )

 
Добавить ответ в эту темуОткрыть тему
> Верстка. Пример.
bitrixoid
сообщение 15.1.2010, 23:51; Ответить: bitrixoid
Сообщение #1


Программист
******

Группа: Активный пользователь
Сообщений: 914
Регистрация: 27.4.2009
Пользователь №: 12192
Спасибо сказали: 334 раз(а)




Репутация:   48  


Верстка. Пример.

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



Введение

В этой статье я опишу весь процесс преобразования макете сайта в формате .PSD в пару index.html, style.css - саму страницу и файл стилей к ней. Опираясь на прошлый опыт написания статьи для форумчан попытаюсь сделать ее не такой утомительной и долгой, но в то же время не менее полезной.

Не уверен, что все будет безошибочно и идеально, т.к. еще не верстал в целях обучения - обычно даже в своих работах спустя несколько минут я нахожу недочеты, которые уже нет сил и желания исправлять.

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

Инструменты

Для работы я использую следующий набор программ:
1) Adobe Photoshop (любой другой инструмент для чтения файлов PSD формата)
2) Notepad++ (любой другой текстовый редактор)
3) FireFox + плагин FireBug (любой другой браузер с аналогичным плагином для удобного анализа разметки страницы)

Макет я взял с сайта FreePSD.com. Скачать сам PSD файл можно по кнопке Download на этой странице.

Первые приготовления
Прикрепленное изображение Прикрепленное изображение


У нас старые добрые шапка и подвал, а также два блока в зоне контента. Смотрим на шапку - по идее размер фиксирован, но при желании можно размножить фон и правильно все растянуть. Но фиксированный делать проще, да и времени до окончания конукурса - 2 часа 20 минут. В соответствии с выделенными блоками пишем первый код:

Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TALK.MAULNET.RU</title>
    <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="document">
    <div id="header"></div>
    <div id="contentZone">
        <div id="contentLeft"></div>
        <div id="contentRight"></div>
    </div>
    <div id="footer"></div>
</div>
</body>
</html>


Верстка, как видите, не табличная, а блочная. Все четыре блока я выделил - header, contentLeft, contentRight, footer. Самый первый блок document будет использован для центрирования сайта на мониторах с бОльшим разрешением. Строчка кода в начале (которая DOCTYPE), определяет, как браузер должен обрабатывать тот или иной код (не весь), а также то, с каким пристрастием к коду должен относиться W3C Validator при проверке. В нашем случае - по полной строгости.

Теперь открываем сам макет в фотошопе. Видим, что размеры - 1024х800. Это плохо и неправильно. Если вы ориентируетесь на мониторы с таким разрешением экрана, то с учетом вертикального скролла ширина макета не должна превышать 990px (моя рекомендация, возможно допускается чуть больше). Исправляю это - подвигаю правое меню немного влево и меняю Canvas Size до 990px по ширине.

Теперь создаем файл style.css там же, где и index.html. Пишем первый отладочный код для размещения блоков. Сразу оговорюсь - так называемого css-reset'а я делать не буду, но вы на досуге почитайте что это. Сразу же задаем размеры - узнать их можно с помощью выделения или того же инструмента Crop.

В итоге получается следующий набросок:
http://comphost.info/vers1/


Комментирую пару моментов. С помощью margin: 0px auto; блок document центрируется на экране. Блоки контента с помощью свойства float прижимаются влево или вправо. У блока contentZone задана минимальная высота в 465px - в данном примере я не буду насильно прижимать футер к низу экрана.

Режем картинки
Теперь вместо цветных блоков сделаем блоки с картинками, чтобы разглядеть общую картину. С помощью инструмента Crop и скрытия слоев в фотошопе создаем набор нужных нам картинок. У нас их будет шесть:
  • Логотип, мяч с названием макета: logo.jpg
  • Фон в шапке: back.jpg
  • Четыре картинки в контенте: img1.jpg ... img4.jpg


Пипеткой узнаем цвет подвала. В index.html в шапку добавляем еще один блок, а также вставляем код изображений в блоки контента
Код
...
<div id="header">
    <div id="logo"></div>
</div>
...

Все остальные изменения проводим в style.css. Получаем следующее:
http://comphost.info/vers2/


Комментарии. У блоков contentLeft и contentRight добавлен отступ padding: 5px; (со всех сторон), поэтому ширину и высоту каждого из них я уменьшил на 10px. Также вместо фона я сделал рамки, чтобы визуально их выделить. Позже уберу.

Чтобы логотип правильно размещался, я задал ему position: absolute; и соответствующие значения для left и top, а родительскому блоку header задал position: relative, для того, чтобы внутренние блоки (в т.ч. и лого) располагались относительно него, а не всего экрана.

Картинка фона в шапке меньше, чем сама шапка по размеру, поэтому я прижал его вниз background: url(back.jpg) center bottom no-repeat;

Меню

Смотрю вот сейчас и вижу, что забыл учесть меню в размере шапки. Если сейчас вписать блок menu следом за logo, то фон блока header опустится вниз. Поэтому, чтобы не заморачиваться, я лучше добавлю еще один блок между header и contentZone. Блок меню, который находится в верхней правой части шапки, будет создан по аналогии с логотипом - с помощью абсолютного позиционирования. Редактируем и получаем:
http://comphost.info/vers3/


Блок topMenu позиционирован с указанием свойств top и right - многие реально забывают что позиционировать можно не только указывая левую, но и правую координату. В блоке menu я сделал рамку снизу и сверху в соответствии с дизайном:
Код
border-top: 1px solid #5b8617;
border-bottom: 1px solid #5b8617;


Стилизуем текст

В фотошопе выделяя текст, узнаем его цвет и размер. Для заголовков:
Код
h1 {
    font-family: Century Gothic, Arial;
    font-size: 18px;
    color: #3b5d05;
}

Основной текст оказывается таким же, только меньше, 12px, и прописываем эти свойства для body. Сохранив видим, что он отличается от макета, кажется тоньше - дело в том, что в макете текст имеет свойсвто Sharp. При желании можно сделать шрифт жирным и добиться почти такого же эффекта.

Теперь делаем пункты меню ссылками. Они получают стандартное оформление браузера, мы с этим легко боремся. Делаем их цветом текста и без подчеркивания:
Код
a {
    text-decoration: none;
    color: #3b5d05;
}


А при наведении добавляем подчеркивание:
Код
a:hover {
    text-decoration: underline;
}


В блоке menu добавляем padding-top: 7px и уменьшаем его высоту на это же значение, выровняв таким образом меню по вертикали.

В блоке footer добавляем код копирайта (обратите внимание на код для самого знака копирайта):
Код
<span class="copy">© talk.maulnet.ru, 2010</span>

стилизуем его:
Код
.copy {
    color: white;
}

и центрируем, добавляя в стиль блока footer отступ и выравнивание текста
Код
#footer {
    width: 990px;
    height: 34px;
    background: #84b13c;
    padding-top: 25px;
    text-align: center;
}


Здесь я использовал класс (class) вместо идентификатора (id). Для разнообразия. Разница их в том, что id - точно идентифицирует элемент. Наличие на странице двух элементов с одинаковым id - ошибка. Класс же может быть присвоен множеству элементов. У элемента может быть как id (один), так и класс (один и более).
На финишной прямой мы имеем:
http://comphost.info/vers4/


Допиливаем

Что осталось сделать? Кликабельное лого, черт возьми! Также для разнообразия выровняем текст абзацев по ширине и сделаем картинки ссылками.

Чтобы логотип был кликабельным, разместим на том же месте, что и блок logo ссылку, позиционируя ее абсолютно и задав ей блочный стиль отображения. Стиль у ссылки будет точно такой же, только без фона.
Код
....
    <div id="header">
        <div id="logo"></div><a id="logolink" href="#"></a>
....


Чтобы текст в абзацах был выровнен по ширине, добавим тегу p свойство text-align: justify; В зоне контента добавим пару неразрывных пробелов &nbsp; после картинок, чтобы немного их визуально выровнять.

Сделав картинку ссылкой обнаружим вокруг нее зеленую рамку. Избавляемся от нее:
Код
a img {
    border: none;
}

Здесь используется вложенность тегов. Таким образом, если задать рамку картинкам отдельно, то картинка-ссылка будет без рамки.

Конечный результат:


http://comphost.info/vers5/


Напоследок
Фуф, вроде справился, успел. Проверить на кроссбраузерность не могу - кто может, пишите как где выглядит, есть ли косяки или нет. Задавайте вопросы, попробую ответить :) И самое главное, помните:

Покупайте ссылки, а не арендуйте – мега-опция для естественного продвижения!
Почему много денег? Потому что Главмед! Лей трафик и живи без бед!

Сообщение отредактировал bitrixoid - 15.1.2010, 23:59


--------------------

Да, я знаю эту девушку. Нет, не скажу.


Верстаю. Пишем в ЛС.


Спасибо сказали:
34
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Disturbed
сообщение 16.1.2010, 0:15; Ответить: Disturbed
Сообщение #2


Веб дизайнер
******

Группа: Активный пользователь
Сообщений: 503
Регистрация: 23.1.2009
Пользователь №: 9687
Спасибо сказали: 144 раз(а)




Репутация:   44  


Статья хороша, но не для новичков... Если я сейчас принялся бы повторять шаги, то запнулся бы на том месте где начался style.css
Цитата(bitrixoid @ 16.1.2010, 0:51) *
Пишем первый отладочный код для размещения блоков...

Вот с этого момента для меня началась неразбериха... Может из-за того что я ничего не соображаю в css? :blush:
Статье + Послужит мне стимулом начать учить верстку)


--------------------


Спасибо сказали:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
сообщение 16.1.2010, 11:32; Ответить: bitrixoid
Сообщение #3


Программист
******

Группа: Активный пользователь
Сообщений: 914
Регистрация: 27.4.2009
Пользователь №: 12192
Спасибо сказали: 334 раз(а)




Репутация:   48  


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

Да, я и предполагал так, что не буду выкладывать код целиком, а те кто не знают - будут смотреть его в промежутках. Исходный код страницы и файл style.css можно посмотреть на каждом из шагов.


--------------------

Да, я знаю эту девушку. Нет, не скажу.


Верстаю. Пишем в ЛС.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
demon932008
сообщение 16.1.2010, 11:36; Ответить: demon932008
Сообщение #4


Профессиональный копирайтер
********

Группа: Активный пользователь
Сообщений: 2509
Регистрация: 4.12.2008
Из: Украина
Пользователь №: 8313
Спасибо сказали: 561 раз(а)




Репутация:   88  


Сейчас люди начнут предлагать услуги верстки:) Аналогично статья Паравоза, все пошли делать дорвеи.

Статья хорошая, примеры есть, всё расписано. Плюсика не жалко:)


--------------------


Рерайтинг и Копирайтинг - быстро и ответственно.


Спасибо сказали:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
сообщение 16.1.2010, 11:54; Ответить: bitrixoid
Сообщение #5


Программист
******

Группа: Активный пользователь
Сообщений: 914
Регистрация: 27.4.2009
Пользователь №: 12192
Спасибо сказали: 334 раз(а)




Репутация:   48  


Не, тут все немного сложнее, нужно думать, анализировать и много знать. Качественного "версткогенератора" пока еще нет. Зато при наличии опыта этот заработок становится стабильнее, имхо. Хотя с дорами конечно не работал, не знаю.

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


--------------------

Да, я знаю эту девушку. Нет, не скажу.


Верстаю. Пишем в ЛС.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dev
сообщение 16.1.2010, 12:05; Ответить: Dev
Сообщение #6


Писатель
***

Группа: Пользователь
Сообщений: 65
Регистрация: 23.1.2008
Пользователь №: 847
Спасибо сказали: 3 раз(а)




Репутация:   2  


Не стандартный вопрос, чем обусловлен выбор доктайпа XHTML 1.0 Strict? Просто для себя спрашиваю.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
сообщение 16.1.2010, 12:16; Ответить: bitrixoid
Сообщение #7


Программист
******

Группа: Активный пользователь
Сообщений: 914
Регистрация: 27.4.2009
Пользователь №: 12192
Спасибо сказали: 334 раз(а)




Репутация:   48  


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

Надо как-нибудь взвесить все за и против.


--------------------

Да, я знаю эту девушку. Нет, не скажу.


Верстаю. Пишем в ЛС.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kesn
сообщение 16.1.2010, 22:43; Ответить: kesn
Сообщение #8


150066377344 Этот вмид взломан, не поведитесь ЛЮДИ!!
********

Группа: Активный пользователь
Сообщений: 2500
Регистрация: 20.9.2008
Из: чего делают кока-колу?
Пользователь №: 3897
Спасибо сказали: 1060 раз(а)




Репутация:   157  


Отличная статья =) как раз появился повод изучать верстку


--------------------
YRWHOST надёжный Хостинг.


Спасибо сказали:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
necrqlan
сообщение 17.1.2010, 0:09; Ответить: necrqlan
Сообщение #9


Бывалый
****

Группа: Пользователь
Сообщений: 248
Регистрация: 30.1.2009
Пользователь №: 9813
Спасибо сказали: 79 раз(а)




Репутация:   8  


по своему опыту - пост не для новичков, скорее для тех, кто уже научился "крутить-вертеть" дефолтные шаблоны и тепеть хочет сделать что-то свое, родное)


--------------------
Ну, примерно так...


Спасибо сказали:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
lostprophet
сообщение 18.1.2010, 2:15; Ответить: lostprophet
Сообщение #10


НХ на Joomla 1.5.x. с зарядом вечного позитива.
******

Группа: Активный пользователь
Сообщений: 592
Регистрация: 18.11.2008
Из: Ростов-на-Дону
Пользователь №: 6792
Спасибо сказали: 259 раз(а)




Репутация:   38  


Цитата(bitrixoid @ 15.1.2010, 23:51) *
то с учетом вертикального скролла ширина макета не должна превышать 990px (моя рекомендация, возможно допускается чуть больше).

Вот с полосой прокрутки очень часто сталкивался. Одни говорят, что она фиксированая (в px), другие - что имеет % соотношение.
Хотелось бы услышать Ваше мнение по поводу этого.

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

Теме опять же +2, очень правильно.


Цитата(kesn @ 16.1.2010, 22:43) *
Отличная статья =) как раз появился повод изучать верстку

kesn, добро пожаловать в прекрасный мир слоёв и листов стилей :D


--------------------
Пячил, пячу и буду пячить, долой УГ на форуме.
А еще я сайты делаю жми сюда


Спасибо сказали:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
сообщение 18.1.2010, 9:04; Ответить: bitrixoid
Сообщение #11


Программист
******

Группа: Активный пользователь
Сообщений: 914
Регистрация: 27.4.2009
Пользователь №: 12192
Спасибо сказали: 334 раз(а)




Репутация:   48  


Ширина скроллбара фиксирована для каждого из браузеров. В любом случае, 990px никогда еще не подводили :)
спасибо


--------------------

Да, я знаю эту девушку. Нет, не скажу.


Верстаю. Пишем в ЛС.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dekarta11
сообщение 23.1.2010, 8:11; Ответить: Dekarta11
Сообщение #12


Гуру
*****

Группа: Пользователь
Сообщений: 327
Регистрация: 26.10.2009
Из: Новосибирск
Пользователь №: 14972
Спасибо сказали: 108 раз(а)




Репутация:   32  


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


--------------------


Заказы по дизайну в ICQ#: 366953482
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gelert
сообщение 23.1.2010, 9:12; Ответить: gelert
Сообщение #13


Гуру
*****

Группа: Пользователь
Сообщений: 488
Регистрация: 22.8.2009
Из: Тель Авив
Пользователь №: 14477
Спасибо сказали: 104 раз(а)




Репутация:   12  


Ух ты, ё! Как же я предыдущую статью пропустил? Спасибо. Щас прямо обе и прочитаю. Как раз учусь быть вебмастером.

Dekarta11, Это не сложно. надо просто учить. Я конечно сам пока что ламер, но совет дам. Начинаете и двигаетесь по порядку: HTML, CSS, PHP, MySQL, Ajax, JavaScript. Я как раз всё это с нового года взялся учить и поставил цель — выучить до конца года. bitrixoid, как считаешь, реальная цель?
К вопросу, как учить, предлагаю так. Есть два видео курса Евгения Попова «Все технические моменты онлайн бизнеса». Первая часть про HTML и CSS, вторая PHP и MySQL. Если не хочется платить, можно найти на варезниках. Я именно с варезников стянул, так как понятия не имел стоит ли оно того. Теперь с уверенностью говорю, стоит! Он конечно обьясняет сжато, но для новичков самое то! Все основы и принципы будете знать. И что очень хорошо, это не сухая документация, а живое обьяснение простым человеческим языком. А после его уроков уже можно легко расширить знания. Ещё есть вот это: раз и два. И самое главное, это всё совсем не сложно. Любому по силам, не нужно быть семи пядей во лбу.


--------------------


Спасибо сказали:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bitrixoid
сообщение 23.1.2010, 11:13; Ответить: bitrixoid
Сообщение #14


Программист
******

Группа: Активный пользователь
Сообщений: 914
Регистрация: 27.4.2009
Пользователь №: 12192
Спасибо сказали: 334 раз(а)




Репутация:   48  


если не собираешься сдавать экзамены на звание сертифицированного Zend разработчика, то "учить" php\mysql не вижу особого смысла. практиковаться, знать основы и правила - да. а так - оно все само с опытом придет :)

да и этот список какой-то странный немного. html без css в принципе "учить" бесполезно, mysql без php - тоже. аякс с яваскриптами лучше сразу вместе с html-css.

т.е. тут надо выбрать направление - верстка, JS-скрипты, т.е. отображение сайта или движок, ядро, функционал сайта, и развиваться в ту сторону уже.

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


--------------------

Да, я знаю эту девушку. Нет, не скажу.


Верстаю. Пишем в ЛС.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gelert
сообщение 23.1.2010, 11:33; Ответить: gelert
Сообщение #15


Гуру
*****

Группа: Пользователь
Сообщений: 488
Регистрация: 22.8.2009
Из: Тель Авив
Пользователь №: 14477
Спасибо сказали: 104 раз(а)




Репутация:   12  


Цитата(bitrixoid @ 23.1.2010, 10:13) *
если не собираешься сдавать экзамены на звание сертифицированного Zend разработчика, то "учить" php\mysql не вижу особого смысла. практиковаться, знать основы и правила - да. а так - оно все само с опытом придет

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

Цитата(bitrixoid @ 23.1.2010, 10:13) *
т.е. тут надо выбрать направление - верстка, JS-скрипты, т.е. отображение сайта или движок, ядро, функционал сайта, и развиваться в ту сторону уже.

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

Сообщение отредактировал gelert - 23.1.2010, 11:34


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения

Быстрый ответДобавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Верстка макета
1 Kosopsix 43 Сегодня, 16:52
автор: CLASSIK
Открытая тема (нет новых ответов) Нужна верстка
DLE 8.5
0 RomaRiO 48 Вчера, 13:12
автор: RomaRiO
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыМакеты и верстка по 1.5$
PSD макеты, верстка Html и css
13 sp0kexD 585 12.3.2010, 16:18
автор: sp0kexD
Горячая тема (нет новых ответов) Html/css/jquery верстка
icq: 295-249
32 kapyceJlb 2270 10.3.2010, 14:47
автор: kapyceJlb
Открытая тема (нет новых ответов) требуется верстка на юкоз
0 Dekarta11 36 9.3.2010, 12:10
автор: Dekarta11


 



RSS Текстовая версия Сейчас: 16.3.2010, 17:57
Дизайн