<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-109302239253433891</atom:id><lastBuildDate>Wed, 21 Mar 2012 07:09:08 +0000</lastBuildDate><category>crossbrouser</category><category>видео</category><category>дизайн</category><category>javascript</category><category>теория</category><category>партнёрка</category><category>принципы</category><category>photoshop</category><category>мышка</category><category>intro</category><category>шаблон</category><category>элементы</category><category>селектор</category><category>движение</category><category>links</category><category>JunDuo</category><category>layer</category><category>dhtml</category><category>style</category><category>psdtuts</category><category>css</category><category>tutorials</category><category>web 2.0</category><category>анимация</category><category>div</category><category>html</category><category>полосатый фон</category><category>примеры</category><category>zengarden</category><category>клавиатура</category><category>Слайдинг</category><category>курс</category><category>keystroke</category><category>dynduo</category><title>CSS и DHTML для сайтостроительства</title><description>Зеркало рассылки &lt;a href="http://subscribe.ru/catalog/inet.webbuild.cssdhtml"&gt;CSS и DHTML для сайтостроительства&lt;/a&gt;&lt;br&gt;&lt;p&gt;&lt;small&gt;&amp;copy Наталия Македа, 2008&lt;br&gt;Все права защищены. Любая перепечатка или использование материалов блога в коммерческих целях возможна лишь с письменного согласия автора. При использование материалов блога в некоммерческих целях ссылка на блог обязательна&lt;/small&gt;&lt;/p&gt;</description><link>http://cssdhtml.blogspot.com/</link><managingEditor>noreply@blogger.com (Natalia Macheda)</managingEditor><generator>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-8285242829195047690</guid><pubDate>Wed, 22 Apr 2009 07:55:00 +0000</pubDate><atom:updated>2009-04-22T01:30:55.303-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web 2.0</category><title>Гид по дизайну в стиле Web 2.0. Часть 3: Шапка и границы контента</title><description>&lt;p&gt;&lt;a href="http://cssdhtml.blogspot.com/2008/05/web-20-1.html"&gt;&lt;span style="font-size:85%;"&gt;Часть 1: Обзор. Простота&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cssdhtml.blogspot.com/2008/11/web-20-2.html"&gt;&lt;span style="font-size:85%;"&gt;Часть 2: Центрирование и количество колонок&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;Шапка&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Шапка сайта должна выделяться и содержать в себе брэнд сайта&lt;/strong&gt;, а также навигационные элементы.&lt;/p&gt;&lt;p&gt;Вы можете возразить, дескать, во все времена у сайтов были шапки и брэнды. Но сейчас, &lt;strong&gt;более, чем когда-либо&lt;/strong&gt;, шапка сайта очень сильно отличается от остального контента.&lt;/p&gt;&lt;p&gt;Шапка сайта сигнализирует пользователю: "Это верх страницы". Она должна быть оформлена броско и выразительно: большие символы, яркие иллюстрации, лаконичные слоганы, - в стиле "web 2.0".&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;h4&gt;Где и когда использовать выразительную шапку&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;На любом сайте, как брэндинг, так и навигация должны быть чёткими и бросающимися в глаза.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Для этого всегда позиционируйте логотип вашего сайта в шапке. А навигацию рекомендуется размещать сразу после логотипа. И хорошим тоном считается отделить визуально шапку сайта от остального (информационного) содержимого. Например, типичный приём для этого - использовать другой цвет для фона контейнера шапки.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.alsacreations.fr/"&gt;&lt;img src="http://i668.photobucket.com/albums/vv50/microstocker2/css18/20-alsa-creations.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Есть и другие приёмы отделения шапки от контента.&lt;/p&gt;&lt;p&gt;Использование разделительной линии:&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.londonpainconsultants.com/"&gt;&lt;img src="http://i668.photobucket.com/albums/vv50/microstocker2/css18/20-london-pain-consultants.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Стилизация под колонтитулы:&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://newtech.aurum3.com/internet/skype-28-beta-for-mac-with-screen-sharing/"&gt;&lt;img src="http://i668.photobucket.com/albums/vv50/microstocker2/css18/20-aurum3.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;Границы контента&lt;/h3&gt;&lt;p&gt;После того, как мы выделили шапку, стоит подумать об остальных элементах страницы. И к ним относятся:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Навигация&lt;/li&gt;&lt;li&gt;Фон и поля&lt;/li&gt;&lt;li&gt;Основное содержимое&lt;/li&gt;&lt;li&gt;"Подвал"&lt;/li&gt;&lt;li&gt;Кросс-линки&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Границы остального контента можно сделать контрастными по сравнению с шапкой. Контраст в данном случае подразумевается цветовой.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.curve2.com/"&gt;&lt;img src="http://i668.photobucket.com/albums/vv50/microstocker2/css18/20-curve2.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;Но использование слишком ярких цветов для фона может привести к тому, что зритель будет постоянно отвлекаться от содержимого страницы. Поэтому простой белый цвет тоже может быть эффективен: он прост в использовании для дизайнера, а посетитель сайта чувствует себя более расслабленно при навигации. &lt;p align="center"&gt;&lt;a href="http://www.etre.com/usability/"&gt;&lt;img src="http://i668.photobucket.com/albums/vv50/microstocker2/css18/20-etre.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;(...Продолжение следует...)&lt;/em&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2009/04/web-20-3.html</link><author>noreply@blogger.com (Natalia Macheda)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i668.photobucket.com/albums/vv50/microstocker2/css18/th_20-alsa-creations.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-2998831287636044522</guid><pubDate>Thu, 16 Apr 2009 10:22:00 +0000</pubDate><atom:updated>2009-04-22T01:44:49.601-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>html</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Таблицы против DIVов</title><description>&lt;p&gt;В последние несколько лет многие &lt;a href="http://tinyurl.com/c47ar7"&gt;веб-верстальщики &lt;/a&gt;перешли с табличной разметки на разметку при помощи блоков div. Вы среди их числа? Поздравляю! Но знаете ли вы о причинах такого массового "переселения"? И знаете ли вы, как оно должно быть сделано правильно? Если ответ на оба вопроса "Нет", то подозреваю, что табличный хаос вы просто заменили на div-хаос.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Даная статья рассматривает типичные проблемы разметки в веб-дизайне.&lt;/strong&gt; В первой части подробно обсуждается хаос таблиц и div-блоков. Во второй части даются рекомендации по написанию более чистого и понятного кода. В последней части мы обозреваем будущие тенденции.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;h3&gt;Часть 1: Хаос таблиц и div-блоков&lt;/h3&gt;&lt;h4&gt;Таблицы&lt;/h4&gt;&lt;p&gt;Вы обязательно столкнётесь с хаосом таблиц, если вам нужно использовать таблицы для создания дизайна. Таблицы увеличивают сложность разметки и ухудшают её техподдержку. Кроме этого, страницы, созданные на основе таблиц, очень тяжело поддаются расширяемости, в них трудно добавлять новые элементы. Следовательно, таблицы очень сильно ограничивают функциональность сайта.&lt;/p&gt;&lt;p&gt;Статистические исследования, проводимые &lt;a href="http://dev.opera.com/articles/view/mama/"&gt;MAMA&lt;/a&gt; (Metadata Analysis and Mining Application - Анализ метаданных и добыча данных приложений), показали, что в среднем таблично-ориентированные сайты содержат в своём коде вложенные таблицы (таблицы в таблице) и глубина вложения в среднем составляет три уровня. При этом количество таблично-ориентированных сайтов составляет 80% от всех сайтов, которые были проанализированы MAMA.&lt;/p&gt;&lt;p&gt;Популярность таблиц для построения каркаса сайта объясняется их &lt;strong&gt;интуитивной&lt;/strong&gt; понятностью использования. Мы сталкиваемся с табличными (табулярными) данными каждый день и понимаем их концепцию.&lt;/p&gt;&lt;p&gt;С технической точки зрения веб-верстальщику не нужно изучать и использовать стили, поскольку внешний вид таблиц можно регулировать при помощи стандартных HTML-аттрибутов, неотъемлемых от тагов &amp;lt;table&gt;, &amp;lt;tr&gt; и &amp;lt;td&gt;. Кроме того при использовании таблиц верстальщик не сталкивается с проблемой "съезжания" столбцов таблиц вниз, как это часто бывает с div-блоками. Таким образом таблицы создают &lt;strong&gt;ощущение&lt;/strong&gt; &lt;a href="http://tinyurl.com/c47ar7"&gt;надёжности и стабильности&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Однако, если мы захотим модифицировать табличный сайт, использующий простейшие тэги &amp;lt;table&gt;, &amp;lt;tr&gt; и &amp;lt;td&gt;, то мы столкнёмся с проблемами. Например, если нам понадобится убрать какую-то колонку из таблицы, то нам придётся пройтись по всем горизонтальным её строкам (&amp;lt;tr&gt;&amp;lt;/tr&gt;). А если нам вздумается "повернуть" таблицу на 90 градусов, то, фактически, весь код должен быть переписан заново. А если в таблице используются тэги &amp;lt;colspan&gt; и &amp;lt;rowspan&gt;? Путаница и хаос возрастают в разы!&lt;/p&gt;&lt;p&gt;Да и просто табличный код занимает больше места и состоит из большкго количества тэгов. Сравните, как один и тот же фрагмент разметки выражается таблицей...&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;table cellspacing="0" cellpadding="0" border="0"&gt;&lt;br /&gt; &amp;lt;tbody&gt;&amp;lt;tr&gt;&lt;br /&gt;  &lt;&amp;lt;d colspan="3" height="120"&gt;....&amp;lt;/td&gt;&lt;br /&gt; &amp;lt;/tr&gt;&lt;br /&gt; &amp;lt;tr&gt;&lt;br /&gt;  &amp;lt;td class="menu" valign="top"&gt;...&amp;lt;/td&gt;&lt;br /&gt;  &amp;lt;td class="content" valign="top"&gt;...&amp;lt;/td&gt;&lt;br /&gt;  &amp;lt;td class="aSide" valign="top"&gt;...&amp;lt;/td&gt;&lt;br /&gt; &amp;lt;/tr&gt;&lt;br /&gt; &amp;lt;tr&gt;&lt;br /&gt;  &amp;lt;td colspan="3"&gt;...&amp;lt;/td&gt;&lt;br /&gt; &amp;lt;/tr&gt;&lt;br /&gt;&amp;lt;/tbody&gt;&amp;lt;/table&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;... и div-блоками:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;div id="header"&gt;...&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div id="menu"&gt;...&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div id="content"&gt;...&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div id="aSide"&gt;...&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div id="footer"&gt;...&amp;lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;strong&gt;Сложность&lt;/strong&gt; табличного кода растёт приблизительно в два раза быстрее сложности блокового кода по мере увеличения размера страницы. Особенно если учесть, что многие (90% от всех табличных сайтов по статистике MAMA) дизайнеры-"табличники" для задания дизайна таблицы используют аттрибуты border, width, cellpadding and cellspacing, которые прописываются к каждой строке и даже к каждой ячейке!&lt;/p&gt;&lt;p&gt;Громоздкий код приводит к трудности его понимания и расширения. Многие дизайнеры с трудом понимают свой собственный код, что уж говорить о тех, кому поддержка сайта переходит "в наследство". В результате, возрастате число ошибок в коде. Помимо этого табличный код загружается дольше. А веб-дизайнеры должны понимать, что число мобильных пользователей интернета неуклонно растёт.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Таблицы предназначены для представления табулярных данных, а не для построения структуры сайта.&lt;/strong&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: blue 1px dotted; PADDING-RIGHT: 20px; BORDER-TOP: blue 1px dotted; PADDING-LEFT: 20px; PADDING-BOTTOM: 20px; MARGIN: 20px; BORDER-LEFT: blue 1px dotted; PADDING-TOP: 20px; BORDER-BOTTOM: blue 1px dotted"&gt;&lt;p&gt;Для дальнейшего чтения предлагаю вашему вниманию комикс &lt;a href="http://www.hotdesign.com/seybold/russian/"&gt;Почему верстать таблицами глупо&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Пример сайта в табличном хаосе: &lt;a href="http://www.artsforeveryone.com/"&gt;Rockford Area ASrts Council&lt;/a&gt; содержит 745 таблиц разной степени вложенности!&lt;/p&gt;&lt;/div&gt;&lt;h3&gt;DIV-блоки&lt;/h3&gt;&lt;p&gt;Тэг &amp;lt;div/&amp;gt; предназначен для задания блока в HTML-документе. Блоки предназначены именно для создания структуры документа, его каркаса. Помиме этого блоки очень удобны для описания фрагментов страницы, которые не могут быть описаны другими тэгами (таблицы, списки, элементы ввода и др.). Когда разработчик сайта не понимает семантику блоков, он начинает использовать их к месту и не к месту и возникает &lt;strong&gt;хаос блоков&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Для того, чтобы &lt;a href="http://tinyurl.com/c47ar7"&gt;правильно использовать &lt;/a&gt;div-блоки, нужно знать CSS, разницу между блоковоми и линейными элементами, между плавающим расположением и абсолютным позиционированием, нужно знать различия в браузерах и методы их (различий) устранения.&lt;/p&gt;&lt;p&gt;Недостаток блочного метода перед табличным - это неочевидность его визуального представления. Все знают, как выглядят таблицы. А блоки? С другой стороны, блок задаётся лишь одним тэгом, а не целым набором вложенных друг в друга тэгов. А следовательно, блок более гибок для модификации.&lt;/p&gt;&lt;p&gt;К сожалению, блочная структура не такая стабильная, как табличная: блоки могут "съехать" и весь дизайн страницынарушится. Однако стандарт &lt;a href="http://www.w3.org/"&gt;W3C&lt;/a&gt; всё больше и больше уточняется, а браузеры с течением времени станомяься более "умными", поэтому блочная вёрстка становится всё более предсказуемой.&lt;/p&gt;&lt;p&gt;Основная проблема блочного метода - сличком частое и не всегда уместное использование тэгов div, которые должны использоваться лишь для логического группирования фрагментов страницы. Кроме этого, можно значительно улучшить читаемость кода, если придать блокам семантику через аттрибуты id (идентификаторы) и class (классы).&lt;/p&gt;&lt;p style="BORDER-RIGHT: blue 1px dotted; PADDING-RIGHT: 10px; BORDER-TOP: blue 1px dotted; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 20px; BORDER-LEFT: blue 1px dotted; PADDING-TOP: 10px; BORDER-BOTTOM: blue 1px dotted" align="center"&gt;&lt;strong&gt;А вы знаете, что Google повышает релевантость сайта, если его код семантически продуман?&lt;/strong&gt;&lt;/p&gt;&lt;div style="BORDER-RIGHT: blue 1px dotted; PADDING-RIGHT: 10px; BORDER-TOP: blue 1px dotted; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 20px; BORDER-LEFT: blue 1px dotted; PADDING-TOP: 10px; BORDER-BOTTOM: blue 1px dotted" align="justify"&gt;Из семантической направленности классов и идентификаторов выросла идея микроформата. Как говрмится в &lt;a href="http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B"&gt;википедии&lt;/a&gt;: &lt;em&gt;"Добавление микроформатов к обычной веб-странице позволит компьютерам обрабатывать HTML-текст и загружать информацию в базы данных. Например, поисковые роботы смогут находить контактную информацию, события и обзоры."&lt;/em&gt; &lt;code&gt;&lt;pre&gt;&amp;lt;div class="vcard"&gt;&lt;br /&gt; &amp;lt;span class="tel"&gt;&lt;br /&gt;  &amp;lt;span class="type"&gt;home&amp;lt;/span&gt;:&lt;br /&gt;  &amp;lt;span class="value"&gt;+1.415.555.1212&amp;lt;/span&gt;&lt;br /&gt; &amp;lt;/span&gt;&lt;br /&gt;&amp;lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;span style="font-size:85%;"&gt;Пример микроформата &lt;a href="http://microformats.org/wiki/hcard"&gt;hCard&lt;/a&gt;, который является форматом для описания людей, организаций и мест&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p align="justify"&gt;Слишком частое использование аттрибута style может привести к тому, что, опят-таки, возникнет блочный хаос, особенно, если страница часто модифицировалась. Возвращаясь к статистике MAMA, 53.54% всех просканированных сайтов используют аттрибут style, причём 35.40% сайтов используют этот аттрибут в тэге div. Классы и модификаторы являются средством отделения кода (HTML-размётку) от его дизайна (стилей). Они также облегчают обращение к жлементам страницы в модели &lt;a href="http://www.w3.org/DOM/"&gt;DOM&lt;/a&gt;.&lt;/p&gt;&lt;p align="justify"&gt;Избыточное употребление тэга div и увелечение ярусов вложенности, также, как и в случае с таблицами, увеличивает размер страницы, время её загрузки и её гибкость для дальнейшей модификации. Рассмотрим несколько примеров.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Меню&lt;/strong&gt;&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;div id="menu"&gt;&lt;br /&gt; &amp;lt;div class="selected"&gt;&lt;br /&gt;  &amp;lt;div class="graphicLeft"&gt;&lt;br /&gt;   &amp;lt;div class="graphicRight"&gt;&lt;br /&gt;    &amp;lt;a href="#"&gt;Home&amp;lt;/a&gt;&lt;br /&gt;   &amp;lt;/div&gt;&lt;br /&gt;  &amp;lt;/div&gt;&lt;br /&gt; &amp;lt;/div&gt;&lt;br /&gt; &amp;lt;div&gt;&lt;br /&gt;  &amp;lt;div class="graphicLeft"&gt;&lt;br /&gt;   &amp;lt;div class="graphicRight"&gt;&lt;br /&gt;    &amp;lt;a href="#"&gt;About&amp;lt;/a&gt;&lt;br /&gt;   &amp;lt;/div&gt;&lt;br /&gt;  &amp;lt;/div&gt;&lt;br /&gt; &amp;lt;/div&gt;&lt;br /&gt; ...&lt;br /&gt;&amp;lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Это типичное злоупотребление тэгами div для построения меню. Его можно было бы избежать, использовав обычный список со стилем "display: block".&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Заголовки&lt;/strong&gt;&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;div class="headingOne"&gt;My heading&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div class="headingTwo"&gt;My heading&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div class="headingThree"&gt;My heading&amp;lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Да, визуальный эффект заголовков можно создать, но семантика утрачена. Помните, поисковые системы повышают релевантность страницы относительно запросов пользователей, если она содержит заголовки с клбчевыми запросами, а заголовки помечаются тэгами h1, h2, h3 и т.д.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Список новостей&lt;/strong&gt;&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;div class="news"&gt;&lt;br /&gt; &amp;lt;img /&gt;&lt;br /&gt; &amp;lt;h2 /&gt;&lt;br /&gt; &amp;lt;p /&gt;&lt;br /&gt; &amp;lt;a /&gt;&lt;br /&gt;&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div class="news"&gt;&lt;br /&gt; &amp;lt;img /&gt;&lt;br /&gt; &amp;lt;h2 /&gt;&lt;br /&gt; &amp;lt;p /&gt;&lt;br /&gt; &amp;lt;a /&gt;&lt;br /&gt;&amp;lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Использование обычного списка улучшило бы читаемость кода и уменьшило бы количество div-тэгов.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Разная ширина для разных контейнеров&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Контейнер 1&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;div id="contentNormal"&gt;&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div id="aSideNormal"&gt;&amp;lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Контейнер 2&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;div id="contentWide"&gt;&amp;lt;/div&gt;&lt;br /&gt;&amp;lt;div id="aSideSmall"&gt;&amp;lt;/div&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Если для каждой колонки на сайте создавать собственный контейнер, то может возникнуть ситуация, когда создано слишком много ненужных идентификаторов. Это можно исправить, добавив класс к тэгу &amp;lt;body/&gt;. А потом каждый контейнер в body может просто наследовать этот клас, а потом разметка каждой отдельной страницы будет задаваться таблицей стилей. Таким образом повышается читаемость и содержимого и разметки. Плюс повышается гибкость поддержки такой страницы.&lt;/p&gt;&lt;p&gt;Кроме того, использование блочной структуры позволяет "на лету" &lt;a href="http://www.alistapart.com/articles/goingtoprint/"&gt;генерировать страницы для печати&lt;/a&gt;, что невозможно при использовании таблиц. Например, вы можете скрыть верхнее меню в версии для печати, просто указав соответсвующему div-блоку меню стиль display: none.&lt;/p&gt;&lt;p style="BORDER-RIGHT: blue 1px dotted; PADDING-RIGHT: 20px; BORDER-TOP: blue 1px dotted; PADDING-LEFT: 20px; PADDING-BOTTOM: 20px; MARGIN: 20px; BORDER-LEFT: blue 1px dotted; PADDING-TOP: 20px; BORDER-BOTTOM: blue 1px dotted"&gt;Пример сайта в блоковом хаосе: &lt;a href="http://photobucket.com/"&gt;фотохостинг Photobucket&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:78%;"&gt;Оригинальная статья на английском языке: &lt;/span&gt;&lt;a href="http://www.smashingmagazine.com/2009/04/08/from-table-hell-to-div-hell/"&gt;&lt;span style="font-size:78%;"&gt;http://www.smashingmagazine.com/2009/04/08/from-table-hell-to-div-hell/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2009/04/div.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-4976016440964584524</guid><pubDate>Sun, 22 Mar 2009 22:46:00 +0000</pubDate><atom:updated>2009-03-22T02:49:16.388-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web 2.0</category><title>Гид по дизайну в стиле Web 2.0. Часть 2: Центрирование и колонки</title><description>&lt;p&gt;&lt;a href="http://cssdhtml.blogspot.com/2008/05/web-20-1.html"&gt;&lt;span style="font-size:85%;"&gt;Часть 1: Обзор. Простота&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;Центрирование&lt;/h3&gt;&lt;p&gt;Если говорить кратко, то для современных веб-дизайнов характерным является то, что основной текст располагается по центру окна браузера и имеет фиксированную ширину. Лишь немногие из них всё ещё остаются "растягивающимися" на всю ширину окна или фиксированными, но выровненными слева.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;h4&gt;Чем хорош центральный дизайн?&lt;/h4&gt;&lt;p&gt;Дизайны по центру выглядят проще, чётче и честнее. Проще, потому что посетителю не нужно рыскать по странице в поисках информации - вот она прямо перед ним. Чётче, потому что вся информация сконцентрирована в интуитивно-понятном месте. Честнее, потому что у пользователя не возникает ощущения, что от него пытаются что-то скрыть.&lt;/p&gt;&lt;p&gt;Более того, поскольку мы используем "экономный" дизайн, мы не загружаем нашего посетителя точками, линиями и текстом. Мы используем меньше, чтобы донести до пользователя больше. Поэтому мы не стесняемся использовать большие поля и отступы по боками.&lt;/p&gt;&lt;h4&gt;Где и когда использовать центральный дизайн?&lt;/h4&gt;&lt;p&gt;Везде и всегда, если только у вас нету очень веского повода, чтобы не делать этого.&lt;/p&gt;&lt;h3&gt;Количество колонок&lt;/h3&gt;&lt;p&gt;Несколько лет назад 3-колоночные дизайны были нормой, а 4-колоночные - тоже частым явлением. В наше время превалирующее большинство дизайнов имеет всего лишь 2 колонки. 3 колонки - это, как правило, максимум, который уже никто не перешагивает.&lt;/p&gt;&lt;h4&gt;Почему меньше колонок - лучше?&lt;/h4&gt;&lt;p&gt;&lt;em&gt;Чем меньше, тем больше&lt;/em&gt;. Меньшее количество колонок выглядят проще, чётче и честнее. В меньшем числе колонок мы можем передать только самую нужную информацию, организованную самым простым образом.&lt;/p&gt;&lt;h4&gt;Что делать, если нужно много колонок&lt;/h4&gt;&lt;ol&gt;&lt;li&gt;Разместите их в "подвале". Например, в последнее время среди блоггеров часто встречается приверженность к такому дизайну: две-три колонки в основной части и более трёх колонок в подвале с разной вспомогательной информацией (самые популярные сообщения, самые активные комментаторы, лента сообщений из ридера, всякие рейтинги и счётчики и др.)&lt;/li&gt;&lt;li&gt;amazon.com имеет две боковые колонки (левая - для навигации, правая - для разных фишек), а по центру три колонки с ассортиментом товаров. Таким образом, функция каждой колонки ясна, дизайн прост, а товары хорошо просматриваются.&lt;/li&gt;&lt;/ol&gt;&lt;img style="FLOAT: left; MARGIN: 10px" src="http://i668.photobucket.com/albums/vv50/microstocker2/css17/20-all-things-web-20.jpg" /&gt; &lt;p&gt;Дизайн амазона попытался скопировать некий &lt;a href="http://www.allthingsweb2.com/"&gt;All Things Web2.0&lt;/a&gt;: две боковые колонки и две колонки основного содержания. Причём, как боковые колонки, так и основной контент мало отличаются по цвету. В итоге посетитель сайта не знает, куда смотреть в первую очередь, а куда - потом. На странице нет чётко выраженных приоритетов.&lt;/p&gt;&lt;p&gt;Таким образом, аккуратно используйте дизаынй с четырьмя и более колонками. А лучше не используйте их вовсе: поверьте, трёх колонок хватает за глаза.&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/11/web-20-2.html</link><author>noreply@blogger.com (Natalia Macheda)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i668.photobucket.com/albums/vv50/microstocker2/css17/th_20-all-things-web-20.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-8149472472260619949</guid><pubDate>Sun, 22 Mar 2009 09:21:00 +0000</pubDate><atom:updated>2009-03-22T02:30:02.241-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>css</category><title>CSS-совет: сортировка</title><description>&lt;p&gt;Нет, это совет не про то, как отсортировать содержимое вашей страницы с помощью CSS (да это и нельзя сделать). Вопрос про то, как улучшить читаемость вашего CSS-кода. Ответ: сортируйте селекторы по алфавиту. Например, рассмотрим два фрагмента кода и найдём в каждом из них селектор &lt;span style="font-family:courier new;"&gt;margin-right&lt;/span&gt;.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;Фрагмент 1:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;div#header h1 {&lt;br /&gt; z-index: 101;&lt;br /&gt; color: #000;&lt;br /&gt; position: relative;&lt;br /&gt; line-height: 24px;&lt;br /&gt; margin-right: 48px;&lt;br /&gt; border-bottom: 1px solid #dedede;&lt;br /&gt; font-size: 18px;&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Фрагмент 2:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;div#header h1 {&lt;br /&gt; border-bottom: 1px solid #dedede;&lt;br /&gt; color: #000;&lt;br /&gt; font-size: 18px;&lt;br /&gt; line-height: 24px;&lt;br /&gt; margin-right: 48px;&lt;br /&gt; position: relative;&lt;br /&gt; z-index: 101;&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Очевидно, во втором фрагменте нам было гораздо проще найти &lt;span style="font-family:courier new;"&gt;margin-right&lt;/span&gt;. Учтите, что пример просто иллюстративный. А если бы селекторов было больше?&lt;/p&gt;&lt;p&gt;Применяя этот совет на практике, вы сэкономите время и себе, и вашим коллегам, которые будут работать с вашим кодом.&lt;/p&gt;&lt;p&gt;&lt;a href="http://tinyurl.com/chmxz5"&gt;Другие секреты вебдизайнера узнайте здесь&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2009/03/css.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-835187725756550686</guid><pubDate>Mon, 16 Mar 2009 10:00:00 +0000</pubDate><atom:updated>2009-03-16T04:17:58.332-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>css</category><title>CSS-cовет: обнуление</title><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Обнуление &lt;/strong&gt;- это фрагмент CSS-кода, призванный привести дизайн сайта к единому виду во всех браузерах.&lt;/em&gt; &lt;/p&gt;&lt;p&gt;Проблема в том, что всякие отступы, границы и прочие настройки по умолчанию элементов дизайна разные во всех браузерах! Например, если у вас имеется маркированный список, то в некоторых браузерах маркеры будут отображаться с отступом от левого края, а в некоторых отступа не будет. Но если бы дело только касалось маркированных списков... Такого плана раночтения - они во всём: чуть-чуть другие отступы на всём протяжении страницы - и вот уже страница по другому воспринимается в файерфоксе, в отличие от эксплорера. И эти мелочи очень часто ускользают от дизайнера. А ведь достаточно с самого начала &lt;em&gt;&lt;strong&gt;обнулить&lt;/strong&gt;&lt;/em&gt; все настройки по умолчанию.&lt;/p&gt;&lt;p&gt;Ниже я привожу вашему вниманию универсальный "обнулятор".&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;code&gt;&lt;pre&gt;html, body, div, span, applet, object, iframe,&lt;br /&gt;h1, h2, h3, h4, h5, h6, p, blockquote, pre,&lt;br /&gt;a, abbr, acronym, address, big, cite, code,&lt;br /&gt;del, dfn, em, font, img, ins, kbd, q, s, samp,&lt;br /&gt;small, strike, strong, sub, sup, tt, var,&lt;br /&gt;b, u, i, center,&lt;br /&gt;dl, dt, dd, ol, ul, li,&lt;br /&gt;fieldset, form, label, legend,&lt;br /&gt;table, caption, tbody, tfoot, thead, tr, th, td {&lt;br /&gt; margin: 0; // все границы&lt;br /&gt; padding: 0; // отступы&lt;br /&gt; border: 0; // и рамки устанавливаются в 0&lt;br /&gt; outline: 0; // обводка элементов идёт туда же&lt;br /&gt; font-size: 100%; // шрифт нормальный&lt;br /&gt; vertical-align: baseline; // всё выравнивается однообразно&lt;br /&gt; background: transparent; // фона нет, никакого&lt;br /&gt;}&lt;br /&gt;body {&lt;br /&gt; line-height: 1; // межстрочный интервал одинаков&lt;br /&gt;}&lt;br /&gt;ol, ul {&lt;br /&gt; list-style: none; // никаких маркеров у списков нет&lt;br /&gt;}&lt;br /&gt;blockquote, q {&lt;br /&gt; quotes: none; // и кавычек в цитатах нет&lt;br /&gt;}&lt;br /&gt;blockquote:before, blockquote:after,&lt;br /&gt;q:before, q:after {&lt;br /&gt; content: '';&lt;br /&gt; content: none;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* все элементы в фокусе (на которые перешли, например, Tab'ом)&lt;br /&gt;имеют единый вид */&lt;br /&gt;:focus {&lt;br /&gt; outline: 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* не забывайте обозначить удаления и вставки */&lt;br /&gt;ins {&lt;br /&gt; text-decoration: none;&lt;br /&gt;}&lt;br /&gt;del {&lt;br /&gt; text-decoration: line-through;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* а таблицам вручную придётся прописывать 'cellspacing="0"' в HTML */&lt;br /&gt;table {&lt;br /&gt; border-collapse: collapse;&lt;br /&gt; border-spacing: 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;Посмотрите, как универсальнее стали выглядить ваши сайты!&lt;/p&gt;&lt;p&gt;Да, и ещё один маленький совет: пожалуйста, не применяйте&lt;/p&gt;&lt;code&gt;&lt;pre&gt;* { margin: 0; padding: 0; }  &lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Ведь потом вам придётся вручную устанавливать все отступы и границы, например, радио-кнопкам, которые имеют универсальный вид во всех браузерах.&lt;/p&gt;&lt;p&gt;&lt;a href="http://tinyurl.com/chmxz5"&gt;&lt;strong&gt;Другие секреты вебдизайнера узнайте здесь&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2009/03/css-c.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-7220204974266294117</guid><pubDate>Mon, 19 May 2008 16:07:00 +0000</pubDate><atom:updated>2008-11-04T03:17:17.085-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web 2.0</category><title>Гид по дизайну в стиле Web 2.0. Часть 1: Обзор. Простота</title><description>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Оригинал статьи: &lt;/span&gt;&lt;a href="http://www.webdesignfromscratch.com/web-2.0-design-style-guide.cfm"&gt;&lt;span style="font-size:85%;"&gt;http://www.webdesignfromscratch.com/web-2.0-design-style-guide.cfm&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;В этой статье мы рассмотрим различные элементы модного дизайна в стиле Web 2.0. Мы рассмотрим, &lt;strong&gt;почему&lt;/strong&gt; такой дизайн привлекает внимание и &lt;strong&gt;как&lt;/strong&gt;, &lt;strong&gt;где&lt;/strong&gt; и &lt;strong&gt;когда&lt;/strong&gt; можно использовать его элементы. Данная статья является продолжением &lt;a href="http://cssdhtml.blogspot.com/2008/05/blog-post.html"&gt;предыдущей&lt;/a&gt;, но с гораздо более глубоким анализом феномена Web 2.0&lt;/p&gt;&lt;h2&gt;Обзор характеристик&lt;/h2&gt;&lt;p&gt;Список ниже состоит из наиболее распространённых характеристик дизайна в стиле Web 2.0. Некоторые из них уже были перечислены в &lt;a href="http://cssdhtml.blogspot.com/2008/05/blog-post.html"&gt;этой статье&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Понятно, что сайт не должнен в принудительном порядке использовать все перечисленные элементы. Более того, их использование не горантирует, что у сайта автоматически будет "хороший" дизайн или дизайн в стиле Web 2.0. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Простота&lt;/li&gt;&lt;li&gt;Центральное выравнивание&lt;/li&gt;&lt;li&gt;Малое количество колонок&lt;/li&gt;&lt;li&gt;Выделение шапки&lt;/li&gt;&lt;li&gt;Обозначенные границы контента&lt;/li&gt;&lt;li&gt;Простая навигация&lt;/li&gt;&lt;li&gt;Логотипы жирным шрифтом&lt;/li&gt;&lt;li&gt;Большой текст&lt;/li&gt;&lt;li&gt;Введние жирным шрифтом&lt;/li&gt;&lt;li&gt;Яркие цвета&lt;/li&gt;&lt;li&gt;Рельефность&lt;/li&gt;&lt;li&gt;Градиенты&lt;/li&gt;&lt;li&gt;Отражения&lt;/li&gt;&lt;li&gt;Забавные иконки&lt;/li&gt;&lt;li&gt;Звёзды&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Сейчас мы их рассмотрим подробнее и с примерами.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;h2&gt;Web 2.0&lt;/h2&gt;&lt;p&gt;Заранее сообщаю, что в данной статье термин "дизайн в стиле Web 2.0" используется для описания превалирующий тип веб-дизайна, кратко рассмотренный в&lt;a href="http://cssdhtml.blogspot.com/2008/05/blog-post.html"&gt; этой статье&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Многие люди, говоря о Web 2.0 подразумевают&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Новый стиль веб-экономики&lt;/li&gt;&lt;li&gt;Новый уровень веб-технологий и взаимодействия между веб-страницами и веб-сервисами&lt;/li&gt;&lt;li&gt;Социальный феномен новых веб-сообществ и социальных сетей&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Ничего подобного в данной статье не будет. Но будет лишь анализ новой школы веб-дизайна.&lt;/p&gt;&lt;div style="BORDER-RIGHT: #f67c2a 1px dotted; BORDER-TOP: #f67c2a 1px dotted; BORDER-LEFT: #f67c2a 1px dotted; BORDER-BOTTOM: #f67c2a 1px dotted"&gt;&lt;br /&gt;&lt;h3 style="BORDER-RIGHT: #f67c2a 1px dotted; BORDER-TOP: #f67c2a 1px dotted; BACKGROUND: #f67c2a; BORDER-LEFT: #f67c2a 1px dotted; COLOR: white; BORDER-BOTTOM: #f67c2a 1px dotted; TEXT-ALIGN: center"&gt;Wed 2.0 шаблоны&lt;/h3&gt;&lt;p&gt;А знаете ли вы, что &lt;a href="http://www.templatemonster.com/category/web-2-0-templates/"&gt;TemplateMonster &lt;/a&gt;имеет в своём арсенале &lt;a href="http://www.templatemonster.com/category.php?cat=102"&gt;шаблоны дизайнов в стиле Web 2.0&lt;/a&gt;? Конечно, слегка неловко осознавать, что кто-то ещё может использовать такой же дизайн, как и на твоём сайте. Но, во-первых, шаблон можно выкупить в эксклюзив. А во-вторых, список шаблонов всё время обновляется и поэтому вероятность того, что пользователи данного сервиса выберут старый шаблон. всё время убывает. Поэтому рекомендую взглянуть на этот сайт и дёшево и сердито приобрести понравившийся шаблон модного дизайна.&lt;/p&gt;&lt;p align="center"&gt;&lt;img src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/TM20-15436-b.jpg" /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;img src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/tm20-14777-b.jpg" /&gt;&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;h2&gt;Введение&lt;/h2&gt;&lt;p&gt;В данной статье я не собираюсь проводить критику или восслаление дизайнов современных сайтов. Я просто систематизирую понятие дизайна в стиле Web 2.0.&lt;/p&gt;&lt;p&gt;Я искренне верю в простоту и считаю, что это будущее веб-дизайнаю Сегодняшние простые и элегантные страницы могут донести до читателя больше меньшими средствами. &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Они позволяют дизайнеру направить взгляд читателя в нужное место посредством мелких хорошо подобранных элементов.&lt;/li&gt;&lt;li&gt;Они используют меньше слов, которые несут в себе больше информации, а правильно подобранные иллюстрации помогают создать настроение. &lt;/li&gt;&lt;li&gt;Они отвергают идею сайта, на которм ничего никогда нельзя найти.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;1. Простота&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Веб-дизайн ещё никогда не был таким простым. И это хорошо. Дизайн в стиле Web 2.0 означает фикусировку, чистоту и простоту. И это не означает минимализм. &lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Веб-дизайн должен быть минимальным в том смысле, что он должен содержать наименьшее число элементов, призванных достичь пользователям и владельцам сайта того, что они хотят достичь. Иными словами, если у вас имеется два способа для выражения какой-то идеи, выбирайте наиболее простой. &lt;/p&gt;&lt;p&gt;Давайте рассмотрим несколько примеров. Заметьте, как мало разнообразных элементов на страницах сайтов из примеров. Элементов могло бы быть больше, но сделало ли бы это сайт сильнее и понятнее? Самый главный результат, который должен получиться, - это прочтение содержимого сайта пользователем. &lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.simplebits.com/"&gt;&lt;img src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/20-simplebits.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.artypapers.com/"&gt;&lt;img src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/20-artypapers.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.realmeat.co.uk/"&gt;&lt;img src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/20-real-meat.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;Чем хороша простота?&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;У сайта в целом есть цель, а у каждой его страницы - своё предгазначение для достижения этой цели.&lt;/li&gt;&lt;li&gt;Внимание пользователя не бесконечно. Сфокусированный дизайн позволяет сделать так, чтобы пользователь потерял интерес к сайту гораздо позже, чем он получит всю необходимую информацию.&lt;/li&gt;&lt;li&gt;Это работа дизайнера помочь пользователю найти то, что он ищет (или заметить то, что он должен заметить на сайте).&lt;/li&gt;&lt;li&gt;Разные &lt;em&gt;прибамбасы&lt;/em&gt; очень сильно оттягивают на себя внимание. Чем больше прибамбасов, тем меньше вероятность того, что пользователь заметит то, что нужно.&lt;/li&gt;&lt;li&gt;То есть сайт должен установить взаимодействие с пользователем, и это взаимодействие доолжно быть с наименьшим "шумом". Поэтому так важно создавать "экономные" дизайны, простые дизайны.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Когда дизайн должен быть простым? Всегда.&lt;/p&gt;&lt;p&gt;Как сделать дизайн простым? Есть два правила, которые позволяют ответить на этот вопрос:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Уберите те прибамбасы, потеря которых не снизит эффективность сайта.&lt;/li&gt;&lt;li&gt;Поищите альтернативные решения для достижения поставленных целей (другие прибамбасы, но более простые).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Всегда удаляйте ненужные визуальные элементы. &lt;/strong&gt;Особенно это касается областей разметки, которые не являются релевантыми предназначению страницы. В этих областях визуальных элементов в идеале быть не должно. И вообще визуальные элементы (точки, линии, фигуры) должны не украшать, но направлять взгляд пользователя.&lt;/p&gt;&lt;p&gt;Вот, кстати, контрпример простого дизайна:&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.yaxay.com/"&gt;&lt;img src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/20-yaxay.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Заметьте, как много здесь декоративных элементов, на которые хочется отвлечься. С другой стороны навигация нечёткая, контент захламлен, интерактивность стремится к нулю.&lt;/p&gt;&lt;h3&gt;Сложность и красота веб-дизайна&lt;/h3&gt;&lt;p&gt;Я совсем не против сложности, насыщенности и украшательства в веб-дизайне.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Используйте столько жекоративных элементов, сколько хотите. Но все они должны способствовать коммуникации с пользователем, которая должна состояться.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;В дизайне можно создавать сообщения при помощи &lt;strong&gt;жёстких данных&lt;/strong&gt; и &lt;strong&gt;мягкой информации&lt;/strong&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Жёсткие данные&lt;/strong&gt; - это факты, новости, цены, расписания, - всё то, что позволяет вам заработать денег&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Мягкая информация&lt;/strong&gt; - это качественный аспект коммуникации, &lt;em&gt;первое впечатление&lt;/em&gt; о компании, &lt;em&gt;ощущение&lt;/em&gt; нужности товара пользователю, &lt;em&gt;чувство&lt;/em&gt; доброжелательности сайта.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Рассмотрим пример ниже.&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://www.circografico.com.ar/"&gt;&lt;img src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/20-alex-dukal-large.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Сайт насыщен, интересен и привлекателен. Используется ряд визуальных техник для привлечения внимания, создания заинтересованности и приятного ощущения качества работы Алекса. Но дизайн также прост, потому что визуальные элементы использованы аккуратно. Дизайн не вызывает ощущения бесплатности - он &lt;em&gt;экономичный &lt;strong&gt;и&lt;/strong&gt; богатый&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;В заключение данного пункта запомните, что любые визуальные элементы призваны создавать коммуникацию, прежде всего. Если же вы можете создать такую же коммуникацию с менбшим количеством элементов, уберите ненужные.&lt;/p&gt;&lt;p&gt;&lt;em&gt;(...Продолжение следует...)&lt;/em&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/05/web-20-1.html</link><author>noreply@blogger.com (Natalia Macheda)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i245.photobucket.com/albums/gg69/microstocker/cssdhtml12/th_TM20-15436-b.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-3497178459958190705</guid><pubDate>Wed, 07 May 2008 18:28:00 +0000</pubDate><atom:updated>2008-05-07T11:58:54.498-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>партнёрка</category><category domain='http://www.blogger.com/atom/ns#'>photoshop</category><category domain='http://www.blogger.com/atom/ns#'>курс</category><title>Фотошоп для веб-мастеров</title><description>&lt;p&gt;Любой веб-мастер рано или поздно сталкивается с необходимостью создания каких-то графических элементов в графических редакторов. Ни для кого не секрет, что Photoshop (фотошоп) является одним из наиболее мощных графических редакторов, в котором можно создать почти всё, что угодно: можно отретушировать фотографию, нарисовать движуйщийся gif, задизайнить кнопки для сайта или даже весь сайт... Но вот беда, фотошоп такой мощный и с таким обилием возможностей и инструментов, что непонятно, с какого бока к нему подойти.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://disc.photoshop-master.ru/nmacheda" border="0"&gt;&lt;img height="60" src="http://disc.photoshop-master.ru/aff/img/banner1.gif" width="468" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Господа и дамы! Спокойствие, только спокойствие! Выход найден! Теперь даже самые закоренелые чайники имеют возможность фотошопить, как самые заправские гуру! Представляю вашему вниманию курс Зинаиды Лукьяновой:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2 align="center"&gt;&lt;span style="color:#ff0000;"&gt;Фотошоп с нуля в видеоформате&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;&lt;a href="http://disc.photoshop-master.ru/nmacheda"&gt;&lt;img style="FLOAT: left; MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 10px" height="349" src="http://disc.photoshop-master.ru/aff/img/disc.jpg" width="399" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Что же в нём иакого замечательного в данном видеокурсе? Во-первых, вы наглядно увидите и сможете воспроизвести самостоятельно функциональность инструментов фотошопа в действии, в самых различных ситуациях и для самых различных нужд. Во-вторых, вы ознакомитесь с терминологией компьютерной графики. Ведь без теоретической базы, как известно, трудно понять практическую часть. В-третьих, практическая часть поразит ваше воображение своим разнообразием: вы научитесь редактировать фотографии, создавать фантазийные фоны, применять разнообразные эффекты к тексту, создавать такие необходимые графические элементы для вашего сайта...&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Дабы не быть голословной, я предлагаю вам посмотреть сайт Зинаиды: &lt;a target="_top" href="http://www.photoshop-master.ru/"&gt;http://www.photoshop-master.ru/&lt;/a&gt; Там вы &lt;strong&gt;абсолютно бесплатно&lt;/strong&gt; можете посмотреть разные уроки, не вошедшие в курс, а также скачать полезные ресурсы: кисти, плагины, текстуры... Безвозмездно! То есть даром! &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Если же вы подпишитесь на рассылку Зинаиды, там же, на сайте, то получите доступ к закрытому разделу сайта с ещё бОльшим набором "халявы"!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Вы всё ещё под воздействием скептицизма? Тогда скачайте бесплатную книгу "26 полезных статей для начинающих веб-мастеров", которая содержит некоторые уроки видеокурса в текстовом формате с картинками!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://disc.photoshop-master.ru/aff/img/book26.jpg" /&gt;&lt;br /&gt;&lt;a href="http://www.sharemania.ru/0191428"&gt;&lt;strong&gt;Скачать книгу&lt;/strong&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;p&gt;Подарки и бесплатности ожидают вас и при покупке видеокурса. Какие? Об этом вы узнаете, если нажмёте на эту картинку:&lt;/p&gt;&lt;center&gt;&lt;a href="http://disc.photoshop-master.ru/nmacheda"&gt;&lt;img height="183" src="http://disc.photoshop-master.ru/aff/img/phdisc.jpg" width="180" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;p&gt;В общем, искренне рекомендую этот курс!&lt;/p&gt;</description><link>http://cssdhtml.blogspot.com/2008/05/blog-post_3073.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-254877006826604177</guid><pubDate>Wed, 07 May 2008 18:10:00 +0000</pubDate><atom:updated>2008-05-07T11:19:52.755-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>видео</category><category domain='http://www.blogger.com/atom/ns#'>web 2.0</category><category domain='http://www.blogger.com/atom/ns#'>полосатый фон</category><category domain='http://www.blogger.com/atom/ns#'>photoshop</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Видео: Создаём полосатый фон (вертикальные полоски)</title><description>Впервые в данном блоге я публикую собственное видео. В данном видео я показываю, как можно создать содный полосатый фон в ретро стиле для HTML страницы. Видео содержит:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Создание паттерна размером 50Х1 пикселей в фотошопе.&lt;/li&gt;&lt;li&gt;Использование CSS для повторения паттерна на HTML странице таким образом, чтобы фон страницы образовывал собой обои из разноцветных вертикальных полосок.&lt;/li&gt;&lt;li&gt;Размещение текстового контента от &lt;a href="http://csszengarden.com/"&gt;CSSZenGarden&lt;/a&gt; в белом контейнере поверх полосатого фона&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="fullpost"&gt;&lt;center&gt;&lt;br /&gt;&lt;div id=d727a6c4-c1ea-4f40-b178-2ed41936aa8e&gt;&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="450" height="337" id="plyPlayer" align="middle"&gt;&lt;br /&gt;&lt;param name="allowScriptAccess" value="sameDomain" /&gt;&lt;br /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;br /&gt;&lt;param name="movie" value="http://www.bubbleply.com/plyPlayer.swf?isAutoplay=false&amp;plyID=d727a6c4-c1ea-4f40-b178-2ed41936aa8e" /&gt;&lt;br /&gt;&lt;embed src="http://www.bubbleply.com/plyPlayer.swf?isAutoplay=false&amp;plyID=d727a6c4-c1ea-4f40-b178-2ed41936aa8e" quality="high" bgcolor="#000000" width="450" height="337" name="plyPlayer" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" &gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если вам понравилось видео, вы можете разместить его у себя в блоге. Вот ссылка на видео: &lt;a href="http://www.bubbleply.com/player.aspx?pid=d727a6c4-c1ea-4f40-b178-2ed41936aa8e"&gt;http://www.bubbleply.com/player.aspx?pid=d727a6c4-c1ea-4f40-b178-2ed41936aa8e&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/05/blog-post_07.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-7075917249515997248</guid><pubDate>Wed, 07 May 2008 14:34:00 +0000</pubDate><atom:updated>2008-05-07T09:07:10.551-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web 2.0</category><category domain='http://www.blogger.com/atom/ns#'>дизайн</category><title>Современный стиль в веб-дизайне</title><description>&lt;span style="font-size:85%;"&gt;Оригинал статьи: &lt;/span&gt;&lt;a href="http://www.webdesignfromscratch.com/current-style.cfm"&gt;&lt;span style="font-size:85%;"&gt;http://www.webdesignfromscratch.com/current-style.cfm&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Для начала я предлагаю посмотреть на дизайны следующих сайтов, которые считаются в нашими дни &lt;em&gt;типичными модными дизайнами&lt;/em&gt;:&lt;/p&gt;&lt;br /&gt;&lt;a href="http://www.ashwebstudio.com/"&gt;&lt;img height="200" alt="Ash Web Studio" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-ash-web-studio.jpg" width="400" /&gt;&lt;br /&gt;» Ash Web Studio&lt;/a&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macaroondesign.com/"&gt;&lt;img height="200" alt="Macaroon Design" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-macaroon.jpg" width="400" /&gt;&lt;br /&gt;» Macaroon Design&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.startupbusinessschool.com/"&gt;&lt;img height="200" alt="Startup Business School" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-sbs.gif" width="400" /&gt;&lt;br /&gt;» The Startup Business School&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://home.altenergystore.com/"&gt;&lt;img height="200" alt="Alternative Energy Store" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-alte.jpg" width="400" /&gt;&lt;br /&gt;» The Alternative Energy Store&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.forecastadvisor.com/"&gt;&lt;img height="200" alt="Forecast Advisor" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-forecast-advisor.jpg" width="400" /&gt;&lt;br /&gt;» Forecast Advisor&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iconbuffet.com/"&gt;&lt;img title="Icon Buffet" height="200" alt="Icon Buffet" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-iconbuffet.gif" width="400" /&gt;&lt;br /&gt;» iconbuffet.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.reallywildflowers.co.uk/"&gt;&lt;img title="Really Wild Flowerw" height="200" alt="Really Wild Flowerw" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-really-wild-flowers.jpg" width="400" /&gt;&lt;br /&gt;» Really Wild Flowers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.longstone-edge.org.uk/"&gt;&lt;img height="200" alt="Save Longstone Edge" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-longstone-edge.jpg" width="400" /&gt;&lt;br /&gt;» Save Longstone Edge&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iomega.com/"&gt;&lt;img title="Iomega" height="200" alt="Iomega" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-iomega.jpg" width="400" /&gt;&lt;br /&gt;» iomega.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/"&gt;&lt;img title="LinkedIn" height="200" alt="LinkedIn" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-linkedin.jpg" width="400" /&gt;&lt;br /&gt;» linkedin.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mozilla.org/"&gt;&lt;img title="Mozilla" height="200" alt="Mozilla" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-mozilla.jpg" width="400" /&gt;&lt;br /&gt;» mozilla.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.plaxo.com/"&gt;&lt;img title="Plaxo" height="200" alt="Plaxo" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-plaxo.gif" width="400" /&gt;&lt;br /&gt;» plaxo.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tonyyoo.com/protolize/"&gt;&lt;img title="Tony Yoo's Prolotize" height="200" alt="Tony Yoo's Prolotize" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hotties-protolize.jpg" width="400" /&gt;&lt;br /&gt;» Prolotize&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Что общего?&lt;/h2&gt;&lt;p&gt;Что общего между этими сайтами?&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Простоя разметка&lt;/li&gt;&lt;li&gt;Центральная ориентация&lt;/li&gt;&lt;li&gt;Наполненность контентом&lt;/li&gt;&lt;li&gt;3D-эффекты иногда&lt;/li&gt;&lt;li&gt;Мягкие, нейтральные цвета фона&lt;/li&gt;&lt;li&gt;Контрастные цвета иногда&lt;/li&gt;&lt;li&gt;Забавные иконки&lt;/li&gt;&lt;li&gt;Много пустого пространства&lt;/li&gt;&lt;li&gt;Большой шрифт&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Давайте рассмотрим эти пункты более детально.&lt;/p&gt;&lt;h3 id="simple-layout"&gt;Простая разметка&lt;/h3&gt;В последние годы возникло много 1- и 2-колоночных дизайнов. Как будто дизайнеры огульно пришли к выводу, что простые страницы работают лучше. И в самом деле, такие страницы легко прочитать сверху вниз, ведь это так естественно! Пользователю не нужно метаться по странице в разных направлениях, чтобы понять, что нужно читать, что интересно и что вообще на этом сайте находится.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="centered"&gt;Центральная ориентация&lt;/h3&gt;Пару лет назад можно было найти "жидкие" разметки, выровненные влево. Сегодня же весь дизайн сремятся выровнять по центру.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: blue 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: blue 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: 10px; BORDER-LEFT: blue 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: blue 1px solid"&gt;&lt;br /&gt;&lt;img class="text-alongside" style="FLOAT: left; MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 10px" height="164" alt="Diagram showing left-aligned, liquid and center-aligned page orientations" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/current-style-orientation.gif" width="467" /&gt;&lt;span style="font-size:85%;"&gt;Дизайны, выровненные влево, уже не пользуются той популярностью, как раньше.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Это же касается и "жидких" дизайнов, то есть занимающих всю ширину страницы. Считалось, что как можно больше информации долно поместиться на страницы без её прокручивания. И жидкие дизайны хорошо справлялись с этой задачей.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Сегодня, однако, модно использовать много белого пространства, большие шрифты и большие отступы между строками. Теперь, чтобы прочесть всю информацию, нужно прокручивать страницы, но читаемость текста увеличилась.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;h3 id="designthecontent"&gt;Наполненность контентом&lt;/h3&gt;&lt;p&gt;Хорошие современные дизайны уже не уделяют такого внимания фону и всяким графическим элементам. Гораздо важнее иметь хороший контент, представленныей таким дизайном, чтобы пользователь нашёл всю необходимую информацию.&lt;/p&gt;&lt;p&gt;Как это можно сделать? &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Пусть разметка ваших страниц будет свободнее, без излишней блочности.&lt;/li&gt;&lt;li&gt;"Обстановка" страницы долдна быть как можно мягче и проще.&lt;/li&gt;&lt;li&gt;Контрастные цветовые и 3D эффекты должны использоваться для привлечения внимания к контенту, в том числе и к названию сайта.&lt;/li&gt;&lt;li&gt;Покажите информацию сайта в выгодном свете, а не свои понты в использовании различных навороченных фишек. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;То есть вы можете отлично задизайнить пустое пространство, но пользователь, в итоге, будет неудовлетворён контентом. Дизайнеры не декораторы, но коммуникаторы. Поэтому содержимое сайта, его контент, должно нести информацию.&lt;/p&gt;&lt;h4&gt;Зачем выравнивать по центру?&lt;/h4&gt;&lt;p&gt;Когда контент выровнен по центру, он кажется &lt;strong&gt;честным&lt;/strong&gt; и &lt;strong&gt;доверительным&lt;/strong&gt;. То есть пользователь &lt;strong&gt;доверяет&lt;/strong&gt; такому содержимому. Такой дизайн также придаёт ощущение &lt;strong&gt;простоты&lt;/strong&gt; и &lt;strong&gt;баланса&lt;/strong&gt;. То есть пользователь не ожидает &lt;strong&gt;подвоха&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Большинство современных дизайнов или &lt;strong&gt;фиксированной&lt;/strong&gt; ширины (в пикселях или процентах), или &lt;strong&gt;зуммированной&lt;/strong&gt; ширины (в em). Преимущество данного подхода - строки никогда не выйдут за границы экрана и пользователю не нужно будет проматывать страницы по горизонтали, что очень раздражает.&lt;/p&gt;&lt;p&gt;Иногда до сих пор можно встретить &lt;strong&gt;жидкий дизайн, выровненный по центру&lt;/strong&gt; (см. &lt;a href="http://www.altenergystore.com/"&gt;Alternative Energy Store&lt;/a&gt;). На таких сайтах просто выравнивание логотипа по центру даёт всё тоже ощущение дружественности. К тому же масса полезного контента показывается на странице без прокрутки.&lt;/p&gt;&lt;h3 id="3dfx"&gt;3D эффекты&lt;/h3&gt;&lt;p&gt;К ним относятся градиенты, полосатые фоны, закруглённые углы, выступающие иконки, тени вокруг элементов...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Отражение и переход к прозрачности&lt;/strong&gt; очень распространены. &lt;strong&gt;Тени&lt;/strong&gt; тоже, но должны использоваться с осторожностью.&lt;br /&gt;&lt;br /&gt;&lt;img height="93" alt="Reflection from Iomega.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-ref1.jpg" width="93" /&gt;&lt;img height="93" alt="Reflection from wishingline.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-ref2.jpg" width="93" /&gt;&lt;img height="93" alt="Fade from 31Three.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-ref3.jpg" width="93" /&gt;&lt;img height="93" alt="Reflection from sirruf.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-ref4.jpg" width="93" /&gt;&lt;img height="93" alt="Drop shadow on squarespace.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-fade1.jpg" width="93" /&gt;&lt;img height="93" alt="Drop shadow on Iconbuffet.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-fade2.jpg" width="93" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Круглые звёзды&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;&lt;img height="93" alt="Flash from emaginacion" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-flash1.jpg" width="93" /&gt;&lt;img height="93" alt="Flash from 31three" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-flash2.jpg" width="93" /&gt;&lt;img height="93" alt="Flash from www.folieto.at" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-flash4.jpg" width="93" /&gt;&lt;img height="93" alt="Flash from www.bmf.jugem.cc" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-flash3.jpg" width="93" /&gt;&lt;img height="93" alt="Flash from sirruf.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-strcol4.jpg" width="93" /&gt;&lt;img height="93" alt="Flash from stylegala" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-flash5.jpg" width="93" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 id="neutral-backgrounds"&gt;Мягкие, нейтральные фоновые цвета&lt;/h3&gt;&lt;p&gt;Наиболее популярные фоны - белые или серые градиенты. В результате мы имеем нейтральную базу, на фоне которой яркие звёзды привлекают к себе внимание.&lt;/p&gt;&lt;h3 id="strong-color"&gt;Контрастные цвета&lt;/h3&gt;&lt;p&gt;Контрастные цвета тоже привлекают внимание к элементам, в которых они используются. Конечно, при условии, что фоновый цвет нейтральный.&lt;/p&gt;&lt;div class="hot-snips"&gt;&lt;img height="93" alt="Strong colour from Iomega.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-strcol1.jpg" width="93" /&gt;&lt;img height="93" alt="Strong colour from 31Three.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-strcol2.jpg" width="93" /&gt;&lt;img height="93" alt="Strong colour from LinkedIn.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-strcol3.jpg" width="93" /&gt;&lt;img height="93" alt="Strong colour from Patrickhaney.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-strcol5.jpg" width="93" /&gt;&lt;img height="93" alt="Strong colour from Stonewall.co.za" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-strcol6.jpg" width="93" /&gt;&lt;img height="93" alt="Strong colour from Iconbuffet.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-strcol7.jpg" width="93" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.iomega.com/"&gt;Iomega&lt;/a&gt; использует более контрасные цвета, чем другие дизайны, показанные выше. В частности, мы видим насыщенную тёмно-красную область для рекламы. Но это не вредит всей странице в целом, потому что цвет хорошо вписывается в дизай и форма области очень проста.&lt;/p&gt;&lt;h3 id="cute-icons"&gt;Забавные иконки&lt;/h3&gt;&lt;p&gt;Общее правило такое: никогда не используйте слишком много элементов, &lt;strong&gt;привлекающих внимание&lt;/strong&gt;, на одной странице. Особенно, если у вас уже присутствуют контрастные цвета и 3D эффекты. Если переборщить, то впечатление от страницы будет противоположным желаемому: пользователь не разберётся с содержимым, разозлится и уйдёт.&lt;/p&gt;&lt;p&gt;&lt;img height="93" alt="Cute icon from Patrickhaney.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-icons1.jpg" width="93" /&gt;&lt;img height="93" alt="Cute icon from Patrickhaney.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-icons2.jpg" width="93" /&gt;&lt;img height="93" alt="Cute icon from Iconbuffet.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-icons3.jpg" width="93" /&gt;&lt;img height="93" alt="Cute icon from Plaxo.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-icons7.jpg" width="93" /&gt;&lt;img height="93" alt="Cute icon from 31Three.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-icons4.gif" width="93" /&gt;&lt;img height="93" alt="Cute icon from Avalonstar.com" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-icons5b.jpg" width="93" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 id="whitespace"&gt;Много пустого (белого) пространства&lt;/h3&gt;&lt;p&gt;Современные дизайны такие свежие, кажется, что лишь глядя на них можно дышать полной грудью.&lt;/p&gt;&lt;p&gt;Общее правило: чем больше белого пространства, тем лучше. Говоря "белое" пространство, дизайнеры подразумевают "пустое" пространство любого цвета, даже чёрного :). Глядя на дизайны с белым пространством, очень редко возникает мысль: "Не мешало бы добавить на эту страницу контента". Такова особенность человеческого восприятия.&lt;/p&gt;&lt;p&gt;В частности, важно оставлять пространство между элементами страницы и между строками текста. Например, посмотрите на эти замечательные использования белого пространства!&lt;br /&gt;&lt;br /&gt;&lt;img style="MARGIN: 9px" height="189" alt="White space on LinkedIn" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-wspace1.jpg" width="189" /&gt;&lt;img style="MARGIN: 9px" height="189" alt="White space on Mozilla" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-wspace2.jpg" width="189" /&gt;&lt;img style="MARGIN: 9px" height="189" alt="White space on Plaxo" src="http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/hot-wspace3.gif" width="189" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 id=""&gt;Большие шрифты&lt;/h3&gt;&lt;p&gt;Конечно, текст на вашей странице не должен быть супер-большого шрифта. Иногда даже лучше использовать мелкие шрифты. Общее правило такое: наиболее важную информацию на странице выделяйте бОльшим шрифтом. Как уже было сказано для других аспектов, данный приём хорошо работает, если использовать его аккуратно, к месту и со вкусом. Если весь ваш текст большого размера, то на самом деле ничего из вашего текста не выделено.&lt;/p&gt;&lt;p&gt;Используйте бОльшие шрифты для выделения наиболее важной информации и те части страницы, на которые пользователь должен обязательно обратить внимание.&lt;/p&gt;&lt;h2&gt;Дополнительные ссылки&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.designmeltdown.com/"&gt;Design Melt Down&lt;/a&gt; - различные аспекты веб-дизайна в стиле web 2.0&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.andybudd.com/links/well_designed_css_sites/index.php"&gt;Andy Budd's list of "Well designed CSS sites"&lt;/a&gt; - Список хороших дизайнов, более 400&lt;/li&gt;&lt;li&gt;&lt;a href="http://cssblast.ru/"&gt;CSS Blast&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://piepmatzel.de/"&gt;Piepmatzel.de&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.webcreme.com/"&gt;Web Creme&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xemion.com/"&gt;Web Designers&lt;/a&gt; - Список на сайты различных веб-дизанейров мира&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/05/blog-post.html</link><author>noreply@blogger.com (Natalia Macheda)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i245.photobucket.com/albums/gg69/microstocker/cssdhtm11/th_hotties-ash-web-studio.jpg' height='72' width='72'/><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-1113568205955089365</guid><pubDate>Wed, 16 Apr 2008 16:18:00 +0000</pubDate><atom:updated>2008-04-24T15:38:53.838-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>элементы</category><category domain='http://www.blogger.com/atom/ns#'>дизайн</category><category domain='http://www.blogger.com/atom/ns#'>zengarden</category><title>Принципы и элементы дизайна (часть 2, выпуск 10)</title><description>&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://www.digital-web.com/articles/principles_and_elements_of_design"&gt;&lt;span style="font-size:85%;"&gt;http://www.digital-web.com/articles/principles_and_elements_of_design&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt; и &lt;/span&gt;&lt;a href="http://www.digital-web.com/articles/elements_of_design/"&gt;&lt;span style="font-size:85%;"&gt;http://www.digital-web.com/articles/elements_of_design/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;В &lt;a href="http://cssdhtml.blogspot.com/2008/03/9.html"&gt;предыдущей статье&lt;/a&gt; мы рассмотрели классические принципы визуального дизайна. В частности: расположение объектов относительно друг друга. В данной статье мы рассмотрим элементы дизайна.&lt;/p&gt;&lt;h2&gt;Что такое элементы дизайна?&lt;/h2&gt;&lt;p&gt;Элементы дизайна - это некие неделимые базовые компоненты и их композиции, которые могут быть использованы в любой части дизайна. В частности мы рассмотрим такие элементы дизайна, как точка, линия, форма (фигура) и тектстура.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;h2&gt;Точка&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Точка&lt;/strong&gt; - это элемент дизайна, который имеет &lt;strong&gt;точное &lt;/strong&gt;месторасположение, но не размеров. Однако, будучи использованными группами, точки могут быть интерполированы человеческим мозгом в фигуры (см. &lt;a href="http://cssdhtml.blogspot.com/2008/03/9.html"&gt;Замыкание&lt;/a&gt;).&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_point1.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_point2.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_point3.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Точка&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Ряд точек интерполируется в линию&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Замыкание точек в треугольник&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;В качестве примера рассмотрим Zen Garden дизайн &lt;a href="http://www.csszengarden.com/?cssfile=/046/046.css&amp;amp;page=17"&gt;sub:lime&lt;/a&gt;, который использует в шапке пикселизированное изображение двух половинок лайма. Затем суть этого мотива повторяется в остальном дизайне страницы. В пикселизированной картинке каждый пиксель - это точка. Но наш мозг объединяет их и интерполирует в изображение двух половинок лайма. Кроме того, точка расширяется в диапазон цветов, которые используются для разделения областей страницы на смысловые части. А линии (см. ниже) используются в заголовках.&lt;/p&gt;&lt;p&gt;Этот дизайн является хорошим примером того, как элементы дизайна используют друг друга для создания единой композиции. Дизайн имеет фиксированную ширину в 715 пикселей и центральное выравнивание.&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_point.gif" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_point_ab.gif" /&gt;&lt;/p&gt;&lt;h2&gt;Линия&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Линия&lt;/strong&gt; - это элемент, который характеризуется длиной и направлением. Линии используются для посроения контуров и форм. Они также придают дизайну настроение или указывают на некое свойство дизайна. Линии также используются для создания перспективы, а доминирующие направляющие линии применяются для придания композиции эффекта непрерывности и продолжаемости. Сгруппированные линии образуют текстуру.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_lineOrganic.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_lineRigid.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_lineWeights.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Органика&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Жёсткость&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Разный вес&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Например, &lt;a href="http://www.csszengarden.com/?cssfile=/152/152.css&amp;amp;page=4"&gt;Subway Dream&lt;/a&gt; использует линии по-разному. Во-первых, как жёсткий элемент, который обозначает каркас страницы и отделяет области с текстом от фона. Во-вторых, картинки, разбросанные по всей странице, целиком и полностью базируются на линиях. Они также имеют органическую природу, которая создаёт впечатление наброска. Украшения, фон за рисунком женщины, навигационные иконки целиком и полностью построены на линиях. Рисунок женщины имеет форму, но, тем не менее, в его основе лежит контур, а линия помогает яснее определить эту форму. Шрифт в заголовках создан при помощи органических линий, что помогает акцентировать общий дизайн страницы.&lt;/p&gt;&lt;p&gt;Это хороший пример того, как, фокусируясь лишь на одном элементе дизайна, можно создать единство композиции. Дизайн имеет фиксированную ширину в 730 пикселей и центральное выравнивание.&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_line3.gif" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_line3_ab.gif" /&gt;&lt;/p&gt;&lt;h2&gt;Форма&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Форма &lt;/strong&gt;- это замкнутый контур, характерицирующийся периметром. Существует три базовых формы: круг (сфера), прямоугольник или квадрат (параллелепипед или куб), треугольник (конус). Форма может быть двух-мерной или трёхмерной, реалистичной или абстрактной, или средним между всем перечисленным. Форма и фигура используются, как синонимы. Форма является производной от линии и точки.&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_lineContour.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_formDimensional.gif" /&gt;&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Контурная форма&lt;/center&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;center&gt;Пространственная форма&lt;/center&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Например, пространственность присутствует в дизайне &lt;a href="http://www.csszengarden.com/?cssfile=/031/031.css&amp;amp;page=18"&gt;Hedges&lt;/a&gt;. Существует пара техник, чтоб создать такую иллюзию. Первая: иллюстрации рисуются с перспективой, при этом используются две точки для установления угла, относительно которого все элементы выровнены. Вторая: использование светотеневого рисунка так, чтобы казалось, будто элементы стоят на поверхности. Наконец использование небольших картинок позволяет установить ощущение пространственности, усиляя иллюзию. Рисунки взаимодействуют с формами, находясь на них или просверливая в них дырки, что помогает расширить чувство пространства в композиции.&lt;/p&gt;&lt;p&gt;Сайт является хорошим примером того, как можно создавать формы, применяя точку и линию. Дизайн имеет фиксированную ширину в 720 пикселей и отцентрирован. Единственное исключение в нём - это ряд девревьев сверху, который растягивается на всю ширину окна браузера.&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_form.gif" /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_form_ab.gif" /&gt;&lt;/p&gt;&lt;h2&gt;Текстура&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Текстура &lt;/strong&gt;- это физическая структура формы или её поверхности. Иными словами, текстура - это материал, из которого что-то сделано. Текстура является производной от формы, линии и точки. Это визуальный и тактильный феномен.&lt;/p&gt;&lt;h2&gt;Цвет&lt;/h2&gt;&lt;p&gt;Цвет - это реакция глаза на электромагнитные, находящиеся в цветовом диапазоне. Цветовой зиапазон - это свет, который мы видим в окружающей среде. Невооружённый человеческий глаз воспринимает волны длиной 400-700 нанометров (нм), где 700нм - это красный цвет, 400 нм - фиолетовый цвет.&lt;/p&gt;&lt;p&gt;Существует множество различных цветовых систем и теорий. Мы рассмотрим лишь базовые принципы, используя цветовое колесо для иллюстрации идей. Цвет характеризуется тремя компонентами:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Тон (Hue)&lt;/strong&gt; - положение цвета на колесе. Термины "красный", "сине-зелёный", "розовато-лиловый" определяют тон данного цвета.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Яркость (Value)&lt;/strong&gt; - тёмность или светлость данного цвета. Его близость к чёрному или белому.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Насыщенность (Saturation)&lt;/strong&gt; - интенсивность, уровень цветового сигнала. Более серый цвет имеет более низкую интенсивность.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_hvs.gif" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Гармония цветов&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Цветовая гармоничность используется для описания взаимотношения цветов друг с другом, как они могут комбини роваться для создания цветовой палитры.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Комплементарные&lt;/strong&gt; - противоположные цвета на колесе. Когда комплементарные цвета используются в соседних элементах, они увеличивают интенсивность друг друга. А когда они смешиваются, то уменьшают её.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Аналогичные&lt;/strong&gt; - цвета с тонами, соседними на колесе. Это, как правило, семейство цветов. Например: синий, сине-фиолетовый, сине-зелёный; жёлтый, жёлто-оранжевый, жёлто-красный.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Триадные&lt;/strong&gt; - три цвета, равноотстоящие на колесе.&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Комплементарные&lt;/td&gt;&lt;td&gt;Аналогичные&lt;/td&gt;&lt;td&gt;Триадные&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_complementary.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_analogous.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_triadic.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Цветовые пространства&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Цвета обычно организованы в иерархии, на основании того, как они смешаны друг с другом. И цветовое пространство помогает определить, как они смешаны. Существуют два типа цветовых пространств:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Субтрактивный (вычитание цветов): традиционное цветовое пространтсво, которое мы используем, когда говорим о цвете. Он основан на пигменте цвета, как в изобразительном искусстве. Пигмент воздействует на длину цветовой волны. Отсутсвие пигмента - белый цвет. Смешение всех пигментов - чёрный. Основные цвета: красный, жёлтый, зелёный. Вторичные цвета: оранжевый, зелёный, филетовый.&lt;/li&gt;&lt;li&gt;Аддитивный (сложение цветов): электронное цветовое пространство. Основано на количестве света. Свет отображается монитором. Отсутсвие света - чёрный. Присутствие всего наличного света - белый. Основные цвета: красный, зелёный, синий. Вторичные цвета: жёлтый, фуксин, голубой.&lt;/li&gt;&lt;/ul&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_subtractiveColor.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/elements_of_design_additiveColor.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Субтрактивное цветовое пространство &lt;/td&gt;&lt;td&gt;Аддитивное цветовое пространство &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;А сейчас рассмотрим пример опять из CSS Zen Garden. В частности, &lt;a href="http://www.csszengarden.com/?cssfile=/134/134.css&amp;amp;page=6"&gt;El Collar de Tomas&lt;/a&gt; может покаться оформленным триадными цветами, но в реальности в нём были использованы аналогичные цвета. Использованы оттенки красного, жёлтого и оранжево с серо-голубым в качестве контраста. Их яркость снижена до среднего значения, отчего жёлтый кажется почти зелёным. Вдобавок он окружён элементами красного и оранжево цвета, из-за чего эффект триадности усиливается. В результате мы имеем очень мягкий, яркий, богатый на цветовую гамму дизайн, который базируется всего лишь на трёх рядом лежащих оттенках.&lt;/p&gt;&lt;p&gt;Истинный пример того, как очень малая выборка цветов может быть использована для создания богатой палитры посредством манипулирования яркости и взаимоного расположения элементов. Дизайн имеет фиксированную ширину 770 пикселей и выровнен влево.&lt;/p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_color.gif"&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_color_ab.gif"&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/04/2-10.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-3478466397372829891</guid><pubDate>Sat, 15 Mar 2008 19:29:00 +0000</pubDate><atom:updated>2008-03-23T04:43:01.220-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>теория</category><category domain='http://www.blogger.com/atom/ns#'>принципы</category><category domain='http://www.blogger.com/atom/ns#'>элементы</category><category domain='http://www.blogger.com/atom/ns#'>дизайн</category><category domain='http://www.blogger.com/atom/ns#'>zengarden</category><title>Принципы и элементы дизайна (Выпуск 9)</title><description>&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://www.digital-web.com/articles/principles_and_elements_of_design"&gt;&lt;span style="font-size:85%;"&gt;http://www.digital-web.com/articles/principles_and_elements_of_design &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;и &lt;/span&gt;&lt;a href="http://www.digital-web.com/articles/principles_of_design/"&gt;&lt;span style="font-size:85%;"&gt;http://www.digital-web.com/articles/principles_of_design/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Веб-дизайн - относительно новая форма дизайна. И как любой дизайн, веб-дизайн имеет свои отличительные особенности. В частности он очень сильно завязан на средства, для которых он создаётся: разрешение экрана, цветовое пространство, сжатие графических изображений и т.д. И веб-дизайнер часто, погружаясь во все эти техничсекие детали, не замечает аспектов более глобальной картины, относящийся к дизайну вообще. Ведь веб-дизайн эволюционировал на протяжении многих веков из классического дизайна, впитывая в себя все его принципы: от печатного дизайна до дизайна интерьеров. И даже ещё глубже: дизайн картин, дизайн скульптур, дизайн литографий... Сейчас мы поговрим о принципах дизайна, то есть о размещении объектов, элементов дизайна, об их композиции.&lt;/p&gt;&lt;h3&gt;Баланс&lt;/h3&gt;&lt;p&gt;Баланс - это равновесие изображения с точки зрения нашего взгляда на него в соответсвии с физической структурой (масса, сила тяжести и т.д.) каждого отдельного элемента. Баланс может быть симметричным (формальный) и ассиметричным (неформальный). При &lt;strong&gt;симметричном&lt;/strong&gt; дизайне вес композиции равномерно распределён по цетральной вертикальной или диагональной оси. Иногда по обеим. Симметрия называется &lt;strong&gt;приблизительной&lt;/strong&gt;, если выражается похожими, но не идентичными формами. Когда вес распределён вокруг центральной оси, то дизайн называется &lt;strong&gt;радиальным&lt;/strong&gt;. При &lt;strong&gt;ассиметричном &lt;/strong&gt;дизайне, как вы догадались, вес распределён не равномерно. То есть в нём используются объекты разных размеров. Чаще всего бывает, что используется один доминантный элемент и несколько второстепенных, уравновешивающих дизайн.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img height="95" alt="Horizontal symmetry" src="http://www.digital-web.com/images/articles/principles_of_design_balance_symmetrical.gif" width="140" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img height="95" alt="Приблизительная симметрия" src="http://www.digital-web.com/images/articles/principles_of_design_balance_approximate.gif" width="140" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img height="95" alt="Radial symmetry" src="http://www.digital-web.com/images/articles/principles_of_design_balance_radial.gif" width="140" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img height="95" alt="Asymmetry" src="http://www.digital-web.com/images/articles/principles_of_design_balance_asymmetrical.gif" width="140" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Горизонтальная симметрия&lt;/td&gt;&lt;td&gt;Приблизительная горизонтальная симметрия&lt;/td&gt;&lt;td&gt;Радиальная симметрия&lt;/td&gt;&lt;td&gt;Ассиметрия&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Например, &lt;a href="http://www.csszengarden.com/?cssfile=/122/122.css&amp;amp;page=7"&gt;Centerfold&lt;/a&gt;, один из дизайнов Zen Garden, использует приблизительную горизонтальную симметрию. Может быть, правая часть страницы выглядит немного тяжелее, но в целом дизайн сбалансирован. Это достигается большим количеством пространства белого цвета. Кроме того графический текст ненавязчив. Все элементы гармонируют и с фоном, не становясь доминантными ни в каком месте. Редкие зелёные оттенки используются лишь для выделения навигационных элементов.&lt;/p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_balance.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_balance_ab.gif" /&gt; &lt;h3&gt;Ритм&lt;/h3&gt;&lt;p&gt;Ритм - это повторение или чередование элементов в соотсветсвии с заданным интревалом (очередностью). Ритм создаёт ощущение движения и является средством для создания паттерна или текстуры.&lt;/p&gt;&lt;p&gt;Bиды ритма:&lt;/p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Регулярный&lt;/td&gt;&lt;td&gt;Плывущий&lt;/td&gt;&lt;td&gt;Прогрессивный&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_rhythm_regular.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_rhythm_flowing.gif" /&gt;&lt;/td&gt;&lt;td&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_rhythm_progressive.gif" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Интервалы между элементами и сами элементы похожи между собой в размере&lt;/td&gt;&lt;td&gt;Имеет органическую природу&lt;/td&gt;&lt;td&gt;Последовательность форм показывается, как прогрессия шагов&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;Например, дизайн &lt;a href="http://www.csszengarden.com/?cssfile=/185/185.css&amp;amp;page=0"&gt;Manhattan Edition&lt;/a&gt; использует регулярный ритм в верхней части страницы и в правой навигационной панели. Это создаёт ощущение движения в "небе" над городом и вообще добавляет дизайну текстурирования, которое дополняет текстуру зданий и заголовков. Текстурирование контрастирует с общей гладкостью чёрного фона и мягким свечением вокруг текстовой информации.&lt;/p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_rhythm2.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_rhythm_ab.gif" /&gt; &lt;h3&gt;Пропорции&lt;/h3&gt;&lt;p&gt;Пропорция - это сравнение размеров или распределние форм. Это отношение между элементами, выражающееся в масштабе. На примере ниже легко заметить, что более крупные элементы привлекают внимание, а мелкие отходят на задний план.&lt;/p&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_proportion.gif" /&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_proportion2.gif" /&gt; &lt;p&gt;Дизайн &lt;a href="http://www.csszengarden.com/?cssfile=/148/148.css&amp;amp;page=4"&gt;Musem&lt;/a&gt; - хороший пример того, как пропорция может быть использована для привлечения внимания на специфические элементы страницы. Посмотрите на эти маленькие фигурки, которые присутствуют в интерьере музея. В шапке странице фигурка человечка уводит взгляд сквозь проём в стене. Проматывая страницу вниз, вы увидите ещё больше таких силуэтов, которые опять будут привлекать ваше внимание к содержимому, возле которого они присутствуют. У вас также возникнет ощущение, что человечки смотрят на картины в музее. А вы, глядя на них, будете попадать взглядом на содержимое.&lt;/p&gt;&lt;p&gt;Отсутствие ярких цветов в этом дизайне помогает ещё лучше сфокусироваться на структуре страницы, что ещё больше подчёркивает пропорцию композиции. Использование линий и форм для создания 3D-иллюзии помогает привлечь взгляд на нужные области страницы.&lt;/p&gt;&lt;p&gt;Это фиксированный центрированный дизайн шириной в 762 пикселя.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_proportion.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_proportion_ab.gif" /&gt; &lt;/p&gt;&lt;h3&gt;Преобладание&lt;/h3&gt;&lt;p&gt;Говоря о преобладании, мы имеем в виду различные степени акцентирования в дизайне. Преобладание определяет визуальный вес композиции, задаёт пространство и перспективу и очень часто направляет взгляд на элементы, которые нужно видеть в первую очередь. Существуют три уровня преобладания (важности) элементов страницы по сравнению с другими: &lt;ol&gt;&lt;li&gt;Доминантный - элемент имеет наибольший визуальный вес и акцент, выступает на первом плане страницы&lt;/li&gt;&lt;li&gt;Суб-доминантный - элемент имеет вторичный акцент и находится на среднем плане композиции&lt;/li&gt;&lt;li&gt;Второстепенный - элемент обладает наименьшим визуальным весом и акцентом, находится на заднем плане композиции&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;наприемер, на картинке ниже деревья - доминантные элементы, домик на холме - суб-доминантный, гора - второстепенный.&lt;/p&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_domainance.gif" /&gt; &lt;p&gt;ZenGarden дизайн &lt;a href="http://www.csszengarden.com/?cssfile=/181/181.css&amp;amp;page=0"&gt;Прелестный розовый&lt;/a&gt; использует принцип преобладания, чтобы акцентировать отдельные элементы страницы. Самая правая колонка, где находится всё смысловое содержимое страницы, является доминантной. Это широкая область яркого цвета, использующая простой крупный заголовок контрастного цвета и модный штрихованный фон. Центральная колонка - субдоминантная часть страницы. Она так же заметна и привлекает внимание, но использует нейтральные цвета и меньший размер шрифта. Наконец, левая колонка с логотипом и вводным текстом является второстепенной, она отходит на задний план страницы и нашего внимания.&lt;/p&gt;&lt;p&gt;В общем, хорошим тоном для веб-дизайна является акцентирование внимания на содержание страницы и навигацию. Так же заметим, что в данном дизайне доминантная часть не теряет своё преобладание ни при каком размере окна браузера, но аккуратно подстраивается под него. Сам же дизайн выровнен по левому краю.&lt;/p&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_dominance.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.digital-web.com/images/articles/P_and_E_of_Design_pink_abSmall.gif" /&gt;&lt;br /&gt;&lt;h3&gt;Единство&lt;/h3&gt;&lt;p&gt;Концепция единство описывает отношения между отдельными частями и всей композицией. Имеются в виду аспекты некого дизайна, которые необходимы, чтобы представить композицию, как единое целое или разбить её, придав ей вид разнообразности. Вот эти аспекты:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Замыкание&lt;/strong&gt;&lt;br /&gt;Замыкание - это заполнение при отсутсвии информации. В примере ниже мы заполняем отсутсующие части изображения в своём воображении для того, чтобы получить замкнутую фигуру:&lt;br /&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_closure.gif" /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Непрерывность&lt;/strong&gt;&lt;br /&gt;Непрервность здесь подразумевается, как непрерывность движения взгляда: мы смотрим в неком направлении до тех пор, пока что-то более доминантное не перехватывает нах взгляд на себя. На примере ниже, взгляд будет следовать по направлению дороги. На картинке нет других доминантных объектов, но мы можем воспользоваться этой концепцией, чтобы показать посетителю сайта нечто важное:&lt;br /&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_continuance.gif" /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Схожесть и выравнивание&lt;/strong&gt;&lt;br /&gt;Объекты одинакового размера формы и цвета хорошо группируются и складываются в некий более общий объект. Например, на картинке ниже объекты в левом верхнем углу хорошо сгруппированы в некую аккуратную фигуру, чего не скажешь про объекты в правом нижнем углу:&lt;br /&gt;&lt;img src="http://www.digital-web.com/images/articles/principles_of_design_alignment.gif" /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Другие аспекты дизайна&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Контраст&lt;/strong&gt; - динамический конфлик между элементами дизайна. &lt;strong&gt;Позитивное и негативное пространство&lt;/strong&gt; - непосредственное соседство объекта (позитивное пространство) и его фона (негативное пространство). &lt;strong&gt;Правило третей&lt;/strong&gt; - объекты, находящиеся на расстоянии 1/3 всей ширины или высоты страницы, привлекают внимание больше всего. &lt;strong&gt;Визуальный центр&lt;/strong&gt; - чуть выше и чуть правее математичского центра есть естественное расположение визуального фокуса. &lt;strong&gt;Цвет и типография&lt;/strong&gt; (заслуживает отдельной статьи).&lt;/p&gt;&lt;h3&gt;Интернет-ресурсы по теме&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://char.txa.cornell.edu/"&gt;Art, Design, and Visual Thinking&lt;/a&gt; by Charlotte Jirousek&lt;/li&gt;&lt;li&gt;&lt;a href="http://daphne.palomar.edu/design/gestalt.html"&gt;Gestalt Design and Composition&lt;/a&gt; by James T. Saw&lt;/li&gt;&lt;li&gt;&lt;a href="http://gestalttheory.net/"&gt;Society for Gestalt Theory and its Applications&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.graphicdesignbasics.com/"&gt;Graphic Design Basics&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://desktoppub.about.com/cs/designprinciples/a/principlesintro.htm"&gt;Introduction to the Principles of Design&lt;/a&gt; by Jacci Howard Bear&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;Книги&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0155083775/digitalwebmagazi"&gt;Design Basics&lt;/a&gt; by David Lauer&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/1581152507/digitalwebmagazi"&gt;The Elements of Graphic Design&lt;/a&gt; by Alexander W. White&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0471289604/digitalwebmagazi"&gt;Principles of Two-Dimensional Design&lt;/a&gt; by Wucius Wong&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/3721201450/digitalwebmagazi"&gt;Grid Systems in Graphic Design&lt;/a&gt; by Josef Muller-Brockmann&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0155016156/digitalwebmagazi"&gt;Design Principles and Problems&lt;/a&gt; by Paul Zelanski, Mary Pat Fisher&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0262540290/digitalwebmagazi"&gt;A Primer of Visual Literacy&lt;/a&gt; by Donis A. Dondis&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0131828959/digitalwebmagazi"&gt;History of Art&lt;/a&gt; by Anthony F. Janson&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0471291986/digitalwebmagazi"&gt;A History of Graphic Design&lt;/a&gt; by Philip Meggs&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0321193857/digitalwebmagazi"&gt;The Non-Designer's Design Book&lt;/a&gt; by Robin Williams&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/exec/obidos/ASIN/1568982496/digitalwebmagazi"&gt;Geometry of Design: Studies in Proportion and Composition&lt;/a&gt; by Kimberly Elam&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/03/9.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-1181109397500309747</guid><pubDate>Thu, 06 Mar 2008 15:33:00 +0000</pubDate><atom:updated>2008-03-06T09:07:48.037-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>zengarden</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Стандартный CSS-файл для CSS Zen Garden, часть 2 (Выпуск 8)</title><description>&lt;p&gt;&lt;span style="font-size:85%;"&gt;Первая часть &lt;/span&gt;&lt;a href="http://cssdhtml.blogspot.com/2008/02/css-css-zen-garden-6.html"&gt;&lt;span style="font-size:85%;"&gt;здесь&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Познакомившись с &lt;a href="http://cssdhtml.blogspot.com/2008/02/css-7.html"&gt;CSS селекторами&lt;/a&gt;, мы легко можем продолжить изучение стандартного &lt;a href="http://www.csszengarden.com/zengarden-sample.css"&gt;CSS-файла&lt;/a&gt; для сайта &lt;a href="http://www.csszengarden.com/"&gt;CSS Zen Garden&lt;/a&gt;. В частности, декларации для &lt;span style="font-family:courier new;"&gt;a:link, a:visited, a:hover, a:active&lt;/span&gt; описывают поведение ссылок в зависимости от наведения на них мышки, посещались ли они и т.д.&lt;/p&gt;&lt;p&gt;В частности, в далее следуемом коде&lt;/p&gt;&lt;code&gt;&lt;pre&gt;#container {&lt;br /&gt; background: url(zen-bg.jpg) no-repeat top left;&lt;br /&gt; padding: 0 175px 0 110px;&lt;br /&gt; margin: 0;&lt;br /&gt; position: relative;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;#intro {&lt;br /&gt; min-width: 470px;&lt;br /&gt; }&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Мы видим стиль основного контейнера (&lt;span style="font-family:courier new;"&gt;#container&lt;/span&gt;) и "шапки" сайта (&lt;span style="font-family:courier new;"&gt;#intro&lt;/span&gt;). В стиле последнего &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530820(VS.85).aspx"&gt;min-width&lt;/a&gt; - минимальная ширина. То есть как-бы мы не изменяли размеры окна браузера, шапка всегда будет по крайней мере 470 пикселей в ширину.&lt;/p&gt;&lt;p&gt;Далее стиль легко читаем и понятен:&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;code&gt;&lt;pre&gt;#pageHeader h1 {&lt;br /&gt; background: transparent url(h1.gif) no-repeat top left;&lt;br /&gt; margin-top: 10px;&lt;br /&gt; width: 219px;&lt;br /&gt; height: 87px;&lt;br /&gt; float: left;&lt;br /&gt; }&lt;br /&gt;#pageHeader h1 span {&lt;br /&gt; display:none&lt;br /&gt; }&lt;br /&gt;#pageHeader h2 {&lt;br /&gt; background: transparent url(h2.gif) no-repeat top left;&lt;br /&gt; margin-top: 58px;&lt;br /&gt; margin-bottom: 40px;&lt;br /&gt; width: 200px;&lt;br /&gt; height: 18px;&lt;br /&gt; float: right;&lt;br /&gt; }&lt;br /&gt;#pageHeader h2 span {&lt;br /&gt; display:none&lt;br /&gt; }&lt;br /&gt;#pageHeader {&lt;br /&gt; padding-top: 20px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#quickSummary {&lt;br /&gt; clear:both;&lt;br /&gt; margin: 20px 20px 20px 10px;&lt;br /&gt; width: 160px;&lt;br /&gt; float: left;&lt;br /&gt; }&lt;br /&gt;#quickSummary p {&lt;br /&gt; font: italic 10pt/22pt georgia;&lt;br /&gt; text-align:center;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;#preamble {&lt;br /&gt; clear: right;&lt;br /&gt; padding: 0px 10px 0 10px;&lt;br /&gt; }&lt;br /&gt;#supportingText { &lt;br /&gt; padding-left: 10px;&lt;br /&gt; margin-bottom: 40px;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;#footer {&lt;br /&gt; text-align: center;&lt;br /&gt; }&lt;br /&gt;#footer a:link, #footer a:visited {&lt;br /&gt; margin-right: 20px;&lt;br /&gt; }&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Здесть новыми стилями для нас будут &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530755(VS.85).aspx"&gt;float&lt;/a&gt; (это плавающий элемент, и рядом стоящие элементы должны обтекать его справа или слева, при этом само значение стиля будет противоположным, то есть слева или справа, т.е. &lt;span style="font-family:courier new;"&gt;left&lt;/span&gt; и &lt;span style="font-family:courier new;"&gt;right&lt;/span&gt;), &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530751(VS.85).aspx"&gt;display&lt;/a&gt; (три наиболее распространённых способа отображения элемента: none - не отображать, &lt;span style="font-family:courier new;"&gt;block&lt;/span&gt; - блоком, &lt;span style="font-family:courier new;"&gt;inline&lt;/span&gt; - в той же строке, что и находящиеся рядом элементы) и &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530747(VS.85).aspx"&gt;clear&lt;/a&gt; (запрещает обтекание плавающих элементов слева или справа, или с обеих сторон). То есть &lt;span style="font-family:courier new;"&gt;#pageHeader h1&lt;/span&gt; (картинка со словами "Zen Garden") "плывёт" влево (&lt;span style="font-family:courier new;"&gt;float:left&lt;/span&gt;) и его текстовый аналог не показывается (&lt;span style="font-family:courier new;"&gt;display:none&lt;/span&gt;). Аналогично &lt;span style="font-family:courier new;"&gt;#pageHeader h2&lt;/span&gt; (картинка со словами "The Beauty of CSS Design") плывёт вправо и её текстовый аналог не показывается. Элемент &lt;span style="font-family:courier new;"&gt;#quickSammary &lt;/span&gt;"плывёт" влево и не может обтекать элементы ни справа, ни слева. То есть если бы &lt;span style="font-family:courier new;"&gt;#preamble&lt;/span&gt; имело стиль &lt;span style="font-family:courier new;"&gt;float&lt;/span&gt; с каким-то значением, то текст в этом &lt;span style="font-family:courier new;"&gt;div&lt;/span&gt;'е сместился бы. Поэкспериментируйте! Сам же блок &lt;span style="font-family:courier new;"&gt;#preamble&lt;/span&gt; не обтекает ничего справа (&lt;span style="font-family:courier new;"&gt;clear:right&lt;/span&gt;).&lt;/p&gt;&lt;p&gt;Далее идёт объявление меню:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;#linkList {&lt;br /&gt; margin-left: 600px;&lt;br /&gt; position: absolute;&lt;br /&gt; top: 0;&lt;br /&gt; right: 0;&lt;br /&gt; }&lt;br /&gt;#linkList2 {&lt;br /&gt; font: 10px verdana, sans-serif;&lt;br /&gt; background: transparent url(paper-bg.jpg) top left repeat-y;&lt;br /&gt; padding: 10px;&lt;br /&gt; margin-top: 150px;&lt;br /&gt; width: 130px;&lt;br /&gt; }&lt;br /&gt;#linkList h3.select {&lt;br /&gt; background: transparent url(h3.gif) no-repeat top left;&lt;br /&gt; margin: 10px 0 5px 0;&lt;br /&gt; width: 97px;&lt;br /&gt; height: 16px;&lt;br /&gt; }&lt;br /&gt;#linkList h3.select span {&lt;br /&gt; display:none&lt;br /&gt; }&lt;br /&gt;#linkList h3.favorites {&lt;br /&gt; background: transparent url(h4.gif) no-repeat top left;&lt;br /&gt; margin: 25px 0 5px 0;&lt;br /&gt; width: 60px;&lt;br /&gt; height: 18px;&lt;br /&gt; }&lt;br /&gt;#linkList h3.favorites span {&lt;br /&gt; display:none&lt;br /&gt; }&lt;br /&gt;#linkList h3.archives {&lt;br /&gt; background: transparent url(h5.gif) no-repeat top left;&lt;br /&gt; margin: 25px 0 5px 0;&lt;br /&gt; width:57px;&lt;br /&gt; height: 14px;&lt;br /&gt; }&lt;br /&gt;#linkList h3.archives span {&lt;br /&gt; display:none&lt;br /&gt; }&lt;br /&gt;#linkList h3.resources {&lt;br /&gt; background: transparent url(h6.gif) no-repeat top left;&lt;br /&gt; margin: 25px 0 5px 0;&lt;br /&gt; width:63px;&lt;br /&gt; height: 10px;&lt;br /&gt; }&lt;br /&gt;#linkList h3.resources span {&lt;br /&gt; display:none&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#linkList ul {&lt;br /&gt; margin: 0;&lt;br /&gt; padding: 0;&lt;br /&gt; }&lt;br /&gt;#linkList li {&lt;br /&gt; line-height: 2.5ex;&lt;br /&gt; background: transparent url(cr1.gif) no-repeat top center;&lt;br /&gt; display: block;&lt;br /&gt; padding-top: 5px;&lt;br /&gt; margin-bottom: 5px;&lt;br /&gt; list-style-type: none;&lt;br /&gt; }&lt;br /&gt;#linkList li a:link {&lt;br /&gt; color: #988F5E;&lt;br /&gt; }&lt;br /&gt;#linkList li a:visited {&lt;br /&gt; color: #B3AE94;&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;В первой декларации &lt;span style="font-family:courier new;"&gt;margin-left&lt;/span&gt; излишне, на мой взгляд. Как мы видим, на все заголовки меню приготовлена картинка, а текстовый вариант не отображается.&lt;/p&gt;&lt;h2&gt;Общая оценка стандартного дизайна &lt;/h2&gt;&lt;p&gt;Интересный и аккуратный дизайн с приятной цветовой гаммой и ненавязчивым графическим оформлением. Недочёты: заголоки меню плохо видны, хотелось бы текст слегка контрастнее, при уменьшении окна меню странным образом наползает на шапку.&lt;/p&gt;&lt;p&gt;В заключение повторю: поэкспериментируйте с этим базовым CSS-файлом. В следующий раз мы рассмотрим другой дизайн.&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/03/css-css-zen-garden-2-7.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-8475429670792955303</guid><pubDate>Thu, 06 Mar 2008 13:18:00 +0000</pubDate><atom:updated>2008-03-06T09:08:06.688-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>layer</category><category domain='http://www.blogger.com/atom/ns#'>анимация</category><category domain='http://www.blogger.com/atom/ns#'>dynduo</category><title>Клиппинговые слои (Выпуск 8)</title><description>&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/clipping.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/clipping.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Отсечение или клиппинг - обозначает задание видимых частей слоя. Какова разница между клиппингом и шириной/высотой? Ширина и высота задают размер HTML элемента. А клиппинг - это окошко,через которое мы смотрим на HTML элемент.&lt;/p&gt;&lt;p&gt;Регион клиппинга задаётся четвёркой параметров в пикселах: (top, right, bottom, left), порядок важен.&lt;/p&gt;&lt;img src="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/images/diagram-clip.gif" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;И синтаксис клиппинга такой:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;clip:rect(top,right,bottom,left)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Пример использования:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;DIV ID="blockDiv"&lt;br /&gt;STYLE="position:absolute; left:50; top:20; width:100; height:50;&lt;br /&gt;clip:rect(-10,110,60,-10); background-color:#FF0000;&lt;br /&gt;layer-background-color:#FF0000;"&amp;gt;&amp;lt;/DIV&amp;gt;&lt;/pre&gt;&lt;/code&gt;&lt;span class="fullpost"&gt;&lt;p&gt;В результате мы получим вот что:&lt;/p&gt;&lt;div id="blockDiv" style="LEFT: 50px; WIDTH: 100px; CLIP: rect(-10px 110px 60px -10px); POSITION: relative; TOP: 20px; HEIGHT: 50px; BACKGROUND-COLOR: #ff0000; layer-background-color: #FF0000"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;То есть к границам прямоугольника шириной 100 пикселей и высотой 50 пикселей добавилась экстра-область шириной 10 пикселей: -10 вверх, 10 вправо (110), 10 вниз (60), -10 влево.&lt;/p&gt;&lt;p&gt;Обратите внимание на присутствие &lt;span style="font-family:courier new;"&gt;background-color:#FF0000;&lt;/span&gt; и &lt;span style="font-family:courier new;"&gt;layer-background-color:#FF0000;"&lt;/span&gt;. Это сделано для &lt;a href="http://cssdhtml.blogspot.com/2008/02/dynamic-duo-dynamic-duo-dan-steinman.html"&gt;совместимости кода в IE и NN&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;JavaScript и клиппинг&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;1. Клиппинг в NN&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;В NN вы можете получать или изменять значения параметров клиппинга индивидуально:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;document.divName.clip.top&lt;br /&gt;document.divName.clip.right&lt;br /&gt;document.divName.clip.bottom&lt;br /&gt;document.divName.clip.left&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Пример алерта на значение верхней границы клиппинга:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;alert(document.divName.clip.top)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Изменение значения верхней границы клиппинга на 50 пикселей:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;document.divName.clip.top = 50&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;strong&gt;2. Клиппинг в IE&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Доступ ко всему клиппингу может быть сделан так:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;alert(divName.style.clip)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Пример такого алерта:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;"rect(0px 50px 100px 0px)"&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Изменение клиппинга тоже может быть сделано комплексно:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;divName.style.clip = "rect(0px 100px 50px 0px)"&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;strong&gt;3. Общая фунцкия получения значений клиппинга&lt;/strong&gt;&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function clipValues(obj,which) {&lt;br /&gt; if (ns4) {&lt;br /&gt;  if (which=="t") return obj.clip.top&lt;br /&gt;  if (which=="r") return obj.clip.right&lt;br /&gt;  if (which=="b") return obj.clip.bottom&lt;br /&gt;  if (which=="l") return obj.clip.left&lt;br /&gt; }&lt;br /&gt; else if (ie4) {&lt;br /&gt;  var clipv = obj.clip.split("rect(")[1].split(")")[0].split("px")&lt;br /&gt;  if (which=="t") return Number(clipv[0])&lt;br /&gt;  if (which=="r") return Number(clipv[1])&lt;br /&gt;  if (which=="b") return Number(clipv[2])&lt;br /&gt;  if (which=="l") return Number(clipv[3])&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Пример её вызова:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;alert(clipValues(block,"t"))&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Здесь "t" означает top. Аналогичным образом можно использовать "b", "r", "l" для получения значений параметров bottom, right, left соответсвенно.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/clipping1.html"&gt;Пример использования общей функции&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;4. Общая функция изменения клипинга&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;4.1 clipTo()&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Эта функция позволяет присвоить польностью другие значения параметрам клиппинга:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function clipTo(obj,t,r,b,l) {&lt;br /&gt; if (ns4) {&lt;br /&gt;  obj.clip.top = t&lt;br /&gt;  obj.clip.right = r&lt;br /&gt;  obj.clip.bottom = b&lt;br /&gt;  obj.clip.left = l&lt;br /&gt; }&lt;br /&gt; else if (ie4) obj.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)"&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Пример вызова:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;clipTo(block,0,100,100,0)&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;4.2 clipBy()&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Позволяет сдвигать область клиппинга на заданное значение&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function clipBy(obj,t,r,b,l) {&lt;br /&gt; if (ns4) {&lt;br /&gt;  obj.clip.top = clipValues(obj,'t') + t&lt;br /&gt;  obj.clip.right = clipValues(obj,'r') + r&lt;br /&gt;  obj.clip.bottom = clipValues(obj,'b') + b&lt;br /&gt;  obj.clip.left = clipValues(obj,'l') + l&lt;br /&gt; }&lt;br /&gt; else if (ie4)&lt;br /&gt;            obj.clip = "rect("+(this.clipValues(obj,'t')+t)+"px "+&lt;br /&gt;            (this.clipValues(obj,'r')+r)+"px "+&lt;br /&gt;            Number(this.clipValues(obj,'b')+b)+"px "+&lt;br /&gt;            Number(this.clipValues(obj,'l')+l)+"px)"&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Вызывается аналогичным образом, как и предыдущая функция:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;clipBy(block,0,10,5,0)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/clipping2.html"&gt;Пример использования &lt;span style="font-family:courier new;"&gt;clipTo()&lt;/span&gt; и &lt;span style="font-family:courier new;"&gt;clipBy()&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;Анимированный клиппинг (вайпинг)&lt;/h3&gt;&lt;p&gt;Если мы поместим clipBy() в цикл, то можем создать эффект анимированного расширения или удлинения области коиппинга. Но мы поступим хитрее:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function wipe1() {&lt;br /&gt; if (clipValues(block,'r')&amp;lt;200) {&lt;br /&gt;  clipBy(block,0,5,0,0)&lt;br /&gt;  setTimeout("wipe1()",30)&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Здесь цикл &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt; будет работать до тех пор пока правая граница клиппинга не примет значение в 200 пикселей.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/clipping3.html"&gt;Пример вайпинга&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/03/7.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-1749068769819605175</guid><pubDate>Thu, 28 Feb 2008 08:03:00 +0000</pubDate><atom:updated>2008-03-06T09:07:26.211-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>теория</category><category domain='http://www.blogger.com/atom/ns#'>примеры</category><category domain='http://www.blogger.com/atom/ns#'>tutorials</category><category domain='http://www.blogger.com/atom/ns#'>psdtuts</category><category domain='http://www.blogger.com/atom/ns#'>дизайн</category><title>Элементы отличного дизайна: наведение глянца (Выпуск 8)</title><description>&lt;p&gt;Продолжаем изучать теоретические основы дизайна. Касательно статьи &lt;a href="http://cssdhtml.blogspot.com/2008/02/9.html"&gt;9 принципов хорошего дизайна&lt;/a&gt;, мы пройдёмся подробнее по всем пунктам. Сегодня рассмотрим поподробнее пункт &lt;a href="http://cssdhtml.blogspot.com/2008/02/9.html"&gt;Приоритетность&lt;/a&gt;. Заранее оговорюсь, что подробное рассмотрение отдельного пункта может перекликаться с рассмотрением других пунктов и статьи в целом. Тем лучше для нас!&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://psdtuts.com/designing-tutorials/elements-of-great-web-design-the-polish/"&gt;&lt;span style="font-size:85%;"&gt;http://psdtuts.com/designing-tutorials/elements-of-great-web-design-the-polish/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Когда я складываю вместе отдельные части дизайна, то делаю это в два шага: расположение и полировка. При определении расположения я концентрируюсь на основных элементах страницы, так чтобы она имела некий конечный образ. Во второй фазе, полировке, я ещё раз прохожусь по дизайну и привожу в порядок цвета, типы, тени, уровни, - вычищаю всё, что можно. Посмотрим на это наведение глянца детально.&lt;/p&gt;&lt;h2&gt;Краткое предисловие&lt;/h2&gt;&lt;p&gt;В отличие от эффектов Photoshop, веб-дизайн нельзя создать по некому рецепту или алгоритму. Если вы посмотрите на наиболее выдающиеся дизайны, то заметите, что совсем не сложно воспроизвести их технически. Если вы любитель Photoshop, то сможете скорее всего даже воспроизвести такой дизайн в Photoshop слой за слоем. Трюк же заключается в том, чтобы создать такой дизайн без копирования кого-либо. Давайте рассмотрим некоторые аспекты создания таких уникальных и запоминающихся дизайнов.&lt;/p&gt;&lt;p&gt;Рассмотрим два созданных недавно сайта: &lt;a href="http://notbythehour.com/"&gt;Not By The Hour&lt;/a&gt; и его блог &lt;a href="http://freelanceswitch.com/"&gt;FreelanceSwitch&lt;/a&gt;. (&lt;em&gt;Прим. НМ: Рекомендую, кстати, обратить внимание на первый пост по последней ссылке, &lt;a href="http://freelanceswitch.com/clients/10-phrases-every-freelancer-should-kick-out-of-their-vocabulary/"&gt;10 фраз, которые каждый фрилансер должен вычеркнуть из своей речи&lt;/a&gt;&lt;/em&gt;). Прежде, чем перейти к конкретным вещам, посмотрите, пожалуйста, ссылку:&lt;/p&gt;&lt;center&gt;&lt;a href="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/beforeafter.html"&gt;&lt;span style="font-size:180%;"&gt;&lt;strong&gt;До и после&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/center&gt;&lt;span class="fullpost"&gt;&lt;h2&gt;Шаг 1 - Ясность&lt;/h2&gt;&lt;p&gt;&lt;img src="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/1.jpg" /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Линия толщиной в 1 пиксел помогает подчеркнуть разделение и усилить резкость. Фон обесцвечен для усиления ясности и подчёркивания картинки с сейфом. Небольшие тени и серый градиент выделяет текст.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Всё, что вы делаете на странице, непосредственно касается &lt;strong&gt;пикселей&lt;/strong&gt;. Всё должно быть резко и ясно, то есть:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Ясность текста&lt;/strong&gt;&lt;br /&gt;Здесь имеется ввиду &lt;a href="http://ru.wikipedia.org/wiki/%D0%A1%D0%B3%D0%BB%D0%B0%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"&gt;сглаживание&lt;/a&gt;. В Photoshop вы можете управлять сглаживание так: &lt;em&gt;Window-&gt;Character&lt;/em&gt;. В открывшейся панели вы можете выбрать None Sharp Crisp Strong. Вы можете поэкспериментировать для разных шрифтов и размеров. Я лично чаще всего использую Sharp, который иногда выравнивает, а иногда искажает пиксели. На картинке выше текст Making установлен в Sharp.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Выравнивание&lt;/strong&gt;&lt;br /&gt;На картинке выше между чёрной и тёмно-серой панелями добалена светло-серая линия толщиной 1 пиксель. Этот трюк подражает эффекту повешения резкости. Если вы хоть раз повышали резкость в фотографии, то заметили, что после применения фильтра Unsharpen у объекта фотографии появляются контрастные границы. Так и в дизайне, лёгкое подчёркивание границ делает дизайн резче.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Цвет&lt;/strong&gt;&lt;br /&gt;Цыетовая схема тоже может сделать дизайн резче. В данном случае я обесцветил фон, который был серо-зелёный и стал серым. В результате сейф зеленоватого цвета стал контрастнее, а вся картинка - резче.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Полировка объектов&lt;/strong&gt;&lt;br /&gt;А теперь задание для вас: пройтись по картинке и подумать, как можно сделать резче отдельные объекты, например, логотип, углы и т.д.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Обратите внимание на градиентный цвет текста. &lt;a href="http://shakin.ru/css/css-text-gradient.html"&gt;Рецепт &lt;/a&gt;очень прост: "Используется картинка в формате PNG (чистый CSS, никаких Javascript или Flash). Все, что нужно - это пустой тег &amp;lt;span&amp;gt; и фоновая картинка с CSS параметром position:absolute. Этот способ работает со следующими браузерами: Firefox, Safari, Opera и Internet Explorer 6...&lt;br /&gt;...мы просто поместим в формате PNG с градиентом (с альфа прозрачностью) над текстом."&lt;/p&gt;&lt;img src="http://shakin.ru/wp-content/uploads/2008/01/screen1.gif" /&gt; &lt;p&gt;Ключевые места выделены красным:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;h1&lt;/strong&gt;&lt;/span&gt; {&lt;br /&gt;  font: bold 330%/100% "Lucida Grande";&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;  position: relative;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;  color: #464646;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;h1 span&lt;/strong&gt;&lt;/span&gt; {&lt;br /&gt;  background: url(gradient.png) repeat-x;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;  position: absolute;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;  display: block;&lt;br /&gt;  width: 100%;&lt;br /&gt;  height: 31px;&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;Вот и все! Можете &lt;a onclick="javascript:urchinTracker('/outbound/www.webdesignerwall.com/demo/css-gradient-text/');" href="http://www.webdesignerwall.com/demo/css-gradient-text/"&gt;посмотреть демо&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Так как Internet Explorer 6 некорректно отображает PNG-24, нам нужно вставить специальный код для нормального отображения прозрачных картинок PNG в этом браузере (поместите его в любом месте между тегами &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;):&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;!--[if lt IE 7]&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;style&amp;gt;&lt;br /&gt;h1 span {&lt;br /&gt;  background: none;&lt;br /&gt;  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='gradient.png', sizingMethod='scale');&lt;br /&gt;}&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Вариант для любителей стандартов&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Если вы хотите добиться строгого соответствия веб-стандартам, используйте метод &lt;noindex&gt;&lt;a onclick="javascript:urchinTracker('/outbound/jquery.com');" href="http://jquery.com/" rel="nofollow"&gt;jQuery&lt;/a&gt;&lt;/noindex&gt;:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;script type="text/javascript" src="jquery.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;$(document).ready(function(){&lt;br /&gt;&lt;br /&gt;  //prepend span tag to H1&lt;br /&gt;  $("h1").prepend("&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;");&lt;br /&gt;&lt;br /&gt;});&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="http://shakin.ru/wp-content/uploads/2008/01/css-gradient-demo.zip"&gt;Скачать демо (zip, 51 Kb)&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Шаг 2 - Свет и тень&lt;/h2&gt;&lt;p&gt;&lt;img src="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/2.jpg" /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Градиенты и тени придают большую глубину дизайну и позволяют его элементам взаимодействовать между собой.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Градиенты, градиенты, градиенты... Можно сказать, что они являются отличительной особенностью дизайна Web 2.0. И, признаюсь, я тоже постоянно использую их в своих дизайнах. Посмотрите на картинку выше: я добавил градиентов для придания дизайну большей глубины.&lt;/p&gt;&lt;p&gt;По моему мнению, различие между печатным дизайном и веб-дизайном выражается как раз степенью глубины в дизайне. Например, печатный дизайн какой-нибудь брошюры, имеющий монотонные цвета всё равно будет выглядеть прекрасно из-за взаимодействия и отражения света от поверхности бумаги. На мониторе, однако, такой дизайн потеряет всю привлекательность. Я не хочу сказать, что вы не должны использовать монотонные цвета в веб дизайне! Но я заметил, что все дизайнеры печатных дизайнов совершают одни и те же ошибки при переходе к веб-дизайну:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Неумение передать резкость и ясность дизайна.&lt;/strong&gt;&lt;br /&gt;При печатном дизайне вы вряд ли сможете сделать зум и модифицировать какие-то отдельные пиксели. Да и в напечатанном виде это всё равно не будет заметно глазу. Печать думает сантиметрами, а не пикселями.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Неумение намекнуть на глубину и вызвать визуальный интерес.&lt;/strong&gt;&lt;br /&gt;Градиенты не очень хорошо передаются печатью, но зато на эеране - просто праздник. То же самое касается теней и подсветок. И на экране они создают интересный визуальный эффект. Например, на картинке сверху мешки денег изначально были векторными картинками, окрашенными в монотонные цвета. Однако при нанесении незначительного градиента Burn Toolo'ом, они стали выглядеть более мягко.&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;&lt;span style="color:#cc33cc;"&gt;Шаг 3 - Приоритетность&lt;/span&gt;&lt;/h2&gt;&lt;img src="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/7.jpg" /&gt; &lt;p&gt;Приоритетность - это один из важнейших визуальных аспектов информационного дизайна, поскольку веб-дизайн касается расположения и представления информации пользователю.&lt;/p&gt;&lt;p&gt;Что я подразумеваю под приоритетностью? Приоритетность - это ответ на вопрос, что пользователь будет смотреть в первую очередь, а что потом и в каком порядке. Визуальная приоритетность - это смесь различных факторов:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Размер&lt;/strong&gt;&lt;br /&gt;Очевидно, что элементы большего размера имеют приоритетность над элементами меньшего размера. Поэтому на картинке сверху сейф и заглавие будут рассматриваться в первую очередь.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Цвет&lt;/strong&gt;&lt;br /&gt;Посмотрите ещё раз картинку "До и после": там подзаголовки в области 4 (см. картинку чуть выше) были такого же тёмно синего цвета, как и "Hi there!". И поэтому между этими двумя областями не было большого различия, и было непонятно, какая из них была приоритетнее. Перекраска подзаголовков из области 4 в бежевый цвет придала им меньшую приоритетность в информационной иерархии.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Фон&lt;/strong&gt;&lt;br /&gt;Фоновый цвет и цвет вообще не имеют какого-то смысла сами по себе, но важно их взаимодействие. Например, если на странице всё в тёмных тонах, но присутствует какой-то белый объект, то, очевидно, пользователь обратит внимание на последний. На картинке ниже ясно виден котраст между светло-жёлтым и темно-серым.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Положение&lt;/strong&gt;&lt;br /&gt;Известно, что глаз просматривает область слева направо и сверху вниз. То есть элементы, расположенные вверху, имеют большую приоритетность, равно как и предметы, расположенные левее.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;img src="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/3.jpg" /&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Размер текста и цвет создаёт приоритетность между элементами дизайна. Здесь размеры и цвета заголовков были изменены для придания дизайну большей ясности.&lt;/span&gt;&lt;/p&gt;&lt;h2&gt;Шаг 4&lt;/h2&gt;&lt;img src="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/4.jpg" /&gt; &lt;p&gt;Повторю в который раз: веб-дизайн - значит, пикселы - наше всё. На картинке выше хорошо видно, что такое градиент. На самом деле там три градиента и три однопиксельных линии.&lt;/p&gt;&lt;h2&gt;Шаг 5&lt;/h2&gt;&lt;img src="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/5.jpg" /&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;1 или 2-хпиксельный переход от фона к еле заметному градиенту нынче в моде. Имейте в виду!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Что такое web 2.0-подобный дизайн? На картинке выше показан простой эффект, когда вы создаёте 1 или 2-хпиксельную рамочку и небольшой градиент на фоне. Если вы раньше этого не замечали, то сейчас понаблюдайте за новомодными дизайнами. Этот эффект используется везде, где только можно. Но он всё равно не раздражает.&lt;/p&gt;&lt;h2&gt;Шаг 6&lt;/h2&gt;&lt;img src="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/6.jpg" /&gt; &lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Коричневое на коричневом, да ещё и обильным текстом создаёт впечатление неаккуратного дизайна. Жёлтое на сером - приятный контраст и чёткость.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;На картинке выше видно, что в результате полировки может измениться даже информация на странице. Но в дизайне "до" информативный текст перегружал страницу. Поэтому в дизайне "после" он был заменен на метки контрастного цвета.&lt;/p&gt;&lt;h2&gt;Исходник дизайна (PSD-файл)&lt;/h2&gt;&lt;div style="BORDER-RIGHT: #d6d3ca 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #d6d3ca 1px solid; PADDING-LEFT: 10px; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #d6d3ca 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #d6d3ca 1px solid; BACKGROUND-COLOR: #f9f9f9; TEXT-ALIGN: center"&gt;&lt;br /&gt;&lt;a class="mylink" title="Sample PSD" href="http://s3.amazonaws.com/psdtuts/16_WebsitePolish/FinalPSD.zip"&gt;Скачать PSD исходник&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/7_28.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-8391462962192287695</guid><pubDate>Wed, 27 Feb 2008 17:15:00 +0000</pubDate><atom:updated>2008-02-28T10:04:21.474-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>теория</category><category domain='http://www.blogger.com/atom/ns#'>селектор</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Кратко о CSS селекторах (Выпуск 7)</title><description>&lt;script type="text/javascript"&lt;br /&gt;src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358833(VS.85).aspx"&gt;&lt;span style="font-size:85%;"&gt;http://msdn2.microsoft.com/en-us/library/aa358833(VS.85).aspx&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Базовый строительный блок Каскадных Таблиц Стиля (&lt;em&gt;Cascading Style Sheets&lt;/em&gt;, &lt;em&gt;CSS&lt;/em&gt;) - это правила стиля. &lt;strong&gt;Селекторы&lt;/strong&gt; используются для определения элементов HTML-страницы, к которым будет применен тот или иной стиль.&lt;/p&gt;&lt;h2&gt;Правила стиля&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Правило стиля&lt;/strong&gt; - это выражение, которое говорит браузеру, как отображать некую группу элементов на HTML-странице. Правило содержит &lt;strong&gt;селектор&lt;/strong&gt;, за которым следует &lt;strong&gt;блок декларации&lt;/strong&gt;. Блок декларации - это всё, что внутри фигурных скобок ({}). Например, следующий код модифицирует стандартное отображение HTML-элемента &lt;span style="font-family:courier new;"&gt;H1&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;span style="color:blue;"&gt;селектор  блок декларации&lt;br /&gt;--------  -----------------------------&lt;/span&gt;&lt;br /&gt;H1        { font-variant: small-caps; }&lt;span style="color:blue;"&gt;&lt;br /&gt;            ------------  ----------&lt;br /&gt;            свойство      значение &lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Как мы уже поняли &lt;a href="http://cssdhtml.blogspot.com/2008/02/css-css-zen-garden-6.html"&gt;ранее&lt;/a&gt;, декларация состоит из &lt;strong&gt;свойства&lt;/strong&gt; и его &lt;strong&gt;значения&lt;/strong&gt;, раздедённые между собой двоеточием (:). Пробелы в блоке декларации игнорируются, поэтому используйте их как вам нравится для форматирования CSS-файла. Множественные декларации внутри кривых скобок разделены между собой точкой с запятой (;). Хорошим тоном считается всегда завершать декларацию точкой с запятой, даже если декларация одна единственная.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;div&gt;&lt;script type="text/javascript"&gt;&lt;!--&lt;br /&gt;google_ad_client = "pub-5655127715755774";&lt;br /&gt;/* 300x250, created 2/28/08 */&lt;br /&gt;google_ad_slot = "5300319862";&lt;br /&gt;google_ad_width = 300;&lt;br /&gt;google_ad_height = 250;&lt;br /&gt;//--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;Дерево документа&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Дерево документа&lt;/strong&gt; - это иерархическое представление элементов, используемых при кодировке HTML-файла. Например, для HTML-кода&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;code&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;  &amp;lt;div id="content"&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;Heading here&amp;lt;/h1&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;Lorem ipsum dolor sit amet.&amp;lt;/p&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;Lorem ipsum dolor &amp;lt;em&amp;gt;sit&amp;lt;/em&amp;gt; amet.&amp;lt;/p&amp;gt;&lt;br /&gt;  &amp;lt;hr&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;div id="nav"&amp;gt;&lt;br /&gt;  &amp;lt;ul&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;item 1&amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;item 2&amp;lt;/li&amp;gt;&lt;br /&gt;      &amp;lt;li&amp;gt;item 3&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;/ul&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt; &lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;дерево документа может быть представлено так:&lt;/p&gt;&lt;p&gt;&lt;img height="160" alt="tree.gif" src="http://css.maxdesign.com.au/selectutorial/images/tree.gif" width="435" /&gt;&lt;/p&gt;&lt;p&gt;Все взаимосвязи между элементами дерева можно описать в терминах предков, потомков, родителей, детей и братьев. А именно: каждый элемент дерева, за исключением корневого &lt;span style="font-family:courier new;"&gt;body&lt;/span&gt; имеет единственного родителя. Например, у &lt;span style="font-family:courier new;"&gt;h1&lt;/span&gt; левый &lt;span style="font-family:courier new;"&gt;div&lt;/span&gt; является родителем. И наоборот, &lt;span style="font-family:courier new;"&gt;h1 &lt;/span&gt;- ребёнок для левого &lt;span style="font-family:courier new;"&gt;div&lt;/span&gt;. &lt;span style="font-family:courier new;"&gt;body&lt;/span&gt; - предок для &lt;span style="font-family:courier new;"&gt;h1&lt;/span&gt;, а &lt;span style="font-family:courier new;"&gt;h1&lt;/span&gt; - потомок для &lt;span style="font-family:courier new;"&gt;body&lt;/span&gt;. Наконец, все &lt;span style="font-family:courier new;"&gt;li&lt;/span&gt; между собой братья. Стили применяются к элементам в дереве документа на основании их типов, их относительной позиции в иерархии, а также атрибутов &lt;span style="font-family:courier new;"&gt;id&lt;/span&gt; или &lt;span style="font-family:courier new;"&gt;class&lt;/span&gt;.&lt;/p&gt;&lt;h2&gt;Селекторы и комбинаторы&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Простой селектор &lt;/strong&gt;- это типовой селектор или универсальный селектор. &lt;strong&gt;Типовой селектор&lt;/strong&gt; определяет любой HTML-элемент (например, см. &lt;a href="http://cssdhtml.blogspot.com/2008/02/css-css-zen-garden-6.html"&gt;CSS файл для ZenGarden&lt;/a&gt;). &lt;strong&gt;Универсальный селектор&lt;/strong&gt; обозначается символом "звёздочка" (*) и определяет любой элемент в документе.&lt;/p&gt;&lt;p&gt;Простой селектор может быть расширен атрибутами &lt;span style="font-family:courier new;"&gt;id&lt;/span&gt; или &lt;span style="font-family:courier new;"&gt;class&lt;/span&gt;, а также псевдо-классами в любом порядке. Правило стиля применяется, если данный элемент попадает под определение селектора. Примеры селекторов:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;H1           { color:blue; } - заголовок первого уровня&lt;br /&gt;                               будет синего цвета&lt;br /&gt;#myID        { color:red; } - элемент с id="myID"&lt;br /&gt;                              будет красного цвета&lt;br /&gt;#myID:hover  { color: orange; } - элемент с id="myID"&lt;br /&gt;                                  будет оранжевого цвета,&lt;br /&gt;                                  если на него навести курсор мышки&lt;br /&gt;P.myClass    { color:green; } - элемент p с class="myClass"&lt;br /&gt;                                будет иметь текст зелёного цвета&lt;br /&gt;P.myClass:hover { text-decoration:underline; } - элемент p с class="myClass"&lt;br /&gt;                                будет иметь подчёркнутый текст ,&lt;br /&gt;                                если на него навести курсор мышки &lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Простые селекторы могут быть составлены в &lt;strong&gt;комбинацию селекторов&lt;/strong&gt; при помощи &lt;strong&gt;комбинационных символов&lt;/strong&gt; (комбинаторов). Комбинаторы специфицируют контекстуальные отношения между простыми селекторами и бывают &lt;a href="http://msdn2.microsoft.com/en-us/library/aa358821(VS.85).aspx"&gt;потомками&lt;/a&gt; (пробел между селекторами), &lt;a href="http://msdn2.microsoft.com/en-us/library/aa358819(VS.85).aspx"&gt;детьми&lt;/a&gt; (знак "больше" (&gt;)) и &lt;a href="http://msdn2.microsoft.com/en-us/library/aa358818(VS.85).aspx"&gt;непосредственными братьями&lt;/a&gt; (знак "плюс" (+)). Например следующий код говорит, что тэг &lt;span style="font-family:courier new;"&gt;h2&lt;/span&gt;, являющийся непосредственным братом тэга &lt;span style="font-family:courier new;"&gt;h1&lt;/span&gt; в дереве документа должен располагаться на 5 милиметров ближе к &lt;span style="font-family:courier new;"&gt;h1&lt;/span&gt;:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;H1 + H2 { margin-top: -5mm; }&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Для оптимизации размера и читаемости CSS файла, элементы, имеющие один и тот же стиль, перечисляются через запятую, то есть &lt;strong&gt;группируются&lt;/strong&gt;. Например:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;H1, H2, H3 { font-family: helvetica; }&lt;/pre&gt;&lt;/code&gt;&lt;h2&gt;Псевдо-классы и псевдо-элементы&lt;/h2&gt;&lt;p&gt;Как уже было сказано выше, стили применяются к элементам согласно их позиции в дереве документа. Однако иногда необходимо применить особенный стиль к фрагменту HTML-документа, который невозможно распознать в дереве документа. И для стилизирования такой информации применяются &lt;strong&gt;псевдо-классы&lt;/strong&gt; и &lt;strong&gt;псевдо-элементы&lt;/strong&gt;. Псевдо-элементы применяются для определения стилей фрагментов элементов. Например, &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530753(VS.85).aspx"&gt;:first-letter&lt;/a&gt; или &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530754(VS.85).aspx"&gt;:first-line&lt;/a&gt;, то есть первая буква и первая строка текста соответсвенно. А псевдо-классы - для поведения элементов. Например, &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530712(VS.85).aspx"&gt;:first-child&lt;/a&gt;, &lt;a href="http://msdn2.microsoft.com/en-us/library/ms531181(VS.85).aspx"&gt;:visited&lt;/a&gt; или &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530766(VS.85).aspx"&gt;:hover&lt;/a&gt; определяющие соответсвенно первого ребёнка, посещённую ссылку или поведение при наведении курсора мышки на элемент. Обычно псевдо-классы имеют динамическую природу в том смысле, что элемент приобретает и теряет стили в процессе взаимодействия пользователя со страницей.&lt;/p&gt;&lt;p&gt;При комбинировании селекторов типовые селекторы всегда должны быть раньше псевдо-элементов. Друние селекторы (&lt;span style="font-family:courier new;"&gt;id&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;class&lt;/span&gt; или псевдо-классы) могут встречаться в любом порядке.&lt;/p&gt;&lt;code&gt;&lt;pre&gt;P:first-child:first-line { text-transform: uppercase; }&lt;/pre&gt;&lt;/code&gt;&lt;h2&gt;Поддержка селекторов в Internet Explorer&lt;/h2&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Простые селекторы&lt;/th&gt;&lt;th&gt;Версия Internet Explorer&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358830(VS.85).aspx"&gt;Тип&lt;/a&gt;, Группировка&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358820(VS.85).aspx"&gt;Class&lt;/a&gt;, &lt;a href="http://msdn2.microsoft.com/en-us/library/aa358826(VS.85).aspx"&gt;ID&lt;/a&gt;&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358831(VS.85).aspx"&gt;Universal (*)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;5.0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Комбинаторы&lt;/th&gt;&lt;td&gt;&lt;!----&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358821(VS.85).aspx"&gt;Descendant ( )&lt;/a&gt;&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358819(VS.85).aspx"&gt;Child (&amp;gt;)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358818(VS.85).aspx"&gt;Adjacent Sibling (+)&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Селекторы-аттрибуты&lt;/th&gt;&lt;td&gt;&lt;!----&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358822(VS.85).aspx"&gt;Equality [=]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358823(VS.85).aspx"&gt;Existence []&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358825(VS.85).aspx"&gt;Hyphen [=]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358827(VS.85).aspx"&gt;Prefix [^=]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358828(VS.85).aspx"&gt;Substring [*=]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358829(VS.85).aspx"&gt;Suffix [$=]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa358832(VS.85).aspx"&gt;Whitespace [~=]&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Псевдо-классы и псевдо-элементы&lt;/th&gt;&lt;td&gt;&lt;!----&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms530787(VS.85).aspx"&gt;:link&lt;/a&gt;, &lt;a href="http://msdn2.microsoft.com/en-us/library/ms531181(VS.85).aspx"&gt;:visited&lt;/a&gt;&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms530766(VS.85).aspx"&gt;:hover&lt;/a&gt;†, &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530714(VS.85).aspx"&gt;:active&lt;/a&gt;&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms530753(VS.85).aspx"&gt;:first-letter&lt;/a&gt;, &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530754(VS.85).aspx"&gt;:first-line&lt;/a&gt;&lt;/td&gt;&lt;td&gt;5.5&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms530712(VS.85).aspx"&gt;:first-child&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;† Применимость селектора &lt;b&gt;:hover&lt;/b&gt; была рапространена на все элементы лишь в Windows Internet Explorer 7. &lt;/p&gt;&lt;h2&gt;Дополнительные ссылки&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.w3.org/tr/css21"&gt;Cascading Style Sheets, Level 2.1 (CSS2.1)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms530711(VS.85).aspx"&gt;Managing Style Sheets&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://css.maxdesign.com.au/selectutorial/"&gt;Selectutorial&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gallery.theopalgroup.com/selectoracle/"&gt;Selectoracle&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jigsaw.w3.org/css-validator/"&gt;The W3C CSS Validation Service&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/css-7.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-1861779433206946455</guid><pubDate>Wed, 27 Feb 2008 15:54:00 +0000</pubDate><atom:updated>2008-02-28T09:51:26.806-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>keystroke</category><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>клавиатура</category><category domain='http://www.blogger.com/atom/ns#'>dynduo</category><category domain='http://www.blogger.com/atom/ns#'>движение</category><title>Передвижение элементов при помощи клавиатуры (Выпуск 7)</title><description>&lt;p&gt;Напоминаю, что в выпуске &lt;a href="http://cssdhtml.blogspot.com/2008/02/6-13.html"&gt;Реакция на клавиатуру&lt;/a&gt;, я показала базовые функции перехвата нажатий клавиш клавиатуры. Сейчас мы рассмотрим, как можно активизировать движение элементов при помощи клавиатуры. Идея проста: вы перехватываете нажатие какой-то клавиши и для неё вызываете соответствующий обработчик. В следующем фрагменте кода мы реализуем эту идею на примере клавиши "А", которая в Internet Explorer'е имеет код (&lt;span style="font-family:courier new;"&gt;ieKey&lt;/span&gt;) 65, а в Netscape (&lt;span style="font-family:courier new;"&gt;nKey&lt;/span&gt;) 97 соответственно.&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function init() {&lt;br /&gt; if (ns4) block = document.blockDiv&lt;br /&gt; if (ie4) block = blockDiv.style&lt;br /&gt; block.xpos = parseInt(block.left)&lt;br /&gt;&lt;br /&gt; document.onkeydown = keyDown&lt;br /&gt; if (ns4) document.captureEvents(Event.KEYDOWN)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function keyDown(e) {&lt;br /&gt; if (ns4) {var nKey=e.which; var ieKey=0}&lt;br /&gt; if (ie4) {var ieKey=event.keyCode; var nKey=0}&lt;br /&gt; if (nKey==97  ieKey==65) {   // if "A" key is pressed&lt;br /&gt;  slide()&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function slide() {&lt;br /&gt; block.xpos += 5&lt;br /&gt; block.left = block.xpos&lt;br /&gt; status = block.xpos       // not needed, just for show&lt;br /&gt; setTimeout("slide()",30)&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/keystrokes-slide1.html"&gt;Пример функционирования кода&lt;/a&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;h2&gt;Активные переменные&lt;/h2&gt;&lt;p&gt;Предыдущий скрипт слегка ограничен в том смысле, что как только движение начинается, мы не можем остановить его. И сейчас мы это исправим.&lt;/p&gt;&lt;p&gt;Мы будем использовать технику "активных" переменных, для кодирования состояния движения. Это движется? Или это не движется? Поскольку функции, имплементирующие движение, рекурсивны, они не обладают внутренними средствами для прерывания движения. И тут на сцену выходят активные переменные. Вставив в нужном месте &lt;span style="font-family:courier new;"&gt;if&lt;/span&gt;, вы обретаете контроль над движением объекта и решаете, должен ли он остановиться или продолжать движение. При этом функция будет выглядеть так:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function slide() {&lt;br /&gt; if (myobj.active) {&lt;br /&gt;  myobj.xpos += 5&lt;br /&gt;  myojb.left = myobj.xpos&lt;br /&gt;  setTimeout("slide()",30)&lt;br /&gt; }&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В этом случае функция &lt;span style="font-family:courier new;"&gt;slide() &lt;/span&gt;будет действовать до тех пор, пока &lt;span style="font-family:courier new;"&gt;myobj.active=true&lt;/span&gt;. А как только вы установите &lt;span style="font-family:courier new;"&gt;myobj.active=false&lt;/span&gt;, движение прекратится. Используя этот приём, мы сейчас напишем код, который запускает движение красного блока при нажатии клавиши "А". Движение прекращается, когда мы отпускаем клавишу "А".&lt;/p&gt;&lt;h2&gt;Отжатие клавиши и активные переменные&lt;/h2&gt;&lt;p&gt;Обработчик на отжатие клавиши имплементируется аналогичным образом, как и обработчик нажатия клавиши. Вы можете инициализировать их оба следующим образом:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;document.onkeydown = keyDown&lt;br /&gt;document.onkeyup = keyUp&lt;br /&gt;if (ns4) document.captureEvents(Event.KEYDOWN  Event.KEYUP)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;А вот собственно и &lt;span style="font-family:courier new;"&gt;keyUp()&lt;/span&gt;:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function keyUp(e) {&lt;br /&gt; if (ns4) var nKey = e.which&lt;br /&gt; if (ie4) var ieKey = window.event.keyCode&lt;br /&gt; if (nKey==97  ieKey==65) block.active = false&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Чтобы наш код был совсем уж правильным и безошибочным, мы должны добавить кое-какие строчки и в другие функции. Забегая вперёд, в нижеследующем коде для функции &lt;span style="font-family:courier new;"&gt;keyDown&lt;/span&gt; выражение &lt;span style="font-family:courier new;"&gt;&lt;strong&gt;&amp;amp;&amp;amp;!block.active&lt;/strong&gt;&lt;/span&gt; используется для того, чтобы вызвать движение объекта только если он не двигается. То есть если объект движется, функция &lt;span style="font-family:courier new;"&gt;slide()&lt;/span&gt; не может быть выполнена.&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function init() {&lt;br /&gt; if (ns4) block = document.blockDiv&lt;br /&gt; if (ie4) block = blockDiv.style&lt;br /&gt; block.xpos = parseInt(block.left)&lt;br /&gt; block.active = false&lt;br /&gt;&lt;br /&gt; document.onkeydown = keyDown&lt;br /&gt; document.onkeyup = keyUp&lt;br /&gt; if (ns4) document.captureEvents(Event.KEYDOWN  Event.KEYUP)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function keyDown(e) {&lt;br /&gt; if (ns4) {var nKey=e.which; var ieKey=0}&lt;br /&gt; if (ie4) {var ieKey=event.keyCode; var nKey=0}&lt;br /&gt; if ((nKey==97  ieKey==65) &amp;amp;&amp;amp; !block.active) {   // if "A" key is pressed&lt;br /&gt;  block.active = true&lt;br /&gt;  slide()&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;function keyUp(e) {&lt;br /&gt; if (ns4) {var nKey=e.which; var ieKey=0}&lt;br /&gt; if (ie4) {var ieKey=event.keyCode; var nKey=0}&lt;br /&gt; if (nKey==97  ieKey==65) {&lt;br /&gt;  block.active = false   // if "A" key is released&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function slide() {&lt;br /&gt; if (block.active) {&lt;br /&gt;  block.xpos += 5&lt;br /&gt;  block.left = block.xpos&lt;br /&gt;  status = block.xpos       // not needed, just for show&lt;br /&gt;  setTimeout("slide()",30)&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/keystrokes-slide2.html"&gt;Пример действия кода&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Как узнать код клавиши?&lt;/h2&gt;&lt;p&gt;Воспользуйтесь скриптом для &lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/keystrokes-box.html"&gt;определения nKey и ieKey&lt;/a&gt;. Вот полный листинг HTML файла и скрипта для такой странички:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;script language="JavaScript"&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;ns4 = (document.layers)? true:false&lt;br /&gt;ie4 = (document.all)? true:false&lt;br /&gt;function keyDown(e) { &lt;br /&gt;     if (ns4) {  &lt;br /&gt;          var nKey = e.which  &lt;br /&gt;          document.keyform.keytext.value = "nKey=" + nKey &lt;br /&gt;     } &lt;br /&gt;     if (ie4) {  &lt;br /&gt;          var ieKey = event.keyCode  &lt;br /&gt;          document.keyform.keytext.value = "ieKey=" + ieKey &lt;br /&gt;     }&lt;br /&gt;}&lt;br /&gt;document.onkeydown = keyDown&lt;br /&gt;if (ns4) document.captureEvents(Event.KEYDOWN)  //--&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body BGCOLOR="#FFFFFF"&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;Here's a little tool for finding out what the nKey and ieKeys are.&lt;br /&gt;&amp;lt;br&amp;gt;Use Netscape 4.0 and it'll show the nKey, use IE 4.0 and it'll show the ieKey&lt;br /&gt;&amp;lt;form name="keyform"&amp;gt;&lt;br /&gt;&amp;lt;input size="12" value="Press a key" name="keytext"&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Теперь вы можете создавать свои JavaScript игры, примеры которых можно найти в гугле по запросу &lt;a href="http://www.google.com/search?hl=ru&amp;amp;q=javascript+game&amp;amp;lr"&gt;http://www.google.com/search?hl=ru&amp;amp;q=javascript+game&amp;amp;lr=&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/keystrokes.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/keystrokes.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/7.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-2027327398680553711</guid><pubDate>Mon, 18 Feb 2008 15:52:00 +0000</pubDate><atom:updated>2008-03-06T05:15:54.284-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>теория</category><category domain='http://www.blogger.com/atom/ns#'>psdtuts</category><category domain='http://www.blogger.com/atom/ns#'>дизайн</category><title>9 принципов хорошего дизайна (Выпуск 6)</title><description>&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://psdtuts.com/designing-tutorials/9-essential-principles-for-good-web-design/"&gt;&lt;span style="font-size:85%;"&gt;http://psdtuts.com/designing-tutorials/9-essential-principles-for-good-web-design/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Приоритетность (направляющая взгляд).&lt;/strong&gt;&lt;br /&gt;Хороший веб-дизайн, как никакой другой дизайн, ориентирован на эффективное приподнесение информации. Главный инструмент в арсенале веб-дизайнера - &lt;strong&gt;приоритетность&lt;/strong&gt;. При хорошем дизайне, пользователя ведёт по экрану дизайнер. И речь здесь идёт о том, каким визуальным весом обладают различные части дизайна.&lt;br /&gt;&lt;br /&gt;Самый простой пример приоритетности, который можно увидеть в большинстве сайтов, - это логотип. Обычно логотип достаточно большой и помещается именно в то место, которое психологические исследования обозначили, как первое, на которое люди смотрят первым делом на веб-странице, - &lt;strong&gt;левый верхний угол&lt;/strong&gt;. И если вы поместите логотип вашего сайта в левый верхний угол, то поступите правильно, ибо пользователь вашего сайта хочет всегда чётко знать, где он находится.&lt;br /&gt;&lt;br /&gt;Но приоритетность - это более широкое понятие. Вы должны уметь провести пользователя через последовательность шагов. Например, вы хотите, чтобы пользователь с логотипа переместился на краткое описание сайта, потом на картинку, потом на текст, затем на навигационное меню и боковой текст, выражающий вторичную идею сайта. То, на что посмотрит пользователь, зависит от вас, как от веб-дизайнера.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Для достижения приоритетности, в вашем распорядении множество инструментов:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Расположение &lt;/strong&gt;информационных блоков на странице непосредственным образов воздействует на порядок их просмотра.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Цвет: &lt;/strong&gt;жирные и тонкие шрифты - простой способ указать пользователю, на что смотреть.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Контраст:&lt;/strong&gt; контрастные вещи выделяются, а однотипные подразумевают вторичность.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Размер: &lt;/strong&gt;большое имеет &lt;strong&gt;преимущество&lt;/strong&gt; над маленьким (если только вы не решили сделать ВСЁ большим, а с помощью маленького - лишь подчёркивать контрастность).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Элементы дизайна:&lt;/strong&gt; если на странице присутствует гигантская стрелка, указываюшая куда-то, угадайте, куда посмотрить пользователь.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Пространство&lt;/strong&gt;&lt;br /&gt;Когда я только занялся сайтостроительством, то стремился заполнить чем-нибудь каждый свободный кусочек страницы. Пустое пространство казалось транжирством. В действительности же всё совсем наоборот. Пространство делает информацию яснее. И в вед-дизайне существуют три аспекта пространства, которые необходимо принять во внимание:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Пространство между строками&lt;/strong&gt;&lt;br /&gt;Пространство между строками влияет на читаемость текста. Слишком мало - и вы легко можете перскакивать с одной строчки на другую, даже когда это не нужно. Слишком много - и после прочтения строчки взгляду будет нелегко найти следующую строку. Истина, как всегда, где-то посредине. Расстояние между строками в CSS контролируется параметром &lt;strong&gt;&lt;em&gt;line-height&lt;/em&gt;&lt;/strong&gt;. И, честно говоря, значение по умолчанию для этого параметра мне кажется маловатым. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Padding&lt;/strong&gt;&lt;br /&gt;Говоря по-простому, текст никогда не должен касаться других элементов. Картинки не должны касаться текста, или границ таблиц и т.д. В качестве главного правила запомните, что пробелы между текстом и другими элементами делают информацию значительно более читаемой. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Пространство белого цвета&lt;/strong&gt;&lt;br /&gt;Говоря пространство белого цвета, я не имею в виду #ffffff. Этот аспект касается прежде всего пустого пространства на странице (&lt;em&gt;негативное пространство&lt;/em&gt;, иными словами). Пространство белого цвета используется для придания странице баланса, контраста и пропорций. &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Навигация&lt;/strong&gt;&lt;br /&gt;Пользователь всегда должен знать своё расположение на сайте. Для создания навигации примите во внимание два аспекта:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Где я сейчас? &lt;/strong&gt;Кнопки навигации должны располагаться в видимом месте (обычно в верзней панели страницы). Они должны выглядеть, как кнопки навигации, и надписи на них должны быть легко читаемыми. Навигация, кроме того, должна быть со смыслом. Например, если вы используете выпадающее меню, то следите за тем, чтобы динамическая часть не выпала за границы экрана, потеряв часть навигации. А если вы ещё и будете изменять цвет пункта меню по приближению к нему мышки, пользователь будет рад ещё больше.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Куда я могу пойти? &lt;/strong&gt;Существует множество способов сообщить пользователю его местоположение на сайте. Поэтому просто непростительно не сделать этого. На небольших сайтах это могут быть просто большие заголовки. На больших сайтах вы можете отобразить &lt;a href="http://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D0%B2%D0%B8%D0%B3%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%86%D0%B5%D0%BF%D0%BE%D1%87%D0%BA%D0%B0" target="_blank"&gt;навигационную цепочку&lt;/a&gt; в верхней части страницы.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Рентабельность дизайна&lt;/strong&gt;&lt;br /&gt;Жизнь дизайнера упростилась с изобретением CSS. Но всё ещё важными остаются следующие аспекты:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Это вообще можно сделать?&lt;/strong&gt; Вы можете выбрать расчудесный шрифт для содержимого страницы, но это стандартный HTML шрифт? Ваш дизайн может чудесно выглядеть приширине 1100 пикселов, но эта ширина почти всегда является причиной горизонтальной прокрутки, которая не нравится пользователям.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Что случится, если уменьшить окошко браузера?&lt;/strong&gt; Что случится с повторяющимися фоновыми картинками? Как выровняется текст: по центру или слева?&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Вы имеете дело с чем-то технически трудным? &lt;/strong&gt;Даже с CSS некоторые вещи, например, вертикальное выравнивание, могут быть достаточно трудоёмкими.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Можно ли упростить работу, слегка видоизменив дизайн? &lt;/strong&gt;Если на странице три абсолютно непересекающихся объекта, то, конечно, программирование такого дизайна будет очень простым. А если все три объекта пересекаются, то программировать CSS файл будет сложнее.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Можно ли сократить работу для большого сайта?&lt;/strong&gt; Можно, конечно, любую кнопочку иллюстрировать картинкой. А можно акцентировать контрастность при помощи CSS, хотя это и не будет так ярко (а может, это и к лучшему).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Типография&lt;/strong&gt;&lt;br /&gt;Текст - это самый распространнёный элемент на странице. Поэтому обратим внимание на следующие аспекты: &lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Выбор шрифта&lt;/strong&gt; - шрифт может много сказать о сайте. Некоторые шрифты выглядят современно, а некоторые - как в старинных книгах. Убедитесь в том, что используемый вами шрифт гармонирует с тематикой сайта. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Размер шрифта&lt;/strong&gt; - несколько лет назад было модно использовать малюсенькие шрифты. К счастью, современные дизайнеры вдруг осознали, что текст существует для того, чтоб его читали. Убедитесь, что размер вашего шрифта читаем, а заголовки и подзаголовки отличаются от обычного текста, чтобы структурировать содержимое.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Пространство&lt;/strong&gt;, как уже обсуждалось чуть выше, очень важно не только между строками, но и вообще между любыми элементами страницы.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Длина строки&lt;/strong&gt; - здесь нету каких-то жёстких правил. Запомните лишь, что чем длиннее строка, тем сложнее она читается. Посмотрите, в книгах ширина текста где-то 12-15 см. В газетах текст разбивается на колонки.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Цвет&lt;/strong&gt; - низкоконтрастный цвет текста - это модно и привлекательно, но трудночитаемо.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Абзацы - &lt;/strong&gt;выравнивание текста по обеим сторонам - это красиво и удобно для чтения. Но автовыравнивание иногда создаёт нелепые пробелы между словами. Редактируйте ваш текст так, чтобы он удачно вписывался в отводимое ему пространство.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Юзабилити&lt;/strong&gt;&lt;br /&gt;По-русски это модное слово переводится как "удобство использования". Веб-дизайн - это не только красивые картинки, но и эффективность подачи информации, а также интерактивность. Это означает, что вы должны сделать ваш сайт используемым. Мы уже обсудили некоторые аспекты удобства использования: навигация, приоритетность, текст. Вот ещё три важных аспекта:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Соответствие стандартам&lt;/strong&gt;, то есть оформление страницы привычным образом: если текст подчёркнут, то большинство пользователей подумает, что это ссылка. Подчёркивание текста ради подчёркивания - плохая практика. Конечно, можно нарушать принятые правила, но важно не перестараться.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Посмотрите на сайт пользовательским взглядом&lt;/strong&gt;, для этого достаточно потестировать прототип вашего сайта. Программирование дизайнерских фишек и их использование - большая разница.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Побудьте в шкуре пользователя.&lt;/strong&gt; Что пользователь может захотеть увидеть на сайте? Куда он захочет перейти? Какие операции он захочет выполнить?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Выравнивание&lt;/strong&gt;&lt;br /&gt;Элементы на страницы должны быть выровнены так, как будто вы собираетесь отдать эту страницу в печать. Не нужо &lt;em&gt;всё&lt;/em&gt; выравнивать в одну линию, но всё вместе должно выглядеть причёсанным. Выравнивание делает страницу упорядоченной и отполированной. Вы также можете наложить ваш дизайн на какую-нибудь &lt;a href="http://www.designbygrid.com/" target="_blank"&gt;сетку&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Ясность (резкость)&lt;/strong&gt;&lt;br /&gt;Поддержание ясности и резкости дизайна - супер-важно. И речь здесь идёт о пикселях, в том числе и на картинках. Подредактируйте картинки в фотошопе, сделайте их резче и контрастнее.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Непротиворечивость&lt;/strong&gt;&lt;br /&gt;Непротиворечивость означает, что всё должно быть согласовано между собой. Размеры заголовков, шрифты, цветовая гамма, кнопки, пробелы, элементы дизайна, стиль иллюстраций... Всё должно представлять собой единую когерентную тему как между всеми страницами, так и на отдельно взятой странице.&lt;br /&gt;&lt;br /&gt;Даже если это плохой дизайн, сделайте его непротиворечивым. Противоречивый дизайн - это как опечатки, портит сразу всё впечатление.&lt;br /&gt;&lt;br /&gt;Самый просто способ сделать дизайн непротиворечивым - заранее обдумать его и придерживаться задумки. Хотя для процесса разработки больших сайтов этот совет и не подходит. Поэтому скажу так: сделайте единый CSS стиль для всего сайта и примените его на всех страницах. Очень важно определит непротиворечивые стили для тэгов h1 и р так, чтобы вам не приходилось мучительно долго вспоминать стили их специфических классов.&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/9.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-8190894983506086689</guid><pubDate>Mon, 18 Feb 2008 15:11:00 +0000</pubDate><atom:updated>2008-02-18T07:18:05.277-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>zengarden</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Стандартный CSS-файл для CSS Zen Garden (Выпуск 6)</title><description>&lt;p&gt;Напоминаю, что &lt;a href="http://cssdhtml.blogspot.com/2008/02/5-2.html"&gt;ранее&lt;/a&gt; мы рассмотрели &lt;a href="http://www.csszengarden.com/zengarden-sample.html"&gt;HTML-разметку&lt;/a&gt; сайта &lt;a href="http://www.csszengarden.com/"&gt;http://www.csszengarden.com/&lt;/a&gt;. Сегодня мы познакомимся с его стандартным &lt;a href="http://www.csszengarden.com/zengarden-sample.css"&gt;CSS-стилем&lt;/a&gt;, который из &lt;a href="http://www.csszengarden.com/zengarden-sample.html" target="_blank"&gt;примитивной HTML-разметки&lt;/a&gt; создает, как по мановению волшебной палочки, &lt;a href="http://www.csszengarden.com/" target="_blank"&gt;прекрасный сайт&lt;/a&gt;. Буду рассказывать так подробно, насколько это возможно, поскольку рассылку могут читать люди, которые только-только занялись сайтостроительством. Хотя предполагается, что базовые HTML-тэги все знают :).&lt;/p&gt;&lt;p&gt;Пропуская коментарии, первым делом мы видим стили базовых элементов:&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;code&gt;&lt;pre&gt;html {&lt;br /&gt; margin: 0;&lt;br /&gt; padding: 0;&lt;br /&gt;}&lt;br /&gt;body {&lt;br /&gt; font: 75% georgia, sans-serif;&lt;br /&gt; line-height: 1.88889;&lt;br /&gt; color: #555753;&lt;br /&gt; background: #fff url(blossoms.jpg) no-repeat bottom right;&lt;br /&gt; margin: 0;&lt;br /&gt; padding: 0;&lt;br /&gt;}&lt;br /&gt;p {&lt;br /&gt; margin-top: 0;&lt;br /&gt; text-align: justify;&lt;br /&gt;}&lt;br /&gt;h3 {&lt;br /&gt; font: italic normal 1.4em georgia, sans-serif;&lt;br /&gt; letter-spacing: 1px;&lt;br /&gt; margin-bottom: 0;&lt;br /&gt; color: #7D775C;&lt;br /&gt;}&lt;br /&gt;a:link {&lt;br /&gt; font-weight: bold;&lt;br /&gt; text-decoration: none;&lt;br /&gt; color: #B7A5DF;&lt;br /&gt;}&lt;br /&gt;a:visited {&lt;br /&gt; font-weight: bold;&lt;br /&gt; text-decoration: none;&lt;br /&gt; color: #D4CDDC;&lt;br /&gt;}&lt;br /&gt;a:hover, a:active {&lt;br /&gt; text-decoration: underline;&lt;br /&gt; color: #9685BA;&lt;br /&gt;}&lt;br /&gt;acronym {&lt;br /&gt; border-bottom: none;&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Напоминаю, стиль какого либо параметра описывается в формате: &lt;strong&gt;&lt;em&gt;параметр: стиль;&lt;/em&gt;&lt;/strong&gt;. При этом полное описание стиля элемента (HTML-тэга, например) задаётся синтаксисом: &lt;strong&gt;&lt;em&gt;элемент{параметр&lt;sub&gt;1&lt;/sub&gt;: стиль&lt;sub&gt;1&lt;/sub&gt;; параметр&lt;sub&gt;2&lt;/sub&gt;: стиль&lt;sub&gt;2&lt;/sub&gt;;...}&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Далее, каждый элемент представляет собой некий кирпичик, у которого есть границы и содержимое.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;margin&lt;/em&gt;&lt;/strong&gt; - это пространство вокруг границ элемента. Полное описание параметра margin находится по адресу: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530799(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms530799(VS.85).aspx&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;padding&lt;/em&gt;&lt;/strong&gt; - это пространство между границами элемента и содержательной частью элемента (аналог &lt;em&gt;пробела&lt;/em&gt;, если говорить в терминах текста). Полное описание параметра margin находится по адресу: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530830(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms530830(VS.85).aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Как вы поняли, у элементов &lt;em&gt;&lt;strong&gt;html &lt;/strong&gt;&lt;/em&gt;и&lt;em&gt;&lt;strong&gt; body &lt;/strong&gt;&lt;/em&gt;оба эти параметра установлены в ноль, то есть ни отступов, ни пробелов.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;color&lt;/em&gt;&lt;/strong&gt; - это цвет элемента. Полное описание параметра &lt;strong&gt;&lt;em&gt;color&lt;/em&gt;&lt;/strong&gt; находится по адресу: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530749(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms530749(VS.85).aspx&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;background &lt;/em&gt;&lt;/strong&gt;- это описание фона элемента внутри границ. Полное описание параметра &lt;strong&gt;&lt;em&gt;background &lt;/em&gt;&lt;/strong&gt;находится по адресу: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530722(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms530722(VS.85).aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;То есть в теле документа текст имеет цвет &lt;span style="color:#555753;"&gt;#555753&lt;/span&gt; и фон - некий рисунок blossom.jpg, который помещается лишь единожды (no repeat) в правый нижний угол (bottom right). Если же картинки в браузере отключены, то фон будет просто белым (#fff). &lt;/p&gt;&lt;p&gt;У текстовых элементов можно варьировать стиль шрифта при помощи параметра &lt;strong&gt;&lt;em&gt;font&lt;/em&gt;&lt;/strong&gt;, полное описание которого находится по адресу: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms530756(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms530756(VS.85).aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;В частности, в теле элемента мы будем иметь текст Georgia или Sanserif (если Georgia не установлен на компьютере) в 75% размере от стандартного.&lt;/p&gt;&lt;p&gt;Завершаем стиль элемента &lt;strong&gt;&lt;em&gt;body&lt;/em&gt;&lt;/strong&gt; параметром &lt;strong&gt;&lt;em&gt;line-height&lt;/em&gt;&lt;/strong&gt;, который устанавливает расстояние между строками (&lt;a href="http://msdn2.microsoft.com/en-us/library/ms530784(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms530784(VS.85).aspx&lt;/a&gt;). Отсутствие единиц измерения (сантиметры, дюймы и т.д. &lt;a href="http://msdn2.microsoft.com/en-us/library/ms531211(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms531211(VS.85).aspx&lt;/a&gt;) говорит о единице измерения по умолчанию, px (пиксели).&lt;/p&gt;&lt;p&gt;Для стандартного HTML абзаца (элемент &lt;strong&gt;&lt;em&gt;р&lt;/em&gt;&lt;/strong&gt;) все параметры &lt;strong&gt;&lt;em&gt;body &lt;/em&gt;&lt;/strong&gt;&lt;u&gt;наследуются&lt;/u&gt; (&lt;a href="http://msdn2.microsoft.com/en-us/library/ms531429(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms531429(VS.85).aspx&lt;/a&gt;), плюс добавляется выравнивание текста слева и справа: &lt;strong&gt;&lt;em&gt;text-align: justify;&lt;/em&gt;&lt;/strong&gt; Подробнее про выравнивание текста ситайте по адресу: &lt;a href="http://msdn2.microsoft.com/en-us/library/ms531162(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms531162(VS.85).aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Далее идут более сложные выражения для элементов, которые называются &lt;strong&gt;селекторы&lt;/strong&gt; и о них мы поговорим в следующий раз и закончим разбор стилей для основных элементов в стандартном CSS- файле для CSS Zen Garden. А пока что поэкспериментируйте со стилями других элементов. Рекомендую обращаться к справочнику по стилям для HTML элементов, находящемуся по адресу &lt;a href="http://msdn2.microsoft.com/en-us/library/ms533054(VS.85).aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms533054(VS.85).aspx&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/css-css-zen-garden-6.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-3743548202765680070</guid><pubDate>Mon, 18 Feb 2008 15:05:00 +0000</pubDate><atom:updated>2008-02-18T07:09:29.819-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>keystroke</category><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>клавиатура</category><category domain='http://www.blogger.com/atom/ns#'>dynduo</category><title>Реакция на клавиатуру (Выпуск 6)</title><description>&lt;p&gt;А вы знаете, что с помощью DHTML можно контролировать практически полностью нажатия клавиш клавиатуры? &lt;strong&gt;Внимание, Netscape Communicator 4.0 не обладает возможностью перехватывать события нажатия клавиши под Unix'ом.&lt;/strong&gt;&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;Первое, что вам нужно сделать, - это инициализировать событие. Вот типичная инициализация события &lt;strong&gt;&lt;em&gt;keydown&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;&lt;code&gt;document.onkeydown = keyDown&lt;/code&gt;&lt;br /&gt;&lt;p&gt;Когда браузер прочитает эту строку, то приготовится к тому, что при любом нажатии на клавишу функция &lt;em&gt;&lt;strong&gt;keyDown() &lt;/strong&gt;&lt;/em&gt;должна быть вызвана. Название &lt;strong&gt;&lt;em&gt;keyDown() &lt;/em&gt;&lt;/strong&gt;вы можете переименовать по вашему усмотрению.&lt;/p&gt;&lt;p&gt;Обработка нажатий клавиш в разных браузерах происходит по-разному.&lt;/p&gt;&lt;h3&gt;Netscape&lt;/h3&gt;&lt;p&gt;Для Нетскейпа нужно добавить вот такие строки:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;document.onkeydown = keyDown&lt;br /&gt;if (ns4) document.captureEvents(Event.KEYDOWN)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Если вы забудете прописать этот код, то можете получить путаницу при нажатиях клавиш клавиатуры и мышки. При этом в ваш &lt;em&gt;&lt;strong&gt;keyDown() &lt;/strong&gt;&lt;/em&gt;должен передаваться скрытый параметр, в нашем примере - буква &lt;strong&gt;&lt;em&gt;е&lt;/em&gt;&lt;/strong&gt;, как распространённая практика обозначения события (&lt;em&gt;event&lt;/em&gt;).&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function keyDown(e)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Эта буква &lt;strong&gt;&lt;em&gt;е&lt;/em&gt;&lt;/strong&gt; содержит информацию о том, какая клавиша была нажата. Чтобы получить доступ к этой информации, используйте свойство &lt;em&gt;&lt;strong&gt;which&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;e.which&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Заметьте, что значение свойства &lt;em&gt;&lt;strong&gt;which &lt;/strong&gt;&lt;/em&gt;- это информация о &lt;strong&gt;коде &lt;/strong&gt;клавиши, а не её буквенное или численное значение! Для того, чтобы получить буквенное или численное значение клавиши, используйте следующий код:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;String.fromCharCode(e.which)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Теперь объединим всё вместе:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function keyDown(e) {&lt;br /&gt; var keycode = e.which&lt;br /&gt; var realkey = String.fromCharCode(e.which)&lt;br /&gt; alert("keycode: " + keycode + "\nrealkey: " + realkey)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;document.onkeydown = keyDown&lt;br /&gt;document.captureEvents(Event.KEYDOWN)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/keystrokes-n.html" target="_blank"&gt;В примере использования этой функции&lt;/a&gt; (только Netscape!!!), мы на каждое нажатие клавиши будем получать диалоговое окно с кодом и значением нажатой клавиши.&lt;/p&gt;&lt;h3&gt;Internet Explorer&lt;/h3&gt;&lt;p&gt;В эксплорере вым не нужно передавать загадочную переменную &lt;strong&gt;&lt;em&gt;е&lt;/em&gt;&lt;/strong&gt;. И вместо &lt;em&gt;&lt;strong&gt;e.which &lt;/strong&gt;&lt;/em&gt;нужно использовать&lt;strong&gt;&lt;em&gt; window.event.keyCode&lt;/em&gt;&lt;/strong&gt;. А всё остальное очень похоже:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function keyDown() {&lt;br /&gt; var keycode = event.keyCode&lt;br /&gt; var realkey = String.fromCharCode(event.keyCode)&lt;br /&gt; alert("keycode: " + keycode + "\nrealkey: " + realkey)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;document.onkeydown = keyDown&lt;br /&gt;document.onkeydown = keyDown&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/keystrokes-ie.html" target="_blank"&gt;Пример использования функции (Internet Explorer только!)&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;Комбинирование двух методов&lt;/h3&gt;&lt;p&gt;Каждый браузер обрабатывает символьную таблицу по-своему. Чтобы сделать ваш код совместимымм с обоими браузерами, я предлагаю забыть о значениях клавиш и работать только с их кодом. Во фрагменте кода ниже переменные &lt;strong&gt;&lt;em&gt;nKey &lt;/em&gt;&lt;/strong&gt;и&lt;strong&gt;&lt;em&gt; ieKey&lt;/em&gt;&lt;/strong&gt; устанавливаются не в ноль, если код считывается нетскейпом и эксплорером, соответственно:&lt;/p&gt;&lt;code&gt;&lt;pre&gt;function keyDown(e) {&lt;br /&gt; if (ns4) {var nKey=e.which; var ieKey=0}&lt;br /&gt; if (ie4) {var ieKey=event.keyCode; var nKey=0}&lt;br /&gt; alert("nKey:"+nKey+" ieKey:" + ieKey)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;document.onkeydown = keyDown&lt;br /&gt;if (ns4) document.captureEvents(Event.KEYDOWN)&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/keystrokes-both.html"&gt;Пример использования.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/keystrokes.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/keystrokes.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/6-13.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-616972148684458987</guid><pubDate>Mon, 18 Feb 2008 07:57:00 +0000</pubDate><atom:updated>2008-02-18T00:05:55.417-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>дизайн</category><category domain='http://www.blogger.com/atom/ns#'>zengarden</category><category domain='http://www.blogger.com/atom/ns#'>шаблон</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Выпуск 5 (часть 2) - Шаблон сайта</title><description>&lt;p&gt;Речь идёт, конечно же, о всем известном &lt;a href="http://www.csszengarden.com/" target="_blank"&gt;CSS Zen Garden&lt;/a&gt; с его практически универсальной разметкой, которая может быть уникальным образом настроена при помощи CSS к совершенно неповторимому виду, что и продемонстрировано на самом сайте.&lt;/p&gt;&lt;p&gt;HTML-размётка сайта находится по адресу &lt;a href="http://www.csszengarden.com/zengarden-sample.html"&gt;http://www.csszengarden.com/zengarden-sample.html&lt;/a&gt;. Просто перейдите по этому линку, а затем кликните правой клавишей мышки и из выпадающего меню выберите "View source", чтоб посмотреть исходный код. Что вы увидите в открывшемся тектовом файле? Во-первых множество всевозможных тэгов div. Во-вторых, каждый из них имеет свой идентификатор, по имени которого не трудно догадаться о содержимом блока, окружаемого этим &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'ом. Но, самое главное, что стиль каждого идентифицируемого &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'а и других стандартных HTML-тэгов задаётся стилем, который приаттачивается, как внешний файл строчками:&lt;/p&gt;&lt;code&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;style type="text/css" media="all"&amp;gt;&lt;br /&gt;  @import "sample.css";&lt;br /&gt; &amp;lt;/style&amp;gt;&lt;/pre&gt;&lt;/code&gt;&lt;p&gt;Но посмотрим по порядку.&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;Внешний &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt; с &lt;em&gt;id=container &lt;/em&gt;задаёт смысловую часть всего сайта. Например, это письмо в рассылтоже окружено "голубой каёмочкой", ограничивающей смысловую часть выпуска. Отступы и поля - элемент дизайна. Многие сайты делают их достаточно широкими, сужая смысловую часть до стандартной ширины книжной страницы с заданным количеством знаков в строчке. Что это даёт? Просмотривая такой "стандартизированный по ширине" текст, мы просто облегчаем работу глазам, которым не нужно вращаться от левого упора до правого упора.&lt;/p&gt;&lt;p&gt;Далее идёт &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt; c &lt;em&gt;id=intro, &lt;/em&gt;который предназначен для "&lt;strong&gt;шапки страницы&lt;/strong&gt;", которая разделяется на три &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'a:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Первый c &lt;em&gt;id=pageHeader&lt;/em&gt;, то есть заглавие сайта, который может быть оформлен рисунком или просто текстом. В последнем случае мы можем поместить заглавие нашего сайта в тэг &lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;. Например,&lt;span style="font-family:courier new,courier,monospace;"&gt; &amp;lt;h1&amp;gt;Домашняя страница васи Пупкина&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;span style="font-family:times new roman,times,serif;"&gt;. Далее можно разместить подзаголовок в тэг &lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;. Например, &lt;/span&gt;&lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;h2&amp;gt;Вася Пупкин - суперэксперт по сайтостроительству!&amp;lt;/h2&amp;gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="font-family:times new roman,times,serif;"&gt;Следующий&lt;/span&gt; div &lt;/span&gt;&lt;span style="font-family:times new roman,times,serif;"&gt;c &lt;em&gt;id=quickSammary &lt;/em&gt;содержит краткую информацию о сайте. Например,&lt;span style="font-family:courier new,courier,monospace;"&gt; &amp;lt;p&amp;gt;Сайт содержит обучающие уроки по сайтостроительству&amp;lt;/p&amp;gt;&lt;/span&gt;. Заметьте, что текстовые поля помещены в теги &lt;/span&gt;&lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;span style="font-family:times new roman,times,serif;"&gt;, то есть по абзацам, каждый из которых может имееть свой собственный идентификатор, что позволяет моделировать стиль каждого отдельного абзаца.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Наконец, &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt; c &lt;em&gt;id=preamble &lt;/em&gt;слегка "раскрывает тему", затронутую в &lt;em&gt;quickSummary&lt;/em&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Шапка сайта даёт нам интуитивное представление о содержимом сайта. Само же &lt;strong&gt;содержимое&lt;/strong&gt; идёт в &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'e с&lt;em&gt; id=supportingText&lt;/em&gt;. В шаблоне CSSZenGarden этот &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt; подразделяется на ряд суб&lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'ов с идентификаторами: &lt;em&gt;explanation, participation, benefits, requirements, footer. &lt;/em&gt;Все эти блоки, за исключением последнего, сайт-ориентированные, то есть объясняют развёрнуто значение сайта, приглашают дизайнеров поучаствовать в разработке новых дизайнов для этого же сайта (он ведь для этого и предназначен: показать мощь CSS), рассказывают о плюсах этого участия и, наконец, обозначают правила для участия. Последний блок содержит небольшие ссылочки на W3C стандарты: xhtml, css и прочие, которые пригодятся разработчикам дизайна.&lt;/p&gt;&lt;p&gt;Наконец, пространство для всеми любимых нами менюшек для навигации сайта расположены в &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'e c &lt;em&gt;id=linkList&lt;/em&gt;. Создание меню - это отдельная большая тема. Пока что мы лишь ограничимся вертикальными меню, созданными при помощи списков, то есть тагов &lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt; и &lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;. Каждый отдельный пункт меню может иметь свой стиль и свои подменю. Вот как это сделано в CSSZenGarden: меню различных дизайнов окружено &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'ом с &lt;em&gt;id=lselect&lt;/em&gt;, внутри которого список (таги &lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt; и &lt;span style="font-family:courier new,courier,monospace;"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;) ссылок на дизайны. По такому же принципу построен &lt;span style="font-family:Courier New;"&gt;div&lt;/span&gt; с &lt;em&gt;id=archives&lt;/em&gt;, внутри которого список ссылок на архив дизайнов, не уместившихся в предыдущем меню, которое, очевидно, содержит самые "свежие" дизайны. Наконец меню, ограниченное &lt;span style="font-family:Courier New;"&gt;div&lt;/span&gt;'ом с &lt;em&gt;id=resources&lt;/em&gt; содержит список ссылок на различные дополнительные ресурсы, как-то FAQ, Submit Design и т.д.&lt;/p&gt;&lt;p&gt;Понятно, что дизайн можно расширить дополнительными div'ами, например, рекламой от google, рекламой вашей собственной продукции и т.д.&lt;/p&gt;&lt;p&gt;Наложим шаблон CSSZenGarden на subscribe.ru. Смысловая часть занимает всю ширину страницы. &lt;strong&gt;Шапка&lt;/strong&gt; находится в левом верхнем углу: логотип, информация о количестве подписчиков и рассылок, поиск (три элемента!). &lt;strong&gt;Меню&lt;/strong&gt; смоделировано так, что находится, как навигационный панели сверху и снизу: первая - для навигации по сайту, вторая - для навигации по информации о сайте. &lt;strong&gt;Содержимое &lt;/strong&gt;делится на Каталог, Сервисы, Рейтинги и Новости. Обратите внимание на разные стили, но однотипное оформление блоков: заглавие в зелёном овале и прямоугольник с закруглёнными краями для обозначения тематического блока. Наконец, всевозможные баннеры вверху и слева могли бы быть добавлены вспомогательными &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'ами.&lt;/p&gt;&lt;p&gt;Наконец, оговорюсь, что сайт subscribe.ru размётан таблицами, а не &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;'ами. Однако, это устаревшая и неудобная практика: сайту трудно придать новый оригинальный вид, поскольку таблицы не обладают такой гибкостью, как &lt;span style="font-family:courier new,courier,monospace;"&gt;div&lt;/span&gt;. В таблицах легко запутаться среди колонок и строк и, следовательно, содержащие их страницы трудно редактировать. Наконец, вложения типа таблица в таблице, что очень часто встречается для придания видимой гибкости сайту, может быть неправильно интерпретировано некоторыми браузерами.&lt;/p&gt;&lt;p&gt;В заключении я хочу добавить: прежде чем создавать супер-пупер сайт, продумайте его разметку в терминах шапка, содержимое, меню (навигация). Как вы назовёте свой сайт? Как в двух строках расскажете посетителю, о чем весь этот ворох страничек? Чем наполните содержимое? На какие тематические блоки разобъёте вашу информацию? Как вы построите навигацию (семантически, а не графически!)? Предлагаю пока что подумать над этими вопросами.&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/5-2.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-4196383743719105417</guid><pubDate>Mon, 18 Feb 2008 07:52:00 +0000</pubDate><atom:updated>2008-02-18T00:12:18.463-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>мышка</category><category domain='http://www.blogger.com/atom/ns#'>анимация</category><category domain='http://www.blogger.com/atom/ns#'>dynduo</category><title>Выпуск 5 (часть 1) - Анимация по клику мышкой</title><description>&lt;p&gt;Рассмотрим скрипт&lt;/p&gt;&lt;p&gt;&lt;code&gt;function init() {&lt;br /&gt; if (ns4) block = document.blockDiv&lt;br /&gt; if (ie4) block = blockDiv.style&lt;br /&gt; block.xpos = parseInt(block.left)&lt;br /&gt; block.active = false&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function slide() {&lt;br /&gt; if (block.active) {&lt;br /&gt;  block.xpos += 5&lt;br /&gt;  block.left = block.xpos&lt;br /&gt;  setTimeout("slide()",30)&lt;br /&gt; }&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;... и HTML код, его вызывющий&lt;/p&gt;&lt;code&gt;&lt;pre&gt;&amp;lt;BODY BGCOLOR="#FFFFFF" onLoad="init()"&amp;gt;&lt;br /&gt;&lt;br /&gt;Click and hold the link below to move the block&lt;br /&gt;&amp;lt;BR&amp;gt;&amp;lt;A HREF="javascript:void(null)"&lt;br /&gt;                   onMouseDown="block.active=true; slide(); return false;"&lt;br /&gt;                   onMouseUp="block.active=false"&lt;br /&gt;                   onMouseOut="block.active=false"&amp;gt;move&amp;lt;/A&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;DIV ID="blockDiv" style=""xposition:absolute;" left:50px; top:100px; width:30px; height:30px;&lt;br /&gt;                             clip:rect(0px 30px 30px 0px); layer-background-color:red;&lt;br /&gt;                             background-color:red;"&amp;gt;&lt;br /&gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;В результате мы увидим картинку вроде этого:&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;div style="BORDER-RIGHT: blue 3pt solid; PADDING-RIGHT: 10pt; BORDER-TOP: blue 3pt solid; PADDING-LEFT: 10pt; MARGIN-BOTTOM: 5pt; MARGIN-LEFT: 30pt; BORDER-LEFT: blue 3pt solid; MARGIN-RIGHT: 30pt; BORDER-BOTTOM: blue 3pt solid; BACKGROUND-COLOR: #e5eaf0"&gt;Click and hold the link below to move the block&lt;br /&gt;&lt;a onmousedown="alert('Пока левая клавиша мышки нажата, блок будет двигаться');" href="javascript:void(null)"&gt;move&lt;/a&gt;&lt;br /&gt;&lt;div id="blockDiv" style="LEFT: 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); HEIGHT: 30px; BACKGROUND-COLOR: red; layer-background-color: red; xPOSITION: relative"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Здесь при нажатии на ссылку с надписью move красный квадрат будет двигаться до тех пор, пока нажата левая клавиша мышки.&lt;/p&gt;&lt;p&gt;Пример функционирования можно посмотреть &lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/mouseclick1.html" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Более сложные примеры движения можно посмотреть &lt;a href="http://www.arc.id.au/JsAnimation.html" target="_blank"&gt;здесь&lt;/a&gt;. Вкратце, маленькая картинка в виде красного шарика может двигаться по некой траектории, на первый взгляд, очень фантазийной. То есть, используя средства CSS и JavaScript, мы можем отказаться от flash! Таким образом, посетители нашего сайта могут не беспокоиться о том, что что-то вдруг захочет проинсталлироваться на их компьютер прежде, чем загрузится какая-то Flesh анимация, чаще всего бесполезная и тяжеловесная.&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/5.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-5959734042200594201</guid><pubDate>Mon, 18 Feb 2008 07:45:00 +0000</pubDate><atom:updated>2008-02-17T23:51:49.625-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>JunDuo</category><category domain='http://www.blogger.com/atom/ns#'>Слайдинг</category><title>Выпуск 4 - Слайдинг</title><description>&lt;p&gt;Слайдинг - это анимированное движение элементов или эффект скроллинга. Используя циклические (или итеративные) функции, и продвигая цровни на малое количество пикселей, можно создать довольно привлекательные анимационные эффекты.&lt;/p&gt;&lt;p&gt;Идея такова:&lt;/p&gt;&lt;p&gt;&lt;code&gt;block.xpos += 5&lt;br /&gt;block.left = block.xpos &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;То есть мы сдвигаем элемент на 5 пкселей вправо. А если мы оформим это как цикл:&lt;/p&gt;&lt;p&gt;&lt;code&gt;function slide() {&lt;br /&gt;  if (block.xpos &amp;lt; 300) {&lt;br /&gt;    block.xpos += 5&lt;br /&gt;    block.left = block.xpos&lt;br /&gt;    setTimeout("slide()",30)  &lt;br /&gt;  }&lt;br /&gt;} &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Здесь &lt;strong&gt;if &lt;/strong&gt;нужен, чтобы остановить анимацию. В данном случае остановка произойдёт, если х-координата больше либо равна 300. Функция setTimeout() - это и есть то, что анимирует передвижение. Не сложно понять, что она воспроизводит выполнение функции slide() через 30 миллисекунд.&lt;/p&gt;&lt;p&gt;Теперь напишем скрипт:&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;p&gt;&lt;code&gt;function slide() {&lt;br /&gt;  if (block.xpos &amp;lt; 300) {&lt;br /&gt;     block.xpos += 5&lt;br /&gt;     block.left = block.xpos&lt;br /&gt;     setTimeout("slide()",30)&lt;br /&gt;   }&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;function restart() {&lt;br /&gt;   block.xpos = 50&lt;br /&gt;   block.left = block.xpos&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;function moveTo(obj,x,y) {&lt;br /&gt;   obj.xpos = x&lt;br /&gt;   obj.ypos = y&lt;br /&gt;   obj.left = obj.xpos&lt;br /&gt;   obj.top = obj.ypos&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;...и HTML-код:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;a href="javascript:slide()"&amp;gt;slide&amp;lt;/a&amp;gt; - &amp;lt;a href="javascript:moveTo(block,50,100)"&amp;gt;restart&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;lt;div id="blockDiv" style=""LEFT:" 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); POSITION: absolute; TOP: 100px; HEIGHT: 30px; BACKGROUND-COLOR: red; layer-background-color: red"&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Мы получим следующую картинку:&lt;/p&gt;&lt;a href="javascript:alert(" 20x="300');&amp;quot;"&gt;slide&lt;/a&gt; - &lt;a href="javascript:alert("&gt;restart&lt;/a&gt;&lt;br /&gt;&lt;div id="blockDiv" style="LEFT: 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); TOP: 10px; HEIGHT: 30px; BACKGROUND-COLOR: red; layer-background-color: red; xPOSITION: relative"&gt;&lt;/div&gt;&lt;p&gt;См. &lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/sliding1.html" target="_top"&gt;на примере&lt;/a&gt; 1.&lt;/p&gt;&lt;p&gt;Движение по диагонали предполагает, что мы изменяем обе координаты одновременно. Добавьте в функцию &lt;span style="font-family:courier new;"&gt;slide()&lt;/span&gt; перед &lt;span style="font-family:courier new;"&gt;setTimeout()&lt;/span&gt; следующие строки:&lt;/p&gt;&lt;p&gt;&lt;code&gt;block.ypos += 3&lt;br /&gt;block.top = block.ypos&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;А в функцию &lt;span style="font-family:courier new;"&gt;moveTo()&lt;/span&gt; строки&lt;/p&gt;&lt;p&gt;&lt;code&gt;obj.ypos = y&lt;br /&gt;obj.top = obj.ypos&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Результат должен функционировать, как в &lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/sliding2.html" target="_top"&gt;примере 2&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Однако движение по диагонали может быть сделано хитрее. Давайте вспомним курс тригонометрии фредней школы. Предствим себе прямоугольный треугольник. Если его катет равен, например, &lt;em&gt;х&lt;/em&gt;, а угол между гипотенузой (сторона напротив прямого угла) и прилежащего катета (горизонтальная сторона) равен &lt;em&gt;а&lt;/em&gt;, то длина прилежащего катета равна &lt;em&gt;х&lt;/em&gt;*cos(&lt;em&gt;а&lt;/em&gt;), а противолежащего катета (вертикальная сторона) - &lt;em&gt;х&lt;/em&gt;*sin(&lt;em&gt;а&lt;/em&gt;). Пусть &lt;em&gt;х&lt;/em&gt;=5. И теперь нам нужны четыре дополнительных свойства в функции инициализации:&lt;/p&gt;&lt;p&gt;&lt;code&gt;object.angle = 30&lt;br /&gt;object.xinc = 5*Math.cos(object.angle*Math.PI/180)&lt;br /&gt;object.yinc = 5*Math.sin(object.angle*Math.PI/180)&lt;br /&gt;object.count = 0 &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Мы как обычно считаем инкрементацию координат &lt;em&gt;x&lt;/em&gt; и &lt;em&gt;y&lt;/em&gt;, чтобы определить &lt;em&gt;left&lt;/em&gt; и &lt;em&gt;top&lt;/em&gt; значения. Угол &lt;em&gt;а&lt;/em&gt; необходимо умножать на &lt;em&gt;Math.PI&lt;/em&gt;/180 для конвертации градусов в радианы, поскольку синус и косинус считаются для радианов. Свойство &lt;em&gt;count&lt;/em&gt; будет использоваться для задания количества итераций функции.&lt;/p&gt;&lt;p&gt;Попробуем этот скрипт в действии:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;SCRIPT&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;ns4 = (document.layers)? true:false&lt;br /&gt;ie4 = (document.all)? true:false&lt;br /&gt;&lt;br /&gt;function init() {&lt;br /&gt;  if (ns4) block = document.blockDiv&lt;br /&gt;  if (ie4) block = blockDiv.style&lt;br /&gt;  block.xpos = parseInt(block.left)&lt;br /&gt;  block.ypos = parseInt(block.top)&lt;br /&gt;  block.angle = 0&lt;br /&gt;  block.xinc = 5*Math.cos(block.angle*Math.PI/180)&lt;br /&gt;  block.yinc = 5*Math.sin(block.angle*Math.PI/180)&lt;br /&gt;  block.count = 0&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;// Must recalculate the xinc and yinc before you move&lt;br /&gt;function go() {&lt;br /&gt;  block.angle = document.changeangle.angletext.value&lt;br /&gt;  block.xinc = 5*Math.cos(block.angle*Math.PI/180)&lt;br /&gt;  block.yinc = 5*Math.sin(block.angle*Math.PI/180)&lt;br /&gt;  slide()&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function slide() {&lt;br /&gt;  if (block.count &lt; 20) {&lt;br /&gt;    block.xpos += block.xinc&lt;br /&gt;    block.ypos -= block.yinc&lt;br /&gt;    block.left = block.xpos&lt;br /&gt;    block.top = block.ypos&lt;br /&gt;    block.count += 1&lt;br /&gt;    setTimeout("slide()",30)&lt;br /&gt;  }&lt;br /&gt;  else block.count = 0&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;code&gt;function restart() {&lt;br /&gt;  block.count = 0&lt;br /&gt;  moveTo(block,150,150)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function moveTo(obj,x,y) {&lt;br /&gt;  obj.xpos = x&lt;br /&gt;  obj.ypos = y&lt;br /&gt;  obj.left = obj.xpos&lt;br /&gt;  obj.top = obj.ypos&lt;br /&gt;}&lt;br /&gt;//--&amp;gt;&lt;br /&gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;BODY BGCOLOR="#FFFFFF" onLoad="init()"&amp;gt;&lt;br /&gt;&amp;lt;FORM NAME="changeangle"&amp;gt;&lt;br /&gt;&lt;br /&gt;Type in an angle and hit Go:&lt;br /&gt;&amp;lt;BR&amp;gt;&amp;lt;INPUT NAME="angletext" TYPE="TEXT" SIZE=4 VALUE="0"&amp;gt;&lt;br /&gt;&amp;lt;INPUT TYPE="BUTTON" VALUE="Go" onClick="go()"&amp;gt;&lt;br /&gt;&amp;lt;INPUT TYPE="BUTTON" VALUE="Reset" onClick="restart()"&amp;gt;&lt;br /&gt;&amp;lt;/FORM&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;DIV ID="blockDiv" style="position:absolute; left:50px; top:100px; width:30px; height:30px; clip:rect(0,30,30,0); layer-background-color:red; background-color:red;"&amp;gt;&lt;br /&gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/BODY&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Вот что мы получим:&lt;/p&gt;&lt;p&gt;Type in an angle and hit Go:&lt;br /&gt;&lt;br /&gt;&lt;input size="4" value="0" name="angletext"&gt;&lt;br /&gt;&lt;input onclick="go()" type="button" value="Go"&gt;&lt;br /&gt;&lt;input onclick="restart()" type="button" value="Reset"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div id="blockDiv" style="LEFT: 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); POSITION: relative; TOP: 10px; HEIGHT: 30px; BACKGROUND-COLOR: red; layer-background-color: red"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;Для полную функциональность можно посмотреть в &lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/examples/sliding4.html"&gt;примере 3&lt;/a&gt;.&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/4.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-6288189498240524435</guid><pubDate>Sun, 17 Feb 2008 13:36:00 +0000</pubDate><atom:updated>2008-02-17T05:54:42.662-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>dynduo</category><category domain='http://www.blogger.com/atom/ns#'>движение</category><title>Выпуск 3 - Движение</title><description>&lt;p&gt;Как правило проблемы совместимости не возникают при назначении некому CSS-P элементу нового расположения. Например, для перемещения элемента &lt;span class="src"  style="font-family:courier new;"&gt;myelement&lt;/span&gt; в точку (100, 50) вы просто устанавливаете соответсвующие значения у свойств &lt;span class="src"  style="font-family:courier new;"&gt;left&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;top&lt;/span&gt;:&lt;/p&gt;&lt;p&gt;&lt;code&gt;myelement.left = 100&lt;br /&gt;myelement.top = 50&lt;/code&gt; &lt;/p&gt;&lt;p&gt;Не забывайте, что &lt;span class="src"  style="font-family:courier new;"&gt;myelement&lt;/span&gt; это указатель, определённый, например, таким образом:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function init() {&lt;br /&gt;if (ns4) myelement = document.myelementDiv&lt;br /&gt;if (ie4) myelement = myelementDiv.style&lt;br /&gt;} &lt;/code&gt;&lt;/p&gt;&lt;p&gt;Как уже было сказано выше, назначение нового местоположения происходит гладко во обоих браузерах. Проблемы возникают с определением текущих координат элемента. Это касается в первую очередь IE, который представляет все координаты с &lt;span class="src"&gt;px&lt;/span&gt; на конце (см. пример в предыдущем выпуске). Дабы избавиться от этих буковок, необходимо значение координат перевести в целочисленное значение. Иными словами, вместо &lt;span class="src"&gt;myelement.left&lt;/span&gt;, вы должны написать &lt;span class="src"&gt;parseInt(myelement.left)&lt;/span&gt;. Например, если вы хотите информировать пользователя о координатах элемента, вы можете сделать это так: &lt;/p&gt;&lt;code&gt;alert(parseInt(myelement.left) + ", " + parseInt(myelement.top))&lt;br /&gt;&lt;/code&gt;&lt;span class="fullpost"&gt;&lt;h3&gt;Добавление новых свойств&lt;/h3&gt;&lt;p&gt;"Всё время теперь придётся писать &lt;span class="src"  style="font-family:courier new;"&gt;parseInt()&lt;/span&gt;?" - спросите вы. Как тоскливоооооо! К счастью, существует метод оптимизации этой проблемы. Этот метод называется &lt;i&gt;добавление новых свойств&lt;/i&gt; к указателям, или &lt;b&gt;объектам&lt;/b&gt;, как я буду называть их далее по тексту. Иными словами, можно сохранять текущее местоположение элемента в свойствах, определённых нами же. Для создания этих свойств, нужно просто присвоить им некие значения. Для начала, мы сохраним текущие координаты элемента так:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;myelement.xpos = parseInt(myelement.left)&lt;br /&gt;myelement.ypos = parseInt(myelement.top)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;И теперь, каждый раз, когда вам понадобятся значения свойств &lt;span class="src"  style="font-family:courier new;"&gt;left&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;top&lt;/span&gt;, вы обращаетесь к &lt;span class="src"  style="font-family:courier new;"&gt;myelement.xpos&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;myelement.ypos&lt;/span&gt; соответсвенно. Например, новая версия&lt;span style="font-family:courier new;"&gt; &lt;span class="src"&gt;alert()&lt;/span&gt;&lt;/span&gt; будет выглядеть так:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;alert(myelement.xpos + "," + myelement.ypos)&lt;br /&gt;&lt;/code&gt;&lt;h3&gt;Так как насчёт определения текущей координаты?&lt;/h3&gt;&lt;p&gt;Если вы хотите изменить текущие координаты элемента, ПРЕЖДЕ ВСЕГО вы должны изменить значения переменных &lt;span class="src"&gt;xpos&lt;/span&gt; и &lt;span class="src"&gt;ypos&lt;/span&gt;.А ЗАТЕМ, вы можете установить значения свойств &lt;span class="src"  style="font-family:courier new;"&gt;left&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;top&lt;/span&gt; равными соответсвенно &lt;span class="src"  style="font-family:courier new;"&gt;xpos&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;ypos&lt;/span&gt;. Например,&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function move() {&lt;br /&gt;myelement.xpos = 200&lt;br /&gt;myelement.ypos = -40&lt;br /&gt;myelement.left = myelement.xpos&lt;br /&gt;myelement.top = myelement.ypos&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Значения переменных &lt;span class="src"  style="font-family:courier new;"&gt;xpos&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;ypos&lt;/span&gt; должны быть всегда синхронизированы со значениями свойств &lt;span class="src"  style="font-family:courier new;"&gt;left&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;top&lt;/span&gt;. Это гарантирует равенство, например, &lt;span class="src"  style="font-family:courier new;"&gt;myelement.xpos&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;myelement.left&lt;/span&gt;. &lt;/p&gt;&lt;p&gt;Рассмотрим простой пример на движение.&lt;/p&gt;&lt;p&gt;Скрипт: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;SCRIPT language=JavaScript&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;ns4 = (document.layers)? true:false&lt;br /&gt;ie4 = (document.all)? true:false&lt;br /&gt;&lt;br /&gt;function init() {&lt;br /&gt;if (ns4) block = document.blockDiv&lt;br /&gt;if (ie4) block = blockDiv.style&lt;br /&gt;block.xpos = parseInt(block.left)&lt;br /&gt;block.ypos = parseInt(block.top)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function move1() {&lt;br /&gt;block.xpos = 100&lt;br /&gt;block.ypos = 80&lt;br /&gt;block.left = block.xpos&lt;br /&gt;block.top = block.ypos&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function move2() {&lt;br /&gt;block.xpos = 200&lt;br /&gt;block.ypos = 160&lt;br /&gt;block.left = block.xpos&lt;br /&gt;block.top = block.ypos&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function move3() {&lt;br /&gt;block.xpos = 300&lt;br /&gt;block.ypos = 240&lt;br /&gt;block.left = block.xpos&lt;br /&gt;block.top = block.ypos&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//--&amp;gt;&lt;br /&gt;&amp;lt;/SCRIPT&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;HTML: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;BODY bgColor=#ffffff onload=init() /&amp;gt;&lt;br /&gt;Move the block to:&lt;br /&gt;&amp;lt;A href="javascript:move1()"&amp;gt;(100,80)&amp;lt;/A&amp;gt; -&lt;br /&gt;&amp;lt;A href="javascript:move2()"&amp;gt;(200,160)&amp;lt;/A&amp;gt; -&lt;br /&gt;&amp;lt;A href="javascript:move3()"&amp;gt;(300,240)&amp;lt;/A&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;A href="javascript:alert(block.xpos + ', ' + block.ypos)"&amp;gt;check location&amp;lt;/A&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;DIV id=blockDiv style="LEFT: 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); xPOSITION: absolute; TOP: 100px; HEIGHT: 30px; BACKGROUND-COLOR:red; layer-background-color: red"&gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;&amp;lt;/BODY&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Результирующая страница будет такая: &lt;/p&gt;&lt;p&gt;&lt;code&gt;Move the block to: &lt;a href="javascript:alert("&gt;(100,80)&lt;/a&gt; - &lt;a href="javascript:alert("&gt;(200,160)&lt;/a&gt; - &lt;a href="javascript:alert("&gt;(300,240)&lt;/a&gt;&lt;br /&gt;&lt;a href="javascript:alert("&gt;check location&lt;/a&gt; &lt;/code&gt;&lt;code&gt;&lt;/p&gt;&lt;div style="MARGIN-TOP: 100px; MARGIN-LEFT: 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); HEIGHT: 30px; BACKGROUND-COLOR: red; layer-background-color: red"&gt;&lt;/div&gt;&lt;br /&gt;&lt;/code&gt;&lt;p&gt;где красный квадрат перемещается так, что его левый верхний угол имеет координату(100,80), (200,160), (300,240) если пользователь нажимает одноимённый линк, и сообщение с информацией о местоположении красного квадрата появляется при нажатии на линк &lt;u&gt;check location&lt;/u&gt;. Всё очень просто, не так ли? &lt;/p&gt;&lt;p&gt;Идея дополнительных свойств будет использоваться и дальше. Хотя дополнительные свойства и могут показаться странными, вы обнаружите, что они помогают оптимизировать код.&lt;/p&gt;&lt;p&gt;&lt;span class="important"&gt;Вы можете удивиться, почему я использую &lt;span class="src"  style="font-family:courier new;"&gt;xpos&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;ypos&lt;/span&gt; вместо &lt;span class="src"&gt;x&lt;/span&gt; и &lt;span class="src"&gt;y&lt;/span&gt;. Это имеет вполне&lt;br /&gt;серьёзное обоснование. Мало кто знает, что Netscape уже включил эти свойства (&lt;span class="src"&gt;x&lt;/span&gt; и &lt;span class="src"&gt;y&lt;/span&gt;) в свою имплементацию CSS-P. Если вы их будете использовать в примерах выше, они будут содержать значения целого типа. "Ну и что?" скажете вы. В примерах этого выпуска ничего. Но могут встретиться примеры, в которых необходимо хранить не целочисленные значения и это будет невозможно из-за использования &lt;span class="src"&gt;x&lt;/span&gt; и &lt;span class="src"&gt;y&lt;/span&gt;.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Общая функция движения&lt;/h3&gt;&lt;p&gt;Только что мы рассмотрели пример, где для каждого перемещения была создана отдельная функция. Однако, если вы хотите создать движение нескольких слоёв в нескольких направлениях, написание скриптов для такого разнообразного множества движений - задача воистину трудная. Единственное, что мы можем сделать, - создать некую общую функцию, которая заботится о разнотипных движениях слоёв.&lt;/p&gt;&lt;h4&gt;Функция &lt;span class="src"&gt;moveTo()&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Эта функция принимает в качестве параметра слой/объект и перемещает его непосредственно в другое место:&lt;code&gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;function moveTo(obj,x,y) {&lt;br /&gt;obj.xpos = x&lt;br /&gt;obj.left = obj.xpos&lt;br /&gt;obj.ypos = y&lt;br /&gt;obj.top = obj.ypos&lt;br /&gt;}&lt;/code&gt; &lt;/p&gt;&lt;p&gt;Используется эта функция очень просто: всё что вы должны передать в неё - слой/объект и его новые координаты x и y. Наример, если инициализация слоя происходит так: &lt;/p&gt;&lt;p&gt;&lt;code&gt;if (ns4) mysquare = document.mysquareDiv&lt;br /&gt;if (ie4) mysquare = mysquareDiv.style&lt;br /&gt;mysquare.xpos = parseInt(mysquare.left)&lt;br /&gt;mysquare.ypos = parseInt(mysquare.top) &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;то для перемещения квадрата в точку (50,100) достаточно написать: &lt;/p&gt;&lt;p&gt;&lt;code&gt;moveTo(mysquare,50,100)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4&gt;Функция &lt;span class="src"&gt;moveBy()&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;Эта функция имеет те же самые принципы работы, что и предыдущая, за исключением того, что слой/объект перемещается не в в точку (x,y), но смещается на (x,y) пикселов, относительно текущей координаты слоя:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;function moveBy(obj,x,y) {&lt;br /&gt;obj.xpos += x&lt;br /&gt;obj.left = obj.xpos&lt;br /&gt;obj.ypos += y&lt;br /&gt;obj.top = obj.ypos&lt;br /&gt;} &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Для смещения квадрата на 5 пикселов вправо и на 10 пикселов вверх нужно написать:&lt;/p&gt;&lt;p&gt;&lt;code&gt;moveBy(mysquare,5,-10) &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Полный пример, который использует функции &lt;span class="src"  style="font-family:courier new;"&gt;moveTo()&lt;/span&gt; и &lt;span class="src"  style="font-family:courier new;"&gt;moveBy()&lt;/span&gt;:&lt;/p&gt;&lt;p&gt;Скрипт: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;SCRIPT language=JavaScript&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;ns4 = (document.layers)? true:false&lt;br /&gt;ie4 = (document.all)? true:false&lt;br /&gt;&lt;br /&gt;function init() {&lt;br /&gt;if (ns4) block = document.blockDiv&lt;br /&gt;if (ie4) block = blockDiv.style&lt;br /&gt;block.xpos = parseInt(block.left)&lt;br /&gt;block.ypos = parseInt(block.top)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function moveTo(obj,x,y) {&lt;br /&gt;obj.xpos = x&lt;br /&gt;obj.left = obj.xpos&lt;br /&gt;obj.ypos = y&lt;br /&gt;obj.top = obj.ypos&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function moveBy(obj,x,y) {&lt;br /&gt;obj.xpos += x&lt;br /&gt;obj.left = obj.xpos&lt;br /&gt;obj.ypos += y&lt;br /&gt;obj.top = obj.ypos&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;function showObject(obj) {&lt;br /&gt;if (ns4) obj.visibility = "show"&lt;br /&gt;else if (ie4) obj.visibility = "visible"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function hideObject(obj) {&lt;br /&gt;if (ns4) obj.visibility = "hide"&lt;br /&gt;else if (ie4) obj.visibility = "hidden"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//--&amp;gt;&lt;br /&gt;&amp;lt;/SCRIPT&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;HTML: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;BODY bgColor=#ffffff onload=init()&amp;gt;&lt;br /&gt;Check Values:&lt;br /&gt;&amp;lt;A href="javascript:alert('X: ' + block.xpos)"&amp;gt;xpos&amp;lt;/A&amp;gt;,&lt;br /&gt;&amp;lt;A href="javascript:alert('Y: ' + block.ypos)"&amp;gt;ypos&amp;lt;/A&amp;gt; &amp;lt;BR&amp;gt;&lt;br /&gt;Visibility:&lt;br /&gt;&amp;lt;A href="javascript:showObject(block)"&amp;gt;show&amp;lt;/A&amp;gt;,&lt;br /&gt;&amp;lt;A href="javascript:hideObject(block)"&amp;gt;hide&amp;lt;/A&amp;gt; &amp;lt;BR&amp;gt;&lt;br /&gt;MoveTo:&lt;br /&gt;&amp;lt;A href="javascript:moveTo(block,100,100)"&amp;gt;(100,100)&amp;lt;/A&amp;gt;,&lt;br /&gt;&amp;lt;A href="javascript:moveTo(block,200,160)"&amp;gt;(200,160)&amp;lt;/A&amp;gt;,&lt;br /&gt;&amp;lt;A href="javascript:moveTo(block,300,240)"&amp;gt;(300,240)&amp;lt;/A&amp;gt; &amp;lt;BR&amp;gt;&lt;br /&gt;MoveBy:&lt;br /&gt;&amp;lt;A href="javascript:moveBy(block,10,0)"&amp;gt;(10,0)&amp;lt;/A&amp;gt;,&lt;br /&gt;&amp;lt;A href="javascript:moveBy(block,-10,0)"&amp;gt;(-10,0)&amp;lt;/A&amp;gt;,&lt;br /&gt;&amp;lt;A href="javascript:moveBy(block,0,10)"&amp;gt;(0,10)&amp;lt;/A&amp;gt;,&lt;br /&gt;&amp;lt;A href="javascript:moveBy(block,0,-10)"&amp;gt;(0,-10)&amp;lt;/A&amp;gt;&lt;br /&gt;&amp;lt;DIV id=blockDiv style="LEFT: 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); xPOSITION: absolute; TOP: 100px; HEIGHT: 30px; BACKGROUND-COLOR: red; layer-background-color: red"&amp;gt;&amp;lt;/DIV&amp;gt; &amp;lt;/BODY&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Результат: &lt;/p&gt;&lt;p&gt;&lt;code&gt;Check Values: &lt;a href="javascript:alert("&gt;xpos&lt;/a&gt;, &lt;a href="javascript:alert("&gt;ypos&lt;/a&gt;&lt;br /&gt;Visibility: &lt;a href="javascript:alert("&gt;show&lt;/a&gt;, &lt;a href="javascript:alert("&gt;hide&lt;/a&gt;&lt;br /&gt;MoveTo: &lt;a href="javascript:alert("&gt;(100,80)&lt;/a&gt;, &lt;a href="javascript:alert("&gt;(200,160)&lt;/a&gt;, &lt;a href="javascript:alert("&gt;(300,240)&lt;/a&gt;&lt;br /&gt;MoveBy: &lt;a href="javascript:alert("&gt;(10,0)&lt;/a&gt;, &lt;a href="javascript:alert("&gt;(-10,0)&lt;/a&gt;, &lt;a href="javascript:alert("&gt;(0,10)&lt;/a&gt;, &lt;a href="javascript:alert("&gt;(0,-10)&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div id="blockDiv" style="MARGIN-TOP: 100px; MARGIN-LEFT: 50px; WIDTH: 30px; CLIP: rect(0px 30px 30px 0px); HEIGHT: 30px; BACKGROUND-COLOR: red; layer-background-color: red" onclick="init()"&gt;&lt;/div&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/3.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-2517125066383541246</guid><pubDate>Sun, 17 Feb 2008 13:00:00 +0000</pubDate><atom:updated>2008-02-17T05:20:55.635-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>crossbrouser</category><category domain='http://www.blogger.com/atom/ns#'>dynduo</category><title>Выпуск 2 - Кросс-браузерный Java-Script</title><description>&lt;h2&gt;Кросс-браузерный JavaScript&lt;/h2&gt;&lt;p&gt;JavaScript используется для доступа к CSS свойствам элементов страницы и изменеия их значений. Однако синтаксис, распознаваемый Netscape 4.0 и IE 4.0 отличаются. Дабы знать, &lt;b&gt;где собака порылась&lt;/b&gt; где кроется это различие, я покажу вам простой способ создания кросс-браузерных скриптов, написанных на JavaScript, которые будут работать и в Netscape 4.0 и в IE 4.0. &lt;/p&gt;&lt;h3&gt;Проверка кросс-браузерности&lt;/h3&gt;&lt;p&gt;Прежде всего мы должны узнать, каким браузером пользователь просматривает страницы. Небольшой фрагмент кода будем стандартной проверкой браузера почти во всех примерах рассылки:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ns4 = (document.layers)? true:false&lt;br /&gt;ie4 = (document.all)? true:false &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Объект &lt;span style="font-family:courier new;"&gt;document.layers&lt;/span&gt; специфичен для Netscape 4.0, а &lt;span style="font-family:courier new;"&gt;document.all&lt;/span&gt;, соответственно, -для IE 4.0. Таким образом, обычной проверкой существования объекта мы создаем переменные типа &lt;span class="src"  style="font-family:courier new;"&gt;boolean&lt;/span&gt;: &lt;span class="src"&gt;ns4&lt;/span&gt; (для Netscape 4.0) and &lt;span class="src"  style="font-family:courier new;"&gt;ie4&lt;/span&gt; (для Internet Explorer 4.0). Значения этих переменных принимают зачения &lt;span class="src"  style="font-family:courier new;"&gt;true&lt;/span&gt; или &lt;span class="src"  style="font-family:courier new;"&gt;false&lt;/span&gt; в зависимости от используемого браузера. Тепер, как только вы захотите проверить браузер, вы вставляете в JavaScript проверку &lt;span class="src"  style="font-family:courier new;"&gt;if (ns4)&lt;/span&gt; или&lt;span style="font-family:courier new;"&gt; &lt;span class="src"&gt;if (ie4)&lt;/span&gt;.&lt;/span&gt; Например: &lt;/p&gt;&lt;p&gt;&lt;code&gt;function check() {&lt;br /&gt;if (ns4) {&lt;br /&gt;// do something in Netscape Navigator 4.0&lt;br /&gt;}&lt;br /&gt;if (ie4) {&lt;br /&gt;// do something in Internet Explorer 4.0&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;&lt;/code&gt;&lt;span class="fullpost"&gt;&lt;h3&gt;Использование JavaScript и CSS-P&lt;/h3&gt;&lt;p&gt;Допустим, у нас имеется DIV таг следующего вида: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;DIV ID="blockDiv" style="position:absolute; left:50; top:100; width:30;"&amp;gt; &lt;/code&gt;&lt;code&gt;&amp;lt;IMG SRC="block.gif" WIDTH=30 HEIGHT=30 BORDER=0&amp;gt;&lt;br /&gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;small&gt;Не забываем, что это пример. А значит, &lt;span class="src"&gt;blockDiv&lt;/span&gt; может быть переименован во что угодно и новый код будет работать по такому же принципу, что и приведенный здесь.&lt;/small&gt; &lt;/p&gt;&lt;p&gt;Для Netscape типичный способ доступа к CSS-P свойствам такой: &lt;code&gt;document.blockDiv.propertyName&lt;/code&gt; или &lt;code&gt;document.layer["blockDiv"].propertyName&lt;/code&gt;&lt;br /&gt;Для Internet Explorer немного другой:&lt;br /&gt;&lt;code&gt;blockDiv.style.propertyName&lt;/code&gt;&lt;br /&gt;или&lt;br /&gt;&lt;code&gt;document.all["blockDiv"].style.propertyName&lt;/code&gt;&lt;br /&gt;где &lt;span class="src"  style="font-family:courier new;"&gt;propertyName&lt;/span&gt; - одно из свойств перечисленных в прошлом выпуске: &lt;span style="font-family:courier new;"&gt;width&lt;/span&gt;, &lt;span style="font-family:georgia;"&gt;height&lt;/span&gt; и так далее. &lt;/p&gt;&lt;p&gt;Сейчас мы введём дополнительную &lt;b&gt;переменную-указатель&lt;/b&gt;, которая позволит оптимизировать дальнейший код: &lt;/p&gt;&lt;p&gt;&lt;code&gt;if (ns4) block = document.blockDiv&lt;br /&gt;if (ie4) block = blockDiv.style &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Теперь переменная &lt;span class="src"&gt;block&lt;/span&gt; может использоваться для доступа к свойствам DIV тага в обоих браузерах одинаково. Например, если вы хотите получить левую координату DIV тага, то вы можете просто написать &lt;span class="src"  style="font-family:courier new;"&gt;block.left&lt;/span&gt;.&lt;br /&gt;&lt;/p&gt;&lt;h3&gt;Пример полностью&lt;/h3&gt;&lt;p&gt;Этот пример показывает как можно получать свойства &lt;span style="font-family:courier new;"&gt;left&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;top&lt;/span&gt; и &lt;span style="font-family:courier new;"&gt;visibility&lt;/span&gt; элемента, расположенного на страничке. &lt;/p&gt;&lt;p&gt;Скрипт: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;SCRIPT LANGUAGE="JavaScript"&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;ns4 = (document.layers)? true:false&lt;br /&gt;ie4 = (document.all)? true:false&lt;br /&gt;function init() {&lt;br /&gt;if (ns4) block = document.blockDiv&lt;br /&gt;if (ie4) block = blockDiv.style&lt;br /&gt;}&lt;br /&gt;//--&amp;gt;&lt;br /&gt;&amp;lt;/SCRIPT&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;HTML: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;BODY onLoad="init()"&amp;gt;&lt;br /&gt;&amp;lt;A HREF="javascript:alert(block.left)"&amp;gt;left&amp;lt;/A&amp;gt; -&lt;br /&gt;&amp;lt;A HREF="javascript:alert(block.top)"&amp;gt;top&amp;lt;/A&amp;gt; -&lt;br /&gt;&amp;lt;A HREF="javascript:alert(block.visibility)"&amp;gt;visibility&amp;lt;/A&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;DIV ID="blockDiv" style="position:absolute; left:50px; top:100px; width:30px; height:30px; clip:rect(0px 30px 30px 0px); background-color:red; layer-background-color:red;"&amp;gt;&lt;br /&gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/BODY&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;span class="important"&gt;&lt;b&gt;Важно!&lt;/b&gt; Функция &lt;span class="src"  style="font-family:courier new;"&gt;init()&lt;/span&gt; вызывается в &lt;span class="src"&gt;BODY&lt;/span&gt; таге на событие &lt;span class="src"&gt;onLoad=""&lt;/span&gt;, то есть выполняется сразу после того, как загрузится вся страница, и DIV таг существует. Если вы попробуете выполнить этот скрипт перед полной загрузкой страницы, вы получите JavaScript ошибку вроде "block is not defined" (block не определён).&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;h3&gt;Различия&lt;/h3&gt;&lt;p&gt;Если вы попробуете этот пример в Netscape и в IE, то получите два разных результата:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Свойство&lt;/th&gt;&lt;th&gt;Результат в Netscape&lt;/th&gt;&lt;th&gt;Результат в Internet Explorer&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;left&lt;/td&gt;&lt;td&gt;50&lt;/td&gt;&lt;td&gt;50px&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;top&lt;/td&gt;&lt;td&gt;100&lt;/td&gt;&lt;td&gt;100px&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;visibility&lt;/td&gt;&lt;td&gt;show&lt;/td&gt;&lt;td&gt;visible&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;Эти различия могут быть причиной некоторых проблем, но в следующих выпусках мы поговорим, как обойти их. &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/javascript.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/javascript.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/2-java-script.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-109302239253433891.post-5528887344294243624</guid><pubDate>Sun, 17 Feb 2008 12:51:00 +0000</pubDate><atom:updated>2008-02-17T05:21:53.041-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>div</category><category domain='http://www.blogger.com/atom/ns#'>style</category><category domain='http://www.blogger.com/atom/ns#'>dynduo</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Выпуск 1 (продолжение) - Dynamic Duo</title><description>&lt;h3&gt;The Dynamic Duo&lt;/h3&gt;&lt;p&gt;The Dynamic Duo - это учебное пособие созданнае Дэном Штейнманом (Dan Steinman) и служащее одним из источников данной рассылки. Отличительная особенность этого пособия - ориентированность на кросс-браузерность (то есть применимость и для Netscape и для IE). Кроме того, пособие может быть стартовой точкой для новичков в JavaScript и CSS, поскольку, хоть и рассамтривает с самого начала достаточно продвинутые темы, делает это медленно и внимательно по отношению к базовым понятиям, необходимых для понимания функционирования DHTML. Концепции программирования представлены не сильно "заумно". Однако это же является и ограничением, поскольку превращает это пособие только в схему изучения. Поэтому я очень надеюсь на Вашу помощь, дорогие подписчики, в том смысле, что я жду от вас предложений и заявок на интересующие вас темы в веб-строительстве вообще и в клинтской интерактивности сайтов в частности. &lt;/p&gt;&lt;p&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h2&gt;Позиционирование CSS&lt;/h2&gt;&lt;p&gt;CSS являются базисом для DHTML как в браузере от Netscape, так и в IE от Microsoft. CSS позволяет создавать набор "стилей", которые определяют расположение и параметры элементов на вашей странице. Позиционирование каскадных таблиц стилей (CSS Positioning, CSS-P) это расширение CSS, которое даёт разработчику доступ к расположению чего бы то ни было на экране с точностью до пикселя. Я не буду пересказывать документацию CSS и CSS-P. Я вам даю линк: &lt;a href="http://www.w3.org/TR/WD-positioning"&gt;W3C CSS Positioning&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Итак, приступим к DHTML!&lt;/p&gt;&lt;span class="fullpost"&gt;&lt;h3&gt;DIV таги&lt;/h3&gt;&lt;p&gt;CSS-P активно использует DIV (division-разделение), пустой не форматирующий таг. Если вы поместите фрагмент HTML документа или просто текст между &amp;lt;DIV&amp;gt; и &amp;lt;/DIV&amp;gt;, то вы получите "DIV блок", "DIV елемент", "CSS-слой" или просто "слой". Таким образом, использование DIV тага ничем не отличается от большинства других HTML тагов:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;DIV&amp;gt;&lt;br /&gt;Это DIV таг&lt;br /&gt;&amp;lt;/DIV&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Эффект от использования DIV тага такой же, как и в случае применения &amp;lt;P&amp;gt; и &amp;lt;/P&gt;. Но использование DIV вместе с CSS определяет, как содержимое между &amp;lt;DIV&amp;gt; и &amp;lt;/DIV&amp;gt; будет размещёно на странице, какого будет цвета, размера и т.д. Для этого нужно присвоить DIV тагу аттрибут ID с "персональным" именем DIV'а: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;DIV &lt;span class="new"&gt;ID="truck"&lt;/span&gt;&amp;gt;&lt;br /&gt;Это DIV таг c ID truck&lt;br /&gt;&amp;lt;/DIV&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Значение аттрибута ID может состоять из букв (a-z, A-Z), цифр (0-9) и&lt;br /&gt;символа подчёркивания (_) , но начинаться с буквы.&lt;/p&gt;&lt;h3&gt;Подключение CSS&lt;/h3&gt;&lt;p&gt;Подключение CSS в HTML может происходить двумя способами. Первый способ - объявление стиля тага непосредственно в самом таге:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;DIV ID="truck" &lt;span class="new"&gt;style="здесь идёт определение стиля (см. ниже)"&lt;/span&gt;&amp;gt;&lt;br /&gt;Это стилизованый DIV таг&lt;br /&gt;&amp;lt;/DIV&amp;gt; &lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;Второй способ - это использование внешнего тага STYLE:&lt;/p&gt;&lt;p&gt;&lt;code&gt;&amp;lt;STYLE TYPE="text/css"&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;&lt;span class="new"&gt;#truck {здесь идёт определение стиля (см. ниже)}&lt;br /&gt;&lt;/span&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/STYLE&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;DIV ID=&lt;span class="new"&gt;"truck"&lt;/span&gt;&amp;gt;&lt;br /&gt;Это стилизованный DIV таг&lt;br /&gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Заметьте, как ID может использоваться для применения стилей&lt;/p&gt;&lt;h3&gt;Кросс-браузерные свойcтва СSS&lt;/h3&gt;&lt;p&gt;Поскольку цель данной рассылки - создание сайтов при помощи DHTML так, что эти сайты отображаются правильно и функционируют в обоих браузерах, мы слегка ограничены в выборе средств предлагаемых CSS. Ниже я привожу (неполный) список свойств, которые имплементированы очень похоже на то, как это стандартизировано в &lt;a href="http://www.w3c.org/"&gt;W3C&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Название свойства&lt;/th&gt;&lt;th&gt;Значение свойства&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;position&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Определяет как DIV так позиционируется: &lt;i&gt;relative&lt;/i&gt;-относительно других HTML элементов, &lt;i&gt;absolute&lt;/i&gt; - согласно определённо заданным координатам.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;left (right) &lt;/b&gt;&lt;/td&gt;&lt;td&gt;Расстояние в пикселах от левого (правого) края окна браузера(абсолютное позиционирование) или относительного HTML элемента (относительное позиционирование)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;top (bottom) &lt;/b&gt;&lt;/td&gt;&lt;td&gt;Расстояние в пикселах от верхнего (нижнего) края окна браузера(абсолютное позиционирование) или относительного HTML элемента(относительное позиционирование)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;width&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Ширина DIV тага. Любой HTML элемент или текст, вставленный в этот DIV, должен автоматически настраиваться по длине согласно этому значению.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Важно!&lt;/b&gt;&lt;br /&gt;Если вы используете слои для создания анимации, обязательно установите ширину явно. Потому что в IE ширина автоматически равна 100%. Тогда во время движения анимации внизу окна возникает элемент прокрутки, который снижает скорость анимации.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;height&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Высота DIV тага. Это свойство используется очень редко, в основном для ограничивания размеров слоя.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;clip&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Определяет прямоугольник, ограничивающий уровень. Прямоугольник определяется через 4 координаты: clip:rect(top,right,bottom,left);&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;visibility&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Определяет видимость DIV тага: &lt;i&gt;visible&lt;/i&gt; - видимый, &lt;i&gt;hidden&lt;/i&gt; - невидимый, &lt;i&gt;inherited&lt;/i&gt; - наследует видимость элемента, внутри которого расположен (значение по умолчанию)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;z-index&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Порядок наложения слоёв друг на друга&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;background-color&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Фоновый цвет DIV тага. В Netscape это свойство применимо только к тексту, но если вы хотите рисовать прямоугольники, вы должны также прописать layer-background-color с тем же значением&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;layer-background-color&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Фоновый цвет DIV тага в Netscape&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;background-image&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Фоновая картинка DIV тага для IE&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;layer-background-image&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Фоновая картинка DIV тага для Netscape&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;color&lt;/b&gt;&lt;/td&gt;&lt;td&gt;Цвет текста внутри DIV тага&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Синтаксис CSS отличается от синтаксиса HTML: свойство, двоеточие, значение свойства, точка с запятой. Не нужно устанавливать значения для всех свойств. Кроме того, единица меры по умолчанию - пихел (точка на экране), так что необязательно ставить "px" после left, top, width, хотя и рекомендуется. Наконец, пробелы между объявлениями свойств игнорируются: вы можете разместить их в одной строке, или в разных строках, и даже с&lt;br /&gt;табуляцией между ними. &lt;/p&gt;&lt;p&gt;Если вставить эти строки &lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span class="new"&gt;position:relative; clip:rect(0px 200px 100px 0px);&lt;br /&gt;left:50px; top:10px; width:200px; height:100px; color:yellow;&lt;br /&gt;background-color:#FF0000; layer-background-color:#FF0000; &lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;/code&gt;вместо "здесь идёт определение стиля (см. ниже)" в примерах приведенных&lt;br /&gt;выше, то получится вот такой красный прямоугольник с надписью:&lt;br /&gt;&lt;/p&gt;&lt;div id="truck" style="LEFT: 50px; WIDTH: 200px; CLIP: rect(0px 200px 100px 0px); COLOR: yellow; POSITION: relative; TOP: 10px; HEIGHT: 100px; BACKGROUND-COLOR: #ff0000; layer-background-color: #FF0000"&gt;Это стилизованный DIV таг&lt;/div&gt;&lt;br /&gt;&lt;div id="text" style="LEFT: 500px; WIDTH: 80px; COLOR: teal; TOP: 2900px; xPOSITION: absolute"&gt;Абсолютное позиционирование&lt;/div&gt;&lt;p&gt;Фраза "Абсолютное позиционирование" была создана вот таким стилем: &lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span class="new"&gt;position:absolute; left:500px; top:2900px; width:80px; color:teal; &lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;По мотивам &lt;/span&gt;&lt;a href="http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/stylesheets.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.jalix.org/ressources/internet/dhtml/_dynduo/dynduo/en/stylesheets.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;</description><link>http://cssdhtml.blogspot.com/2008/02/dynamic-duo-dynamic-duo-dan-steinman.html</link><author>noreply@blogger.com (Natalia Macheda)</author><thr:total>0</thr:total></item></channel></rss>