<?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>Cоздание и разработка веб-сайтов. Создание сайтов под ключ - www. artgen.com.ua. &#187;  &#8212; Cоздание и разработка веб-сайтов. Создание сайтов под ключ &#8212; www. artgen.com.ua.</title>
	<atom:link href="http://www.artgen.com.ua/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artgen.com.ua</link>
	<description></description>
	<lastBuildDate>Thu, 29 Dec 2011 08:42:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Делаем слайд-шоу с использованием jQuery</title>
		<link>http://www.artgen.com.ua/blog/image-slideshow-jquery/</link>
		<comments>http://www.artgen.com.ua/blog/image-slideshow-jquery/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 08:41:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Техноблог]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[слайдшоу]]></category>

		<guid isPermaLink="false">http://www.artgen.com.ua/?p=597</guid>
		<description><![CDATA[В данной статье вы узнаете о некоторых методах верстки объектов интерфейса и познакомитесь с функциями jQuery, управляющих анимацией. Технология Flash все реже и реже используется для интерактивных элементов web-страниц. Это происходит благодаря развитию технологии CSS и появлению различных JS библиотек. Одной из таких библиотек является jQuery. Ее функционал позволяет легко получать доступ к любому элементу [...]]]></description>
			<content:encoded><![CDATA[<p>В данной статье вы узнаете о некоторых методах верстки объектов интерфейса и познакомитесь с функциями jQuery, управляющих анимацией.</p>
<p><span id="more-597"></span></p>
<p>Технология Flash все реже и реже используется для интерактивных элементов web-страниц. Это происходит благодаря развитию технологии CSS и появлению различных JS библиотек. Одной из таких библиотек является <a href="http://jquery.com/" rel="nofollow">jQuery</a>. Ее функционал позволяет легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Рассмотрим использование некоторых функций jQuery на примере создания слайд-шоу.</p>
<p>Но прежде чем писать скрипты, давайте сначала определимся со структурой нашего слайд-шоу и опишем ее с помощью HTML.</p>
<p style="text-align: center;"><img alt="img01 Делаем слайд шоу с использованием jQuery" height="150" src="http://www.artgen.com.ua/files/images/blog/image-slideshow-jquery/img01.png" width="700" title="Делаем слайд шоу с использованием jQuery" /></p>
<p>Как мы видим на рисунке, наше слайдшоу представляет собой выстроенные в один ряд изображения и стрелки прокрутки. Опишем данную структуру следующим HTML кодом:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;gallery&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;container&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;img/img01.jpg&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;img/img02.jpg&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;img/img03.jpg&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;img/img04.jpg&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nav prev&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;назад&quot;</span>&gt;</span>назад<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;nav next&quot;</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;вперед&quot;</span>&gt;</span>вперед<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>Здесь роль стрелок навигации у нас будут выполнять ссылки &laquo;назад&raquo; и &laquo;вперед&raquo;, а списком изображений будет служить список, расположенный в блоке с классом <strong>container</strong>.</p>
<p>Теперь перейдем к описанию CSS. Так как блок нашего слайд-шоу должен быть по ширине резиновым, присваиваем всем блокам, лежащим внутри внешнего блока <strong>gallery</strong> свойство <strong>float: left</strong>, тем самым выстраивая их в один ряд. Затем блок с изображениями делаем на всю ширину родительского блока, стрелку &laquo;назад&raquo; отодвигаем влево на величину ширины родительского блока, а стрелку &laquo;вперед&raquo; отодвигаем влево на свою ширину. Ширина стрелок навигации у нас будет равна 40&nbsp;px. Для того чтобы лучше понять наши манипуляции взгляните на рисунок.</p>
<p style="text-align: center;"><img alt="img02 Делаем слайд шоу с использованием jQuery" height="908" src="http://www.artgen.com.ua/files/images/blog/image-slideshow-jquery/img02.png" width="700" title="Делаем слайд шоу с использованием jQuery" /></p>
<p>Теперь займемся списком с изображениями. Наша задача расположить их в ряд, но так чтобы он не переносился на другую строку, если его длина будет больше чем длина родительского блока. Для этого присвоим списку свойства <strong>white-space: nowrap</strong> и <strong>overflow: hidden</strong>. Первое запретит перенос дочерних элементов на следующую строку, а второе скроет элементы, выходящие за ширину списка. Элементам списка присвоим, в свою очередь свойства <strong>display: inline</strong> тем самым разместив их в горизонтальный ряд подобно обычному тексту.</p>
<p>Настала очередь заняться стилизацией стрелок навигации. Делаем их размеры такие же, как и родительский блок и скрываем текст внутри них. Открываем любой графический редактор и делаем изображения стрелок &laquo;назад&raquo; и &laquo;вперед&raquo;. У меня получились вот такие:</p>
<p style="text-align: center;"><img alt="img03 Делаем слайд шоу с использованием jQuery" height="35" src="http://www.artgen.com.ua/files/images/blog/image-slideshow-jquery/img03.png" width="80" title="Делаем слайд шоу с использованием jQuery" /></p>
<p>После всех манипуляций у нас получается следующий код CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.container</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> ul <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span><span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">list-style</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">white-space</span><span style="color: #00AA00;">:</span><span style="color: #993333;">nowrap</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> ul li <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.nav</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">150px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">40px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.prev</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-100%</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.next</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-40px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.nav</span> a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span><span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-indent</span><span style="color: #00AA00;">:</span><span style="color: #933;">-1000px</span><span style="color: #00AA00;">;</span>
	opacity<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0.5</span><span style="color: #00AA00;">;</span>
	filter<span style="color: #00AA00;">:</span> alpha<span style="color: #00AA00;">&#40;</span>opacity <span style="color: #00AA00;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.prev</span> a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">prev.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span> <span style="color: #993333;">center</span> <span style="color: #993333;">center</span> <span style="color: #cc00cc;">#eee</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.next</span> a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">next.png</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span> <span style="color: #993333;">center</span> <span style="color: #993333;">center</span> <span style="color: #cc00cc;">#eee</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#gallery</span> div<span style="color: #6666ff;">.nav</span> a<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span>
	opacity<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0.7</span><span style="color: #00AA00;">;</span>
	filter<span style="color: #00AA00;">:</span> alpha<span style="color: #00AA00;">&#40;</span>opacity <span style="color: #00AA00;">=</span> <span style="color: #cc66cc;">70</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Обратите внимание на то, что в описании стиля ссылок есть два свойства: <strong>opacity</strong> и <strong>filter</strong>. Задача у них двоих одинаковая: задать прозрачность элементу. Второй параметр необходим корректного отображения в браузере IE, т.к. свойство <strong>opacity</strong> он не понимает.</p>
<p>Если вы в коде HTML делали пункты списка с изображениями делали каждый на отдельной строке, то вы могли заметить что между изображениями есть пробелы. Их наличие обусловлено тем, что элементы списка воспринимаются как строчные элементы, а переход на новую строку воспринимается как пробел. От этих пробелов можно 2-мя способами:</p>
<ul>
<li>С помощью CSS-свойства <strong>word-spacing</strong>, присвоив ему отрицательную ширину пробельного символа. Недостаток этого способа состоит в том, что у каждого размера и типа шрифта эта величина разная и вам нужно будет экспериментально каждый раз подбирать ее.</li>
<li>Убрать лишние символы между элементами списка: вручную или с помощью JS. Данный метод является более предпочтительным, тем более недостатков у него я не вижу.</li>
</ul>
<p>Итак, структура слайд-шоу готова, осталось только заставить ее двигаться. Суть пролистывания изображений заключается в динамическом изменении CSS-свойства <strong>text-indent</strong> у списка, в котором они находятся. Задавая свойству положительное значение, мы сдвигаем дочерние элементы вправо, отрицательное значение &mdash; влево. Для того чтобы прокрутить весь список до конца его нужно сместить влево на разницу значений ширины этого списка элементов и ширины родительского элемента. Эти величины можно получить из DOM свойств объекта. Свойство <strong>scrollWidth</strong> определяет ширину списка элементов в объекте, а <strong>clientWidth</strong> &mdash; ширину самого объекта.</p>
<p style="text-align: center;"><img alt="img04 Делаем слайд шоу с использованием jQuery" height="144" src="http://www.artgen.com.ua/files/images/blog/image-slideshow-jquery/img04.png" width="700" title="Делаем слайд шоу с использованием jQuery" /></p>
<p>Разностью этих величин у нас будет параметр <strong>width</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> width <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;scrollWidth&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;clientWidth&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Для динамического изменения свойства <strong>text-indent</strong> нам идеально подходит функция jQuery <strong><a href="http://api.jquery.com/animate/" rel="nofollow">animate ()</a></strong>. Она позволяет осуществлять анимацию списка CSS-свойств за заданный промежуток времени. Полное описание с примерами можно прочитать на сайте jQuery. Какое CSS-свойство изменять, мы уже определили, осталось разобраться со временем, за которое будет происходить анимация &ndash; для этого заведем переменную <strong>elapsed</strong>. Чтобы каждый раз не подбирать необходимое время для прокрутки всех изображений просто возьмем ширину списка элементов и умножим на некий коэффициент &ndash; переменная <strong>factor</strong>. Чем больше значение коэффициента &ndash; тем медленней будет осуществляться прокрутка.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> factor <span style="color: #339933;">=</span> <span style="color: #CC0000;">2.5</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> elapsed <span style="color: #339933;">=</span> width <span style="color: #339933;">*</span> factor<span style="color: #339933;">;</span></pre></div></div>

<p>Для того чтобы привязать анимацию к стрелкам навигации возьмем методы <strong><a href="http://api.jquery.com/mouseenter/" rel="nofollow">mouseenter</a></strong> или <strong><a href="http://api.jquery.com/mousedown/" rel="nofollow">mousedown</a></strong>. Первый срабатывает при наведении курсора мыши на объект, второй &ndash; при нажатии кнопкой мыши на объект. Получаем следующий код:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery .prev&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseenter</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	indent <span style="color: #339933;">=</span> <span style="color: #339933;">-</span> parseInt <span style="color: #009900;">&#40;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;text-indent&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> textIndent<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> elapsed <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span> width <span style="color: #339933;">-</span> indent <span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> factor <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery .next&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseenter</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	indent <span style="color: #339933;">=</span> <span style="color: #339933;">-</span> parseInt <span style="color: #009900;">&#40;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;text-indent&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> textIndent<span style="color: #339933;">:</span> <span style="color: #339933;">-</span>width<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span> width <span style="color: #339933;">-</span> indent <span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> factor <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Как вы могли заметить, в коде мы используем еще одну функцию jQuery &mdash; <strong><a href="http://api.jquery.com/stop/" rel="nofollow">stop ()</a></strong>. Она предназначена для остановки, происходящей в данное время анимации элемента. Ей мы передаем один параметр, который означает, что мы хотим очистить очередь анимации. Так же, у нас появляется переменная <strong>indent</strong> в которую мы записываем текущее значение СSS-свойства <strong>text-indent</strong>. Эта величина нам понадобится при расчете времени, которое потребуется на анимацию CSS-свойства при его текущем значении.</p>
<p>Код, запускающий анимацию, у нас уже есть, теперь нужен код, который бы ее останавливал. Для этого возьмем метод <strong><a href="http://api.jquery.com/mouseleave/" rel="nofollow">mouseleave</a></strong> или <strong><a href="http://api.jquery.com/mouseup/" rel="nofollow">mouseup</a></strong>. Первый срабатывает, когда мы убираем курсор с объекта, второй &ndash; когда отпускаем нажатую кнопку мыши.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery .prev&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseleave</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery .next&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseleave</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Итак, у нас уже фактически есть работающее слайд-шоу. Почему фактически? Потому что в браузерах на основе движка Webkit оно не работает. В ходе недолгих разбирательств, мы узнаем, что это браузеры, работающие на этом движке, просчитывают параметры <strong>scrollWidth</strong> и <strong>clientWidth</strong> когда документ уже полностью загружен, в отличие от остальных, которые делают это, когда страница показывается пользователю. Поэтому добавляем следующий код:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>$.<span style="color: #660066;">browser</span>.<span style="color: #660066;">webkit</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;&amp;</span>amp<span style="color: #339933;">;</span> document.<span style="color: #660066;">readyState</span> <span style="color: #339933;">!=</span> <span style="color: #3366CC;">&quot;complete&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	setTimeout<span style="color: #009900;">&#40;</span> arguments.<span style="color: #660066;">callee</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">100</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Он проверяет браузер и состояние готовности страницы. Если движок браузера Webkit и состояние готовности не является &laquo;complete&raquo;, то весь JS-код запускается повторно через 100 мс.</p>
<p>Теперь наше слайд-шоу работает как надо во всех браузерах, но есть еще одна вещь, которой, как мне кажется, не хватает &ndash; плавность прокрутки, особенно когда при ее остановке. Давайте сделаем этот процесс более плавным. Для этого нам потребуется специальная библиотека <a href="http://jqueryui.com/" rel="nofollow">jQuery UI</a>. Она обеспечивает работу с анимацией, эффектами, интерфейсом и всевозможными виджетами. Для нашей задачи нужны функции характера воспроизведения анимации &ndash; <a href="http://jqueryui.com/demos/effect/easing.html" rel="nofollow" target="_blank">easing</a>. На странице вы можете наглядно увидеть как работает каждая функция воспроизведения и выбрать подходящую. Эта функция затем передается параметром функции <strong>animate</strong>. Я выбрал для примера <strong>easeOutQuad</strong>. Допишем наши функции для прекращения анимации:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery .prev&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseleave</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	indent <span style="color: #339933;">=</span> <span style="color: #339933;">-</span> parseInt <span style="color: #009900;">&#40;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;text-indent&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> indent <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> widthStop <span style="color: #009900;">&#41;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> textIndent<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;+=&quot;</span><span style="color: #339933;">+</span>widthStop <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> widthStop <span style="color: #339933;">*</span> factorStop<span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;easeOutQuad&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> indent <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #CC0000;">0</span> <span style="color: #009900;">&#41;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> textIndent<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> indent <span style="color: #339933;">*</span> factorStop<span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;easeOutQuad&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery .next&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mouseleave</span> <span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	indent <span style="color: #339933;">=</span> <span style="color: #339933;">-</span> parseInt <span style="color: #009900;">&#40;</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;text-indent&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003366; font-weight: bold;">var</span> delta <span style="color: #339933;">=</span> width <span style="color: #339933;">-</span> indent<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> delta <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> widthStop <span style="color: #009900;">&#41;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> textIndent<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;-=&quot;</span><span style="color: #339933;">+</span>widthStop <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> widthStop <span style="color: #339933;">*</span> factorStop<span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;easeOutQuad&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> delta <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #CC0000;">0</span> <span style="color: #009900;">&#41;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#gallery ul&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> textIndent<span style="color: #339933;">:</span> <span style="color: #339933;">-</span>width <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> delta <span style="color: #339933;">*</span> factorStop<span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;easeOutQuad&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Здесь я добавил еще два параметра: <strong>widthStop</strong> &ndash; ширина &laquo;тормозного пути&raquo;, и <strong>factorStop</strong> &mdash; коэффициент для определения времени анимации торможения. В каждой из функций сначала находится текущее значение свойства <strong>text-indent</strong>, а затем выполняется проверка: больше ли это значение &laquo;тормозного пути&raquo;. Это сделано для того, чтобы не выйти за диапазон прокрутки.</p>
<p>Если у вас хватило терпения правильно проделать все вышеизложенные операции, то в итоге у вас должно получиться примерно такое <a href="/temp/slideshow/index.html" rel="nofollow">слайд-шоу</a>.</p>
<p>Скачать рабочий <a href="/temp/slideshow/slideshow.zip" rel="nofollow">пример</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artgen.com.ua/blog/image-slideshow-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Советы и правила по созданию качественной HTML-верстки</title>
		<link>http://www.artgen.com.ua/blog/css-coding-tips/</link>
		<comments>http://www.artgen.com.ua/blog/css-coding-tips/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 13:40:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Техноблог]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[верстка]]></category>

		<guid isPermaLink="false">http://artgen.local.zone/?p=382</guid>
		<description><![CDATA[В данной статье вы узнаете о некоторых правилах, которые мы используем в нашей студии при верстке шаблонов, и, возможно, почерпнете что-то полезное для себя.]]></description>
			<content:encoded><![CDATA[<p>В данной статье вы узнаете о некоторых правилах, которые мы используем в нашей студии при верстке шаблонов, и, возможно, почерпнете что-то полезное для себя.</p>
<ul>
<li>
<p>
			Прежде чем приступить к верстке, следует детально изучить элементы во всех предоставленных шаблонах и найти схожие по стилю блоки. Это  позволит в разы сократить CSS.
		</p>
</li>
<li>
<p>
			Отслеживать процесс верстки лучше всего в самом проблемном  браузере. На данный момент таковым является IE6
		</p>
</li>
<li>
<p>
			Ключевым и уникальным блокам на странице следует присваивать идентификатор, а в css описании отталкиватся от идентификатора. Это позволит использовать одинаковые имена классов в разных блоках.
		</p>
<p>
			<strong>Пример:</strong>
		</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;maincol&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;block&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>В css описании следует отталкиватся от 
		идентификатора. Это позволит использовать 
		одинаковые имена классов в разных блоках.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div.<span style="color: #993333;">block</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #808080; font-style: italic;">/* описание свойств ... */</span>	
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#maincol</span> div.<span style="color: #993333;">block</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #808080; font-style: italic;">/* описание свойств ... */</span>	
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>
			Старайтесь использовать абстрактные имена классов, т.к. возможно их последующее использование для блоков другого смыслового содержания.
		</p>
<p><strong>Пример:</strong></p>
<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;usefull_tips&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;tip&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Абстрактные имена классов 
		вносят меньше путаницы.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;items&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;item&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Абстрактные имена классов 
		вносят меньше путаницы.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>
			Старайтесь использовать связные классы для схожих по стилю блоков.
		</p>
<p><strong>Пример:</strong></p>
<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>
<p>HTML:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;type1&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>С помощью связных классов можно 
	сократить размер CSS-файла.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>	
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;type2&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Чем меньше дублирующих блоков 
	в CSS-файле - тем лучше<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>
<p>HTML:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;block type1&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>С помощью связных классов можно 
	сократить размер CSS-файла.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;block type2&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Чем меньше дублирующих блоков 
	в CSS-файле - тем лучше<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
</tr>
<tr>
<td>
<p>CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.type1</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">1em</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">1.2em</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #6666ff;">.type2</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">1em</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">1.2em</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
<td>
<p>CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div.<span style="color: #993333;">block</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">1em</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">1.2em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #6666ff;">.type1</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #6666ff;">.type2</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>
			Старайтесь давать осмысленные имена классам и не перегружать их названия излишними данными для облегчения понимания верстки сторонними лицами
		</p>
<p><strong>Пример:</strong></p>
<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>
<p>HTML:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;header&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;head_menu&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>пункт 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>пункт 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>пункт 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>
<p>HTML:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;header&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>пункт 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>пункт 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>пункт 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
</tr>
<tr>
<td>
<p>CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#header</span> div<span style="color: #6666ff;">.head_menu</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #808080; font-style: italic;">/* some css here... */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
<td>
<p>CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#header</span> div<span style="color: #6666ff;">.head</span> <span style="color: #00AA00;">&#123;</span>
	...
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>Не следует использовать графику там, где можно спокойно обойтись текстовыми символами.</p>
</li>
<li>
<p>Не рекомендуется использовать параметр <strong>style</strong> в HTML тегах.</p>
</li>
<li>
<p>При описании размера шрифта и межстрочного интервала лучше использовать относительные единицы измерения &mdash; <strong>em</strong>.</p>
</li>
<li>
<p>Старайтесь в CSS-описании блоков сортировать свойства по следующим группам:</p>
<ul>
<li>свойства текста и шрифта</li>
<li>оформление</li>
<li>размеры и отступы</li>
<li>позиционирование</li>
<li>поведение</li>
</ul>
</li>
<li>
<p>
			Настоятельно не рекомендуется стилизовать под единичное  использование теги акцентного оформления текста (<strong>strong</strong>, <strong>em</strong>, <strong>small</strong>, <strong>span</strong>, <strong>sup</strong>, <strong>sub</strong>  и т.д.) в тех местах где предполагается размещение динамического контента.
		</p>
</li>
<li>
<p>
			Не стоит полностью отказываться от использования таблиц в  пользу слоев: в некоторых случаях они более уместны.
		</p>
</li>
<li>
<p>Стилизуйте элементы, по возможности, на более высоком уровне вложенности.</p>
<p><strong>Пример:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Стилизованный заголовок<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span></pre></div></div>

<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">h2 <span style="color: #00AA00;">&#123;</span>
	<span style="color: #808080; font-style: italic;">/* пусто */</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
h2 a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">2em</span><span style="color: #00AA00;">;</span>	
	<span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span><span style="color: #993333;">normal</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">h2 <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">2em</span><span style="color: #00AA00;">;</span>	
	<span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span><span style="color: #993333;">normal</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
h2 a <span style="color: #00AA00;">&#123;</span>
	<span style="color: #808080; font-style: italic;">/* пусто */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>
			Не оставляйте ссылки без содержимого. Также, рекомендуется использовать параметра <strong>title</strong> в ссылке, если в стиле содержимое самой ссылки скрывается. Для того, чтобы скрыть в стиле содержимое из ссылки используйте свойство <strong>text-indent</strong>.
		</p>
<p><strong>Пример:</strong></p>
<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;logo&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;logo&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;на главную&quot;</span>&gt;</span>Название сайта<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>
			Используйте тег <strong>img</strong> только для контентных изображений. Таковыми считаются: изображения, которые сопровождают тексты, аннотации и т.д.,  банеры, счетчики.
		</p>
</li>
<li>
<p>Предпочтительно подбирать нужные теги под логическую разметку  страницы, а не создавать ее через css стили. Для лучшего понимания использования тегов, при верстке  рекомендуется сначала сделать HTML-каркас без подключения CSS. Если посмотреть на такую страницу из веб-браузера, то будет наглядно видно, где возникают нелогичные ситуации, например &laquo;слипание&raquo; текста.</p>
<p><strong>Пример:</strong></p>
<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;head&quot;</span>&gt;</span>Заголовок<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>пункт 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>пункт 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
	...
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>Заголовок<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>пункт 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>пункт 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	...
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>
			Использовать элементы <strong>input</strong>, <strong>select</strong> и <strong>textarea</strong> в связке с <strong>label</strong>. Связка осуществляется посредством параметров <strong>for</strong> в <strong>label</strong> и <strong>id</strong> в  вышеприведенных элементах.
		</p>
<p><strong>Пример:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;firstname&quot;</span>&gt;</span>Имя:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;firstname&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;firstname&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

</li>
<li>
<p>
			Если в дизайне планируется размещение наименований полей формы  в самих полях, следует использовать тег <strong>label</strong> вместо прописывания  значений в параметр <strong>value</strong>.
		</p>
<p><strong>Пример:</strong></p>
<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;login&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;логин&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;password&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pass&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;пароль&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;login&quot;</span>&gt;</span>логин:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;login&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;login&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">label</span> <span style="color: #000066;">for</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pass&quot;</span>&gt;</span>пароль:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">label</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;password&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pass&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pass&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>Для удобства навиции по полям формы рекомендуется использовать параметр <strong>tabindex</strong> в элементах форм.</p>
</li>
<li>
<p>
			Не рекомендуется использовать инлайновые и блоковые элементы в  одном уровне вложенности.
		</p>
<p><strong>Пример:</strong></p>
<table class="wrongright">
<tr>
<td>
<p><strong>не правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>навигация<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Инлайновые и блоковые элементы
	 не стоит располагать рядом<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span> 
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
<td>
<p><strong>правильно:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>навигация<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Инлайновые и блоковые элементы 
	не стоит располагать рядом<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span> 
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

</td>
</tr>
</table>
</li>
<li>
<p>Для стилизации отступов у абзацев нужно использовать свойство <strong>margin</strong>.</p>
</li>
<li>
<p>При стилизации блоков, содержащих динамический контент недопустимо задавать свойство <strong>height</strong>.</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.artgen.com.ua/blog/css-coding-tips/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Объединение шейпов (shapes) в один объект в Adobe Photoshop</title>
		<link>http://www.artgen.com.ua/blog/shapes_combine/</link>
		<comments>http://www.artgen.com.ua/blog/shapes_combine/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 10:42:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Техноблог]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[shapes]]></category>

		<guid isPermaLink="false">http://artgen.local.zone/?p=38</guid>
		<description><![CDATA[Вы сталкивались когда-нибудь с проблемой объединения векторных объектов в один при работе в Adobe Photoshop? Этот урок поможет Вам разобраться в этих тонкостях работы с шейпами.]]></description>
			<content:encoded><![CDATA[<p>Вы&nbsp;сталкивались с&nbsp;проблемой объединения векторных объектов в&nbsp;один при работе в&nbsp;Adobe Photoshop? В этом уроке я расскажу, как комбинировать несколько шейпов в&nbsp;один слитый векторный объект так, чтобы он&nbsp;не&nbsp;растеризировался. Итак,&nbsp;начнем.</p>
<p>Берем исходное изображение. Я&nbsp;погуглил и&nbsp;выбрал, нашел изображение вазы, которая очень подходит для наглядности данного&nbsp;примера:</p>
<p style="text-align: center;"><img height="450" width="346" src="/files/images/blog/shapes_combine/shapes_combine_01.jpg" alt="shapes combine 01 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /></p>
<p>Берем <span>Pen Tool</span>&nbsp;<img height="21" align="absmiddle" width="25" src="/files/images/blog/shapes_combine/shapes_combine_09.jpg" alt="shapes combine 09 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" />, включаем <span>Pahts</span>&nbsp;<img height="31" align="absmiddle" width="66" src="/files/images/blog/shapes_combine/shapes_combine_10.jpg" alt="shapes combine 10 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /> и&nbsp;начинаем обрисовывать контур нашей вазы до&nbsp;середины.&nbsp;</p>
<p>В&nbsp;итоге, мы&nbsp;должны получить следующий результат (см.&nbsp;ниже):</p>
<p style="text-align: center;"><img height="450" width="345" src="/files/images/blog/shapes_combine/shapes_combine_03.jpg" alt="shapes combine 03 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /></p>
<p>Выбираем <span>Direct Selection Tool</span>&nbsp;(A)&nbsp;<img height="23" align="absmiddle" width="25" src="/files/images/blog/shapes_combine/shapes_combine_02.jpg" alt="shapes combine 02 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" />, выделяем полученный контур, и делаем его копию: <span>Edit</span>&rarr;<span>Copy</span> затем <span>Edit&rarr;Paste</span> (либо <span>Ctrl+C</span> затем <span>Ctrl+V</span>). С&nbsp;выбранным инструментом <span>Direct Selection Tool</span>, идем в <span>Edit</span>&rarr;<span>Transform Path</span> (<span>Ctrl+T</span>) и&nbsp;выбираем <span>Flip Horizontal</span> (зеркально отобразить относительно горизонтальной оси объекта). Полученный контур двигаем так, чтобы он&nbsp;максимально перекрывал вторую часть&nbsp;вазы.</p>
<p style="text-align: center;"><img height="450" width="332" src="/files/images/blog/shapes_combine/shapes_combine_04.jpg" alt="shapes combine 04 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /></p>
<p>Все&nbsp;же есть погрешности, правда? Этим сейчас и&nbsp;займемся.&nbsp;</p>
<p>Выбираем все тот&nbsp;же <span>Direct Selection Tool</span>&nbsp;(A)&nbsp;<img height="23" align="absmiddle" width="25" src="/files/images/blog/shapes_combine/shapes_combine_02.jpg" alt="shapes combine 02 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" />, выделяем отдельные точки кривой и&nbsp;аккуратно передвигаем, пока он&nbsp;не&nbsp;закроет не&nbsp;перекрытые края нашего объекта. В&nbsp;результате, это должно иметь вид:&nbsp;</p>
<p style="text-align: center;"><img height="450" width="346" src="/files/images/blog/shapes_combine/shapes_combine_05.jpg" alt="shapes combine 05 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /></p>
<p>Поправили? Хорошо. Поехали дальше.&nbsp;</p>
<p>У&nbsp;нас теперь есть 2 контура, пересекающихся своими боковыми сторонами. Отлично.&nbsp;</p>
<p>Берем <span>Path Selection Tool</span>&nbsp;<img height="20" align="absmiddle" width="25" src="/files/images/blog/shapes_combine/shapes_combine_06.jpg" alt="shapes combine 06 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" />, и&nbsp;выделяем точки обеих контуров и на панели настроек инструмента нажимаем кнопку <span>Combine</span>:</p>
<p style="text-align: center;"><img height="24" width="180" src="/files/images/blog/shapes_combine/shapes_combine_07.jpg" alt="shapes combine 07 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /></p>
<p>И&nbsp;&laquo;О&nbsp;Чудо!&raquo;, они объединились. Как все, оказывается, просто.&nbsp;</p>
<p style="text-align: center;"><img height="450" width="347" src="/files/images/blog/shapes_combine/shapes_combine_08.jpg" alt="shapes combine 08 Объединение шейпов (shapes) в один объект в Adobe Photoshop"  title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /></p>
<p>На&nbsp;этом, в&nbsp;принципе, разбор данной темы можно закончить. Все остальное попадает под категорию OFFTOP.&nbsp;</p>
<p>Ещё можно вырезать места, где у&nbsp;нас ручки, сохранить контур, как <span>Custom Shape</span>, и&nbsp;использовать нашу фигуру, растягивая до&nbsp;любых мыслимых и&nbsp;не&nbsp;мыслимых размеров, не&nbsp;боясь потери качества. Это векторная фигура, она ресайза не&nbsp;боится <img src='http://www.artgen.com.ua/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Объединение шейпов (shapes) в один объект в Adobe Photoshop" class='wp-smiley' title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /> &nbsp;</p>
<p>С&nbsp;техникой разобрались, дальше уже творчество&nbsp;и&nbsp;креатив <img src='http://www.artgen.com.ua/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Объединение шейпов (shapes) в один объект в Adobe Photoshop" class='wp-smiley' title="Объединение шейпов (shapes) в один объект в Adobe Photoshop" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.artgen.com.ua/blog/shapes_combine/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Давление на перо средствами Adobe Photoshop</title>
		<link>http://www.artgen.com.ua/blog/pen_pressure/</link>
		<comments>http://www.artgen.com.ua/blog/pen_pressure/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 10:27:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Техноблог]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[перо]]></category>

		<guid isPermaLink="false">http://artgen.local.zone/?p=34</guid>
		<description><![CDATA[У Вас нет планшета, но нужна имитация давления на перо? Не печальтесь — это можно сделать стандартными средствами Adobe Photoshop.]]></description>
			<content:encoded><![CDATA[<p>У&nbsp;Вас нет планшета, но&nbsp;нужна имитация давления на&nbsp;перо (линии разной толщины)?&nbsp;Не расстраиваетесь &mdash; это можно сделать стандартными средствами Adobe Photoshop. Итак,&nbsp;начнем <img src='http://www.artgen.com.ua/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Давление на перо средствами Adobe Photoshop" class='wp-smiley' title="Давление на перо средствами Adobe Photoshop" /> </p>
<p>Выбираем инструмент <span>PenTool</span> (P) <img align="absmiddle" alt="pen pressure 05 Давление на перо средствами Adobe Photoshop" height="21" src="/files/images/blog/pen_pressure/pen_pressure_05.jpg" width="25" title="Давление на перо средствами Adobe Photoshop" />, включаем <span>Paths</span>&nbsp;<img align="absmiddle" alt="pen pressure 08 Давление на перо средствами Adobe Photoshop" height="31" src="/files/images/blog/pen_pressure/pen_pressure_08.jpg" width="66" title="Давление на перо средствами Adobe Photoshop" /> и&nbsp;рисуем кривую (или&nbsp;несколько).</p>
<p style="text-align: center;">&nbsp;<img alt="pen pressure 01 Давление на перо средствами Adobe Photoshop" height="379" src="/files/images/blog/pen_pressure/pen_pressure_01.jpg" width="361" title="Давление на перо средствами Adobe Photoshop" /></p>
<p>Выбираем инструмент <span>Brush Tool</span> (B) <img align="absmiddle" alt="pen pressure 06 Давление на перо средствами Adobe Photoshop" height="21" src="/files/images/blog/pen_pressure/pen_pressure_06.jpg" width="25" title="Давление на перо средствами Adobe Photoshop" />, переходим в&nbsp;окно редактирования кистей (<span>Toggle the Brushes palette</span>&nbsp;<img align="absmiddle" alt="pen pressure 07 Давление на перо средствами Adobe Photoshop" height="22" src="/files/images/blog/pen_pressure/pen_pressure_07.jpg" width="22" title="Давление на перо средствами Adobe Photoshop" />), редактируем:</p>
<p style="text-align: center;">&nbsp;<img alt="pen pressure 02 Давление на перо средствами Adobe Photoshop" height="460" src="/files/images/blog/pen_pressure/pen_pressure_02.jpg" width="377" title="Давление на перо средствами Adobe Photoshop" /></p>
<p style="text-align: left;">Выбираем размер кисти, её&nbsp;жесткость (в&nbsp;моем случае это <span>19 px&nbsp;Diameter</span> и&nbsp;<span>90% Hardness</span>). Переходим на&nbsp;вкладку <span>Shape Dynamics</span> и&nbsp;выставляем следующие&nbsp;значения:</p>
<p style="text-align: center;"><img alt="pen pressure 03 Давление на перо средствами Adobe Photoshop" height="460" src="/files/images/blog/pen_pressure/pen_pressure_03.jpg" width="377" title="Давление на перо средствами Adobe Photoshop" /></p>
<p style="text-align: left;"><span>Size Jitter =&nbsp;0%</span><br />
	<span>Pen Pressure</span> выбираем в&nbsp;выпадающем&nbsp;меню<br />
	<span>Minimum Diametr =&nbsp;0%</span><br />
	Все остальные настройки оставляем&nbsp;&laquo;по&nbsp;умолчанию&raquo;</p>
<p style="text-align: left;">Теперь выбираем желаемый цвет для нашей линии (мы&nbsp;всегда сможем его поменять, способов уйма) Нажимаем <span>Set foreground&nbsp;color:</span></p>
<p style="text-align: center;">&nbsp;<img alt="pen pressure 04 Давление на перо средствами Adobe Photoshop" height="110" src="/files/images/blog/pen_pressure/pen_pressure_04.jpg" width="308" title="Давление на перо средствами Adobe Photoshop" /></p>
<p style="text-align: left;">Возвращаемся к&nbsp;инструменту <span>Pen Tool</span> (P) <img align="absmiddle" alt="pen pressure 06 Давление на перо средствами Adobe Photoshop" height="21" src="/files/images/blog/pen_pressure/pen_pressure_06.jpg" width="25" title="Давление на перо средствами Adobe Photoshop" />, в&nbsp;рабочей области нажимаем правую клавишу мыши и&nbsp;выбираем <span>Stroke&nbsp;Path</span>:</p>
<p style="text-align: center;">&nbsp;<img alt="pen pressure 09 Давление на перо средствами Adobe Photoshop" height="399" src="/files/images/blog/pen_pressure/pen_pressure_09.jpg" width="374" title="Давление на перо средствами Adobe Photoshop" /></p>
<p style="text-align: left;">Выбираем из&nbsp;выпадающего меню <span>Brush</span>, ставим галочку напротив <span>Simulate Pressure</span> и&nbsp;нажимаем OK.&nbsp;Вуаля!</p>
<p style="text-align: center;">&nbsp;<img alt="pen pressure 10 Давление на перо средствами Adobe Photoshop" height="348" src="/files/images/blog/pen_pressure/pen_pressure_10.jpg" width="372" title="Давление на перо средствами Adobe Photoshop" /></p>
<p style="text-align: left;">Используя этот урок можно добиться следующего&nbsp;эффекта:</p>
<p style="text-align: center;">&nbsp;<img alt="pen pressure 11 Давление на перо средствами Adobe Photoshop" height="123" src="/files/images/blog/pen_pressure/pen_pressure_11.jpg" width="600" title="Давление на перо средствами Adobe Photoshop" /></p>
<p style="text-align: left;">Успехов!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artgen.com.ua/blog/pen_pressure/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
