<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог Виталия Степаненко &#187; Верстка веб-страниц</title>
	<atom:link href="http://www.nayjest.ru/category/verstka/feed" rel="self" type="application/rss+xml" />
	<link>http://www.nayjest.ru</link>
	<description>Веб-разработка за чашечкой кофе</description>
	<lastBuildDate>Sat, 25 Jun 2011 09:53:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Требования к html-верстке</title>
		<link>http://www.nayjest.ru/verstka/html-requirements#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.nayjest.ru/verstka/html-requirements#comments</comments>
		<pubDate>Tue, 10 Aug 2010 14:05:02 +0000</pubDate>
		<dc:creator>Nayjest</dc:creator>
				<category><![CDATA[Верстка веб-страниц]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.nayjest.ru/?p=292</guid>
		<description><![CDATA[1. Верстка, аутсорсинг и технические задания Верстка — относительно независимый этап веб-разработки и, к примеру, в маленьких веб-студиях часто — это первый кандидат на аутсорсинг в условиях ограниченных трудовых ресурсов. Так сложилось, что мне часто приходилось отдавать эту работу субподрядчикам и, несмотря на предполагаемую однозначность результата, иногда верстальщики меня очень удивляли. Причем чаще — в [...]]]></description>
			<content:encoded><![CDATA[<h2>1. Верстка, аутсорсинг и технические задания</h2>
<p><img style="float: left;" title="Требования и рекомендации, html верстка сайтов" src="http://nayjest.ru/userfiles/verstka-recomendations/html_100.jpg" alt="Требования и рекомендации, html верстка сайтов" /> Верстка — относительно независимый этап веб-разработки и, к примеру, в маленьких веб-студиях часто — это первый кандидат на аутсорсинг в условиях ограниченных трудовых ресурсов.<br />
Так сложилось, что мне часто приходилось отдавать эту работу субподрядчикам и, несмотря на предполагаемую однозначность результата, иногда верстальщики меня очень удивляли. Причем чаще — в негативном смысле.</p>
<p><img style="float: right; margin: 5px;" title="Картинка для устрашения html-верстальщиков" src="http://nayjest.ru/userfiles/verstka-recomendations/head_end.jpg" alt="Картинка для устрашения html-верстальщиков" /> Чтобы сэкономить трудовые ресурсы штатных верстальщиков, недостаточно просто переложить эту работу на плечи первого приглянувшегося фрилансера. Все намного проще, если вы постоянно отдаете работу на аутсорсинг одним и тем же исполнителям — в процессе длительного сотрудничества всегда складывается какой-то негласный свод стандартов и требований, выполнение которых входит в привычку. Но если вы работаете с человеком впервые — самое хорошее портфолио и рекомендации не гарантируют получения нужного  результата и более того — даже не предполагают, что исполнитель вообще вас правильно поймет. Потому  нужны детальные технические задания по верстке.</p>
<p>И этот момент игнорируется. Часто это происходит из-за предположения, что трудозатраты на написание детального ТЗ в сумме со стоимостью аутсорсинга не окупаются сэкономленным временем штатного верстальщика. В конце концов, верстка — это ведь не так уж сложно — думает рядовой project менеджер. И, как правило, это действительно прокатывает, *хвала человеческому интеллекту*, профессиональные верстальщики в большинстве своем ограничивают буйство экспериментаторского духа и заранее знают, какие технические решения в верстке могут вызвать у заказчика геморрой не столь адский, чтобы забанить верстальщика, но все же исключающий радость и восхищение прекрасным html-макетом.</p>
<p>Тем не менее, вероятность факапов, как показывает практика, не столь мала, чтобы этим можно было пренебречь.<span id="more-292"></span></p>
<p>А основное заблуждение здесь в том, что детальное ТЗ — это сложно и трудоемко. Какие-то специфические требования к макету в любом случае приходится описывать, а вот на общие требования и рекомендации, как правило, забивают.</p>
<h2>2. О, велика моя скорбь!</h2>
<p>Я недавно получил макет, который менеджеры отдавали на аутсорсинг и просто не знал, смеяться мне или плакать. Если бы не мне предстояло интегрировать этот макет в систему шаблонов CMS, я бы наверно все-таки смеялся.</p>
<p><img style="float: right; margin: 5px;" title="Требования и рекомендации, html верстка сайтов" src="http://nayjest.ru/userfiles/verstka-recomendations/house_facepalm.jpg" alt="Требования и рекомендации, html верстка сайтов" />Табличная верстка и стили, не вынесенные в CSS файл и стандартный дримвиверовский скрипт для подсветки кнопок даже не воспринимаются как недостатки после того ада, который я увидел. Все поля ввода были вставлены внутрь тегов label, засунутых в отдельные формы, причем при попытках как-то привести это в человеческий вид, вся верстка разваливалась. CSS классы имели кириллические названия, причем не осмысленные, а вида «.стиль1, .стиль2». Большинство элементов форм стилизировались каким-то мало известным и до ужаса кривым скриптом на jQuery, некоторые элементы имели одинаковые ID и между ними был JS код, оперирующий как раз этими элементами и получающий их по ID, и верх маразма — это применение в конце документа метода jQuery.сss чтобы задать стили, которые ну совсем ничто не мешало просто прописать в CSS файл. А еще хедер сайта вместе с кучей ссылок (шрифтом Tahoma и без сглаживания) был сделан одной картинкой, на которую наложены элементы MAP и AREA. Пожалуй не буду больше травмировать вашу психику описанием фейлов в этом замечательном макете, т. к. было их там еще бессчетное количество.</p>
<p>В общем, поверьте, товарищи, это был пиздец, который к тому же подкрался практически перед самым дедлайном.</p>
<p>Происшествия такого вот характера побудили меня опубликовать список требований и рекомендаций, которые будут полезны как людям, отдающим макеты на html-верстку, так и собственно верстальщикам.</p>
<p>Вы можете переработать эти рекомендации и  дополнить ними свое типовое ТЗ на верстку. Многие вещи из перечисленных вполне очевидны, но вы можете извлечь profit из того, что все они собраны в одном месте. Некоторые пункты (к примеру требования к поддержке браузерами или используемым скриптам) для разных контор специфичны, но я не буду далее писать расплывчатых фраз, чтобы этот списочек можно было легко скопипастить и заточить под свою специфику работы.</p>
<h2>3. Требования и рекомендации</h2>
<p><strong>1</strong>.	Кроссбраузерность<br />
Сайт должен нормально работать в  IE6-8, FF3+, Opera9+, Safari4+, Chrome4+</p>
<p><strong>2</strong>.	Всегда описывайте цвет фона для body даже если он белый.</p>
<p><strong>3</strong>.	Если используете CSS хаки, комментируйте, что это и для какого браузера, а лучше используйте <a href="http://rafael.adm.br/css_browser_selector">css_browser_selector.js</a>. Заботьтесь о верстальщиках, которым придется работать с этим макетом после вас.</p>
<p><strong>4</strong>.	Названия классов и id должны по смыслу соответствовать применению<br />
например, header, menu, footer, news</p>
<p><strong>5</strong>.	Просьба разделять основные html блоки комментариями. Примерно так:<br />
&lt;!&#8211;—BEGIN FOOTER &#8211;&gt;<br />
&lt;!&#8211;—END FOOTER &#8211;&gt;</p>
<p>Это нужно для создания из сверстанного html макета шаблонов для CMS, после чего комментарии будут удаляться.</p>
<p><strong>6</strong>.	Не пренебрегать возможностью использовать GIF/PNG с 8-битным альфаканалом вместо PNG-24, где это возможно.</p>
<p><strong>7</strong>.	Все что можно сделать без Javascript, делать без него.</p>
<p><strong>8</strong>.	Если Javascript кода много — нужно его выносить в отдельный файл. Обработчики событий тоже лучше отделить и объявлять в отдельном файле.</p>
<p><strong>9</strong>.	Если это еще не оговорено с заказчиком, предварительно оговорить, какие JavaScript библиотеки вы планируете использовать при верстке макета, чтобы потом не оказалось, что при верстке использовался, к примеру, PrototypeJS, а заказчик планирует в обязательном порядке внедрять на сайт jQuery.</p>
<p><strong>10</strong>.	Для резиновых макетов обязательно должна быть задана минимальная и максимальная ширина.</p>
<p><strong>11</strong>.	Если в Т.З. не сказано другое, макет обязательно должен помещаться без горизонтальных скроллбаров в развернутое на весь экран окно браузера при горизонтальной составляющей разрешения экрана 1024px, а если позволяет размер макета, то и 800px.</p>
<p><strong>12</strong>.	В папке с изображениями не должно быть картинок, не использующихся в верстке. Если что-то исключили из верстки или переделали — не забывайте удалять уже ненужные картинки.</p>
<p><strong>13</strong>.	Для всех элементов, которые могут содержать текст различной длины, который должен быть вписан в одну строку (например, для кнопок или заголовков, если в дизайне не предусмотрено, что они могут занимать больше одной строки), обязательно  задавайте CSS свойство white-space:nowrap.</p>
<p><strong>14</strong>.	CSS файл должен быть разбит с помощью строк с комментариями на блоки по функциональному назначению, например:</p>
<blockquote><p>/* ___________1. Сброс CSS____________________*/<br />
/* ___________2. Типовые элементы____________*/<br />
/* _______________2.1. Залоговки______________*/<br />
/* _______________2.2. Ссылки________________*/<br />
/* _______________2.3. Элементы форм_________*/<br />
/*___________3. HEADER (Шапка сайта) __________*/<br />
/*___________4. FOOTER (Подвал )_______________*/<br />
/*___________5. SIDEBAR (Справа)_______________*/</p></blockquote>
<p>Как именно структурировть стили — вопрос немного холиварный, но главное — как-то это делать.</p>
<p><strong>15</strong>.	Если сдача верстки производится более чем одним этапом (например, верстальщик отправляет страницы по одной, или если ему возвращаются на доработку уже  сверстанные страницы) и вы не используете систему контроля версий для верстки, исполнитель  должен в обязательном порядке прикрепить файл с описанием изменений в макете примерно такого содержания:</p>
<blockquote>
<ul>
<li><span style="background-color: #ffffff;">Добавил новые картинки в папку img,</span></li>
<li><span style="background-color: #ffffff;">Картинки btnHome.jpg и btnFeedback.jpg уже не нужны, можно удалять</span></li>
<li><span style="background-color: #ffffff;">Изменил html-код в секции  файла anketa.html</span></li>
<li><span style="background-color: #ffffff;">Добавил в конец файла main.css новые стили (начиная с .form_row и ниже).</span></li>
</ul>
</blockquote>
<p><strong>16</strong>.	Оговорить, в какой кодировке должен быть html-макет. CSS и JS файлы должны быть в той же кодировке, что и макет, иначе вероятность долгой и утомительной охоты на баги критически возрастает.</p>
<p><strong>17</strong>.	Если в макете присутствует JS, изменяющий DOM — внимательно следить, чтобы все корректно работало в Опере, т. к. этот замечательный браузер при нажатии на кнопочку назад страницу не перезагружает, а отдает закешированный документ, причем очень важный момент: документ не просто закешированный, а еще и с учетом всех модификаций DOM, которые были выполнены с помощью JS</p>
<p><strong>18</strong>.	Не забывайте прописывать cursor:pointer для кнопок, сделанных не с помощью input. Если вы не знаете, будет на эту кнопку повешен обработчик событий с помощью JS или это будет ссылкой, лучше в любом случае использовать тег &lt;a&gt;.</p>
<p><strong>19</strong>.	Если вы делаете обработку событий при нажатии на ссылки, следите  за тем, чтобы обработчики событий возвращали false, или же используйте href=&#8217;javascript:void(0)&#8217; вместо популярного href=&#8217;#', чтобы страница не скроллилась вверх.</p>
<p><strong>20</strong>.	Верстайте формы правильно: метки полей должны находиться в тегах label, имеющих правильно заполненный атрибут for. Предусматривайте при верстке форм элементы для вывода ошибок валидации и стили для неправильно заполненных полей. Если  это не предусмотрено в т.з. и дизайне, обязательно обсудите это с заказчиком.</p>
<p><strong>21</strong>.	Если в макете используются нестандартные шрифты, обязательно оговорите, можно ли элементы с нестандартным шрифтом делать картинками, если нельзя — обсудите, с помощью какой технологии будет реализовано их отображение (sIfr, Cufon, etc.)</p>
<p><strong>22</strong>.	Если не оговорено обратное для частных случаев, все блоки, высоту которых ничего в дизайне не мешает сделать динамической, должны иметь именно динамическую (т. е. зависимую от содержания) высоту, а иногда, чтобы ничего не могло потенциально поломать дизайн, нужно задавать и минимальную высоту. Если хотите сделать блок фиксированной высоты — сначала спросите у заказчика.</p>
<p><strong>23</strong>.	В макетах, где высота страницы зависит от контента (а таких, как правило, большинство), предусматривайте, чтобы футер был прибит к низу браузера при отсутствии/малом количестве контента, если не оговорено обратное.</p>
<p><strong>24</strong>.	Если макет не проходит 100%-ную html-валидацию, постарайтесь по крайней мере делать так, чтобы использование невалидного кода было оправданно. Не стоит факапить валидность  верстки только потому, что «мне так нравится» или «так получается короче»</p>
<p>Надеюсь, этот списочек будет вам полезен. Если есть конструктивные мысли, предлагайте в комментариях, чем его можно дополнить.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nayjest.ru/verstka/html-requirements/feed</wfw:commentRss>
		<slash:comments>359</slash:comments>
		</item>
		<item>
		<title>PSD to CSS: Генерация верстки сайта из дизайн-макета Photoshop</title>
		<link>http://www.nayjest.ru/verstka/psd-to-css-generation#utm_source=feed&#038;utm_medium=feed&#038;utm_campaign=feed</link>
		<comments>http://www.nayjest.ru/verstka/psd-to-css-generation#comments</comments>
		<pubDate>Sat, 28 Nov 2009 14:36:01 +0000</pubDate>
		<dc:creator>Nayjest</dc:creator>
				<category><![CDATA[Верстка веб-страниц]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[автоматизация]]></category>

		<guid isPermaLink="false">http://www.nayjest.ru/?p=79</guid>
		<description><![CDATA[Автоматическая верстка веб-сайтов. В наши дни это стает возможным. Лично я давно мечтал о такой программе, даже подумывал о подобном стартапе, но я прекрасно понимал, что генерировать читабельные, валидные, красивые, семантичные html/css макеты  (да еще и резиновые) из файлов фотошопа &#8212; это очень сложная задача и потребует много времени, а времени этого всегда ой как [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border:none; float:left; margin:0 10px 0 10px;" title="PSD to HTML + CSS" src="/userfiles/psd-to-css.gif" alt="PSD to HTML + CSS" /></p>
<p><strong>Автоматическая верстка веб-сайтов. </strong>В наши дни это стает возможным. Лично я давно мечтал о такой программе, даже подумывал о подобном стартапе, но я прекрасно понимал, что генерировать читабельные, валидные, красивые, семантичные html/css макеты  (да еще и резиновые) из файлов фотошопа &#8212; это очень сложная задача и потребует много времени, а времени этого всегда ой как мало :)</p>
<p>Так вот, представляю вам <strong>бесплатный веб-сервис для автоматического преобразования ваших Psd макетов в сверстанные страцицы сайта</strong>: <strong><a href="http://psd2cssonline.com/" target="_blank">Psd 2 css online</a><span style="font-weight: normal;">. </span></strong></p>
<p><strong><span style="font-weight: normal;"><span style="background-color: #ffffff; ">Для того, чтобы сгенерировать нужный нам макет веб-сайта, нужно специальным образом проименовать слои (Layers).  Например если в имени слоя есть суффикс <em>_text</em>, то данный слой экспортируется в верстку как текст, а не как картинка. Поддерживаются такие необходимые вещи, как расширяющиеся в зависимости от размера контента блоки, подсветка (hover) кнопок и много чего еще.<span id="more-79"></span><br />
</span></span></strong></p>
<p><span style="background-color: #ffffff;">Разработчики сразу же обращают внимание на то, что генерировать верстку можно из psd файлов, созданных не только с помощью <strong>Adobe Photoshop</strong>, но и другой софтиной, например достаточно популярным бесплатным графическим редактором <strong>Gimp</strong>.</span></p>
<p><span style="background-color: #ffffff;">На сайте есть уроки и видео-уроки, показывающие, как легко вы можете преобразовать ваш PSD дизайн-макет в сверстанный макет. </span></p>
<p><span style="background-color: #ffffff;">Что интересно, верстка их сайта сделана их же сайтом :)</span></p>
<p><a title="Открыть www.psd2cssonline.com в новом окне" href="http://psd2cssonline.com/" target="_blank">Ну все, можете уже смотреть www.psd2cssonline.com</a></p>
<p>Конечно, появление такого веб-сервиса не значит, что верстальщики могут остаться без работы в ближайшее время, пока этот веб-сервис очень ограничен в своих возможностях, генерируемая верстка &#8230;ну вы же сами понимаете, она &laquo;генерируемая&raquo; автоматически, а значит де-факто не очень красива, о резиновых макетах (с динамической шириной) пока даже не идет речь, и есть еще много-много недостатков. Но с этим уже можно поиграться, можно пощупать, это бесплатно.</p>
<p>Вот если бы еще прикрутить этот сервис плагином к Phptoshop, было бы вообще замечательно.</p>
<p>В догонку: <a href="http://divine-project.com/" target="_blank"><strong>Divine project</strong></a><strong> &#8212; автоматическое создание темы для WorPress из PSD шаблона</strong> и <a href="http://habrahabr.ru/blogs/webdev/76527/" target="_blank">пост о нем же</a> на Хабре.  Реализовано как программа и плагин для Photoshop.</p>
<p>Такой вариант очень интересен, и должен признать, значительно удобнее, но жаль, что PSD шаблоны преобразовываются исключительно в макеты для  WordPress</p>
<p>Движение в сторону автоматизации работы верстальщика &#8212; это очень, очень позитивно и будем надеяться, это направление будет развиваться и далее.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nayjest.ru/verstka/psd-to-css-generation/feed</wfw:commentRss>
		<slash:comments>143</slash:comments>
		</item>
	</channel>
</rss>

