<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/9310" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" version="2.0">

<channel>
	<title>Свобода слова вебмастерского</title>
	<link>http://dimox.name</link>
	<description>CSS-верстка, веб-мастеринг, интернет-технологии, манимейкинг</description>
	<pubDate>Mon, 06 Sep 2010 15:46:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=9310</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Dimox" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="dimox" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Dimox</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Как, не будучи программистом, я умудряюсь создавать плагины для WordPress</title>
		<link>http://dimox.name/i-am-not-a-php-programmer/</link>
		<comments>http://dimox.name/i-am-not-a-php-programmer/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 13:42:11 +0000</pubDate>
		<dc:creator>Dimox</dc:creator>
		
		<category><![CDATA[Веб-мастеринг]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[Веб-разработка]]></category>

		<guid isPermaLink="false">http://dimox.name/i-am-not-a-php-programmer/</guid>
		<description><![CDATA[ Примерно лет 5 назад я ходил на собеседования в местную компанию, занимающуюся созданием сайтов. Я шел туда, как верстальщик.
Один из вопросов, который мне задали, был: &#8220;На сколько ты оцениваешь свои знания языка программирования PHP по 10-бальной шкале?&#8221;. Мой ответ был: &#8220;Примерно 1-2 балла&#8221;.
В результате в эту компанию меня не взяли, объяснив тем, что им [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://lh6.ggpht.com/_lQOZbCjTXW8/TH5VxKfLaKI/AAAAAAAAARA/KVJ3BHbLx0s/php.jpg" alt="Как, не будучи программистом, я умудряюсь создавать плагины для WordPress" class="alignright" /> Примерно лет 5 назад я ходил на собеседования в местную компанию, занимающуюся созданием сайтов. Я шел туда, как верстальщик.</p>
<p>Один из вопросов, который мне задали, был: &#8220;На сколько ты оцениваешь свои знания языка программирования PHP по 10-бальной шкале?&#8221;. Мой ответ был: &#8220;Примерно 1-2 балла&#8221;.</p>
<p>В результате в эту компанию меня не взяли, объяснив тем, что им нужны специалисты со знанием PHP.</p>
<p>Все эти годы, являясь веб-девелопером, я постоянно ощущаю необходимость в знании языка PHP, поскольку мне приходится сталкиваться с ним регулярно. Однако у меня никак не получается его изучить.</p>
<p>В сравнении с изучением технологий HTML, CSS и jQuery, которые я осваивал и осваиваю просто на &#8220;Ура!&#8221;, PHP почему-то мне дается нелегко. И на данный момент, спустя 5 лет, я все также оцениваю свой уровень знаний PHP в <strong>2 (ну, максимум 3) балла из 10</strong>.</p>
<p>Несмотря на мои скудные PHP-познания, я умудрился создать <a href="http://wordpress.org/extend/plugins/profile/dimox" target="_blank">ряд плагинов</a> для движка WordPress.</p>
<p><strong>Как же это у меня получается?</strong> <a href="http://dimox.name/i-am-not-a-php-programmer/#more-1209" class="more-link">(more&#8230;)</a></p>
<hr /><p>© 2010 <a href="http://dimox.name/">Dimox.name</a> | <a href="http://dimox.name/i-am-not-a-php-programmer/">Как, не будучи программистом, я умудряюсь создавать плагины для WordPress</a><br />Все права защищены. Перепечатка запрещена.</p><img src="http://feeds.feedburner.com/~r/Dimox/~4/-3SryDkBEJI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dimox.name/i-am-not-a-php-programmer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Плавающая панель «Добавить в социальные сервисы»</title>
		<link>http://dimox.name/socializ-floating-panel/</link>
		<comments>http://dimox.name/socializ-floating-panel/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 00:52:38 +0000</pubDate>
		<dc:creator>Dimox</dc:creator>
		
		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[Скрипт]]></category>

		<category><![CDATA[Социальные закладки]]></category>

		<category><![CDATA[Социальные сервисы]]></category>

		<guid isPermaLink="false">http://dimox.name/socializ-floating-panel/</guid>
		<description><![CDATA[ Недавно я решил отказаться от использования своего скрипта &#8220;Добавить в закладки&#8221; и создал новый скрипт на jQuery - плавающую панель с кнопками добавления статьи в социальные сервисы. Эту панель вы можете прямо сейчас наблюдать слева на странице любой статьи данного блога (при разрешении экрана более 1024 пикселей в ширину).
Насколько я вижу, такая модель социализации [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://lh4.ggpht.com/_lQOZbCjTXW8/TDBmwPUH62I/AAAAAAAAAOU/vAIlCcSjpXo/socializ-floating-panel.png" alt="" class="alignright" /> Недавно я решил отказаться от использования своего <a href="http://dimox.name/social-bookmark-jquery-script/">скрипта &#8220;Добавить в закладки&#8221;</a> и создал новый скрипт на jQuery - плавающую панель с кнопками добавления статьи в социальные сервисы. Эту панель вы можете прямо сейчас наблюдать слева на странице любой статьи данного блога (при разрешении экрана более 1024 пикселей в ширину).</p>
<p>Насколько я вижу, такая модель социализации сайта сегодня очень популярна - я встречаю подобную панель на многих зарубежных блогах. Оно и правильно - такой вариант наиболее удобен для посетителя - независимо от того, какую часть статьи он читает, эта панелька всегда перед глазами, т.к. она фиксируется на одном месте при прокрутке текста страницы.</p>
<p>Как я и ожидал, после создания новой панели добавления в социальные сервисы посетители блога меня стали спрашивать о том, как сделать такую панельку, поэтому в этом посте я делюсь с вами скриптом. <a href="http://dimox.name/socializ-floating-panel/#more-1128" class="more-link">(more&#8230;)</a></p>
<hr /><p>© 2010 <a href="http://dimox.name/">Dimox.name</a> | <a href="http://dimox.name/socializ-floating-panel/">Плавающая панель «Добавить в социальные сервисы»</a><br />Все права защищены. Перепечатка запрещена.</p><img src="http://feeds.feedburner.com/~r/Dimox/~4/ZoIvnFFqk7c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dimox.name/socializ-floating-panel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Коллекция jQuery-скриптов от Димокса</title>
		<link>http://dimox.name/jquery-scripts-from-dimox/</link>
		<comments>http://dimox.name/jquery-scripts-from-dimox/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 06:45:45 +0000</pubDate>
		<dc:creator>Dimox</dc:creator>
		
		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[Плагин]]></category>

		<category><![CDATA[Скрипт]]></category>

		<guid isPermaLink="false">http://dimox.name/jquery-scripts-from-dimox/</guid>
		<description><![CDATA[ Это, можно сказать, некий итоговый пост того, что я успел &#8220;настряпать&#8221; за время ведения этого блога, используя замечательный фреймворк jQuery.

Скрипт для блоков с вкладками (табами) - два очень простеньких универсальных варианта создания табов-переключателей. Пример в сайдбаре.

Скрипт &#8220;Добавить в закладки&#8221; - при наведении на ссылку выпадает список ссылок для сохранения страницы в социальных закладках. При [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://lh5.ggpht.com/_lQOZbCjTXW8/TCsg3n6v-ZI/AAAAAAAAAOA/R6Btby2xMt4/jQuery-logo.gif" alt="Коллекция jQuery-скриптов от Димокса" class="alignright noborder" /> Это, можно сказать, некий итоговый пост того, что я успел &#8220;настряпать&#8221; за время ведения этого блога, <strong>используя замечательный фреймворк jQuery</strong>.</p>
<ul>
<li><strong><a href="http://dimox.name/universal-jquery-tabs-script/">Скрипт для блоков с вкладками (табами)</a></strong> - два очень простеньких универсальных варианта создания табов-переключателей. Пример в сайдбаре.</li>
<li>
<p><strong><a href="http://dimox.name/social-bookmark-jquery-script/">Скрипт &#8220;Добавить в закладки&#8221;</a></strong> - при наведении на ссылку выпадает список ссылок для сохранения страницы в социальных закладках. При клике на ссылку &#8220;Добавить в закладки&#8221; происходит переключение между списком закладочных сервисов и социальных сетей. К сожалению, не все социальные сети, которые я добавил в список, существуют в данный момент.</p>
<p>Недавно я отказал от этого скрипта в пользу более красивого решения - создал плавающую панельку, которую вы сейчас можете наблюдать слева от поста. Такой вариант мне нравится больше, да и более соответствует современным тенденциям. Вероятно, напишу пост о создании такой панельки.</p>
</li>
<li><strong><a href="http://dimox.name/jquery-style-switcher/" target="_blank">Переключатель размера шрифта сайта</a></strong> - в данный момент рабочий пример находится справа вверху под поисковой формой. Думаю убрать эту функцию с блога. Интересно, кто-нибудь вообще пользуется ей?</li>
<li><strong><a href="http://dimox.name/dynamic-font-size-on-jquery/">Динамическое изменение размера шрифта</a></strong> - скрипт, который меняет размер шрифта страницы в зависимости от размера окна браузера. Для себя я применения данному скрипту пока нигде не нашел.</li>
<li><strong><a href="http://dimox.name/jquery-comment-preview-script-1/">Скрипт предпросмотра комментария 1-й вариант</a></strong> - предпросмотр появляется под формой добавления коммента по мере набора текста. Прицепить можно к любому сайту с формой.</li>
<li><strong><a href="http://dimox.name/jquery-comment-preview-script-2/">Скрипт предпросмотра комментария 2-й вариант</a></strong> - предпросмотр появляется при клике на соответствующую кнопку и отображается вместо текстового поля. На мой взгляд, это более красивое решение, чем в первом варианте. Этот скрипт также можно приделать к любому сайту.</li>
<li><strong><a href="http://dimox.name/twitter-preview-jquery-script/">Предпросмотр твита в веб-интерфейсе Твиттера</a></strong>. Этот скрипт - для пользователей веб-интерфейса Твиттера и любителей браузера Opera. Хотя, думаю, есть способ прикрутить его и к другим браузерам.</li>
<li><strong><a href="http://dimox.name/jquery-comment-preview-wordpress-plugin/">Плагин для WordPress &#8220;Предпросмотр комментария&#8221;</a></strong> - по мотивам вышеуказанного 2-го варианта я создал этот плагин. Мне очень нравится, как все получилось. На сегодняшний день его скачали <a href="http://wordpress.org/extend/plugins/jquery-comment-preview/stats/" target="_blank">около 8 тысяч раз</a>.</li>
<li><strong><a href="http://dimox.name/jquery-post-preview-wordpress-plugin/">Плагин для WordPress &#8220;Предпросмотр поста в админке&#8221;</a></strong> - аналогичный предыдущему плагин, только для страницы создания/редактирования записи в админке.</li>
<li><strong><a href="http://dimox.name/userjs-jquery-script-wordpress-authorization/" target="_blank">UserJS-скрипт для авторизации в WordPress</a></strong> - это для тех, кто умеет подключать UserJS-скрипты к своему браузеру. Удобная всплывающая форма авторизации.</li>
<li><strong><a href="http://dimox.name/jquery-script-hi-comment-author/">Скрипт для WordPress &#8220;Привет, комментатор!&#8221;</a></strong> - показывает посетителю приветственное сообщение рядом с формой добавления коммента, если он хотя бы раз оставлял комментарий.</li>
<li>
<p><strong><a href="http://dimox.name/jquery-script-cookies-wordpress-maxcache/">Скрипт, решающий проблему с куками на WordPress при использовании MaxCache</a></strong> - это для пользователей WordPress, у которых стоит функция кэширования от Максима.</p>
<p>У скрипта есть косяк с UTF-8 - если писать имя русскими буквами через FireFox, то из cookie символы вставляются кракозябрами. В комментариях предложили решение, но у меня что-то ничего не вышло.</p>
</li>
<li><strong><a href="http://dimox.name/comment-scrolling-jquery-script/">Скрипт для WordPress &#8220;прокрутка к родительскому комментарию и обратно&#8221;</a></strong> - идея была позаимствована на Хабрахабре. Имеет смысл ставить, когда в комментариях сайта формируются большие ветки обсуждений.</li>
<li>
<p><strong><a href="http://dimox.name/opera-widget-google-translator-by-dimox/">Виджет-переводчик &#8220;Google Translator&#8221; для браузера Opera</a></strong> - интерфейс работает с помощью jQuery, а перевод - с помощью API Гугла.</p>
<p>У меня получилось очень удачное и популярное решение - мой виджет в данный момент стабильно держит 2-е место в <a href="http://widgets.opera.com/popular/" target="_blank">списке самых скачиваемых</a>, что не может не радовать.</p>
</li>
</ul>
<p>И еще парочка jQuery-скриптов, о которых я нигде не писал, но которые используются на данном блоге:</p>
<ul>
<li><strong>Цитирование комментария</strong> - если выделить какой-либо кусок текста в комментариях, то около выделения всплывает панелька со ссылкой &#8220;вставить цитату в поле ответа&#8221;, при клике на которую выделенный текст вставится в форму добавления коммента.</li>
<li><strong>Валидация полей &#8220;Имя&#8221; и &#8220;Е-mаil&#8221;</strong> в форме добавления комментария. Если одно из этих поле заполнено неправильно, то они подсвечиваются.</li>
</ul>
<p>Вот такой получился немалый список. Думаю, со временем он еще более разрастется - уж больно люблю jQuery и процесс написания скриптов на нем.</p>
<p>Вообще, jQuery для меня - это такой следующий этап в моем развитии, как веб-разработчика, после CSS и HTML. Если в последних двух технологиях я уже довольно силен и тут двигаться особо уже некуда, то jQuery - это, как говорится, поле непаханое, и идти в этом направлении есть куда.</p>
<p class="separator">* * *</p>
<p>Блоггер Max1mus на своем персональном блоге публикует актуальные <a href="http://max1net.com/" target="_blank">способы заработка в Интернете</a>, полезную информацию о ведении блогов, SEO, SMO, а также делится личным опытом о раскрутке сайтов.</p>
<hr /><p>© 2010 <a href="http://dimox.name/">Dimox.name</a> | <a href="http://dimox.name/jquery-scripts-from-dimox/">Коллекция jQuery-скриптов от Димокса</a><br />Все права защищены. Перепечатка запрещена.</p><img src="http://feeds.feedburner.com/~r/Dimox/~4/BhOTmCA18io" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dimox.name/jquery-scripts-from-dimox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>“Защита от кражи” - новая функция в панелях регистраторов доменов</title>
		<link>http://dimox.name/domain-theft-protection/</link>
		<comments>http://dimox.name/domain-theft-protection/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 08:03:18 +0000</pubDate>
		<dc:creator>Dimox</dc:creator>
		
		<category><![CDATA[Интернет]]></category>

		<guid isPermaLink="false">http://dimox.name/domain-theft-protection/</guid>
		<description><![CDATA[Думаю, многим знакома следующая панель регистрации доменов, которая используется регистраторами:

Сегодня, продляя один из своих доменов, я обнаружил новую функцию, которая называется &#8220;Theft Protection&#8221; (защита от кражи).
Это абсолютно бесплатная функция, которая обеспечивает вашему домену дополнительную безопасность - она позволяет заблокировать любые операции с доменом с целью предотвратить изменение данных и несанкционированный трансфер домена (я не представляю, [...]]]></description>
			<content:encoded><![CDATA[<p>Думаю, многим знакома следующая панель регистрации доменов, которая используется регистраторами:</p>
<p><img src="http://lh5.ggpht.com/_lQOZbCjTXW8/TA9ElKBByjI/AAAAAAAAAMQ/YsfdB1YOEZY/domain-control-panel.png" alt="Панель управления доменом" class="aligncenter" /></p>
<p>Сегодня, продляя один из своих доменов, я обнаружил новую функцию, которая называется &#8220;<strong>Theft Protection</strong>&#8221; (защита от кражи).</p>
<p>Это абсолютно бесплатная функция, которая обеспечивает вашему домену дополнительную безопасность - она позволяет заблокировать любые операции с доменом с целью предотвратить изменение данных и несанкционированный трансфер домена (я не представляю, каким образом это возможно без доступа к электронной почте, но, раз такая функция появилась, значит все это возможно).</p>
<p><strong>Защита активируется следующим образом:</strong></p>
<ol>
<li>Заходим на страницу домена.</li>
<li>
<p>Внизу блока &#8220;Информация о Заказе&#8221; находим строку &#8220;Theft Protection&#8221; и жмем напротив нее на ссылку &#8220;Изменять&#8221;, если статус опции - &#8220;Деактивированный&#8221;:</p>
<p><img src="http://lh6.ggpht.com/_lQOZbCjTXW8/TA9GZTJZAQI/AAAAAAAAAMU/67z3BdJGizw/theft-protection1.png" alt="Theft Protection" class="aligncenter" /></p>
</li>
<li>
<p>Кликаем на кнопку &#8220;Enable&#8221;.</p>
<p><img src="http://lh4.ggpht.com/_lQOZbCjTXW8/TA9HIUOf1XI/AAAAAAAAAMY/s1YfZWfJccM/theft-protection2.png" alt="Активируем защиту от кражи домена" class="aligncenter" /></p>
</li>
<li>Все. Защита от кражи домена активирована. Теперь на странице домена в строке &#8220;Theft Protection&#8221; наблюдаем статус &#8220;Enabled&#8221;.</li>
</ol>
<p>Рекомендую непременной воспользоваться данной защитой и активировать ее для всех ваших доменов. Если вам нужно будет перевести домен другому пользователю и регистратору, то надо будет временно отключить ее.</p>
<p>Насколько я понял, после появления этой функции она автоматически активируется для всех добавляемых в панель доменов.</p>
<p class="separator">* * *</p>
<p>Маркетинговая группа Newmann Bauer предоставляет комплекс мероприятий европейского уровня, направленных на увеличение прибыли клиента: создание, оптимизация и <a href="http://www.buyfish.ru" target="_blank">продвижение сайта в Интернете</a> и последующая постоянная поддержка полученного результата для удержания существующих позиций.</p>
<hr /><p>© 2010 <a href="http://dimox.name/">Dimox.name</a> | <a href="http://dimox.name/domain-theft-protection/">"Защита от кражи" - новая функция в панелях регистраторов доменов</a><br />Все права защищены. Перепечатка запрещена.</p><img src="http://feeds.feedburner.com/~r/Dimox/~4/s1qFN-V8X5g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dimox.name/domain-theft-protection/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CSS-трюк: двойные бордюры-разделители вертикального меню</title>
		<link>http://dimox.name/menu-with-double-separators/</link>
		<comments>http://dimox.name/menu-with-double-separators/#comments</comments>
		<pubDate>Mon, 31 May 2010 06:04:50 +0000</pubDate>
		<dc:creator>Dimox</dc:creator>
		
		<category><![CDATA[CSS-верстка]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[Верстка]]></category>

		<category><![CDATA[Трюк]]></category>

		<guid isPermaLink="false">http://dimox.name/menu-with-double-separators/</guid>
		<description><![CDATA[Когда при верстке требуется создать меню с разделителем, я использую замечательную технику, которую когда-то давно предложил Юрий &#8220;akella&#8221; Артюх.
Недавно я столкнулся с очень похожей, но более сложной задачей - мне нужно было сверстать вертикальное меню, разделителем которого является двойная линия, состоящая из двух разных цветов (синий и белый):

Возможные способы решения задачи:

использовать изображение;
использовать только CSS.

В решении [...]]]></description>
			<content:encoded><![CDATA[<p>Когда при верстке требуется создать меню с разделителем, я использую <a href="http://cssing.org.ua/2006/11/05/menu-separators/" target="_blank">замечательную технику</a>, которую когда-то давно предложил Юрий &#8220;akella&#8221; Артюх.</p>
<p>Недавно я столкнулся с очень похожей, но более сложной задачей - мне нужно было сверстать <strong>вертикальное меню, разделителем которого является двойная линия</strong>, состоящая из двух разных цветов (синий и белый):</p>
<p><img src="http://lh4.ggpht.com/_lQOZbCjTXW8/TAIyDr632aI/AAAAAAAAALQ/_NiviehE9JM/menu.gif" alt="Вертикальное меню с двойным разделителем-бордюром" class="aligncenter" /></p>
<p><strong>Возможные способы решения задачи:</strong></p>
<ul>
<li>использовать изображение;</li>
<li>использовать только CSS.</li>
</ul>
<p><strong>В решении необходимо предусмотреть, что:</strong></p>
<ul>
<li>высота пункта списка может меняться, т.е. текст может быть в несколько строк;</li>
<li>часть текста может быть за пределами тега ссылки.</li>
</ul>
<h3>Проблемы при использовании изображения</h3>
<p>Объясню, почему решение в виде использования изображения в качестве бордюра не подходит в данном случае.</p>
<p>Структура HTML-кода нашего меню максимально проста:</p>
<div class="codecolorer-container html4strict " style="overflow:auto;white-space:nowrap;width:100%"><table><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="html4strict codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sc2">&lt;<span class="kw2">ul</span>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="kw2">li</span>&gt;&lt;<span class="kw2">a</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>Главная<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">a</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">li</span>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="kw2">li</span>&gt;&lt;<span class="kw2">a</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>О компании<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">a</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">li</span>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="kw2">li</span>&gt;&lt;<span class="kw2">a</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>Статьи<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">a</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">li</span>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="kw2">li</span>&gt;&lt;<span class="kw2">a</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>Отзывы<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">a</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">li</span>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="kw2">li</span>&gt;&lt;<span class="kw2">a</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>Фотографии<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">a</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">li</span>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="kw2">li</span>&gt;&lt;<span class="kw2">a</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>Вопросы<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">a</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">li</span>&gt;</span><br />
&nbsp; <span class="sc2">&lt;<span class="kw2">li</span>&gt;&lt;<span class="kw2">a</span> <span class="kw3">href</span><span class="sy0">=</span><span class="st0">&quot;#&quot;</span>&gt;</span>Контакты<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">a</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">li</span>&gt;</span><br />
<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">ul</span>&gt;</span></div></td></tr></tbody></table></div>
<p>По идее, используя технику Юры Артюха, можно было бы разделитель сделать изображением и поставить его фоном к элементу <tt>&lt;li></tt>. Но дело в том, что в списке у каждого пункта еще используется изображение-маркер, и если это изображение ставить фоном тега <tt>&lt;a></tt>, тогда возникают следующие проблемы:</p>
<ol>
<li>
<p>Если в меню появится многострочный пункт, тогда меню станет некрасивым (не хватает одинакового отступа слева у текста в каждой строке):</p>
<p><img src="http://lh6.ggpht.com/_lQOZbCjTXW8/TAI2PYpOV8I/AAAAAAAAALU/ApegatJmckg/menu2.gif" alt="Некрасивое меню" class="aligncenter" /></p>
</li>
<li>
<p>Первую проблему можно было бы решить, сделав ссылку блочный элементом (<tt>a {display:block}</tt>), однако при этом возникнет другая проблема - если <strong>после ссылки</strong> добавить текст, то он перенесется на новую строку, а этого также необходимо избежать:</p>
<p><img src="http://lh4.ggpht.com/_lQOZbCjTXW8/TAI4ASAIuVI/AAAAAAAAALY/hgcTmfgy3-Y/menu3.gif" alt="Некрасивое меню" class="aligncenter" /></p>
</li>
</ol>
<h3>Решение с помощью CSS</h3>
<p>Мое решение с использованием чистого CSS позволяет избежать вышеописанных проблем.</p>
<p>CSS-код будет выглядеть нижеследующим образом. Основные для нашей задачи стили я прокомментирую:</p>
<div class="codecolorer-container css " style="overflow:auto;white-space:nowrap;width:100%;height:300px"><table><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br /></div></td><td><div class="css codecolorer" style="font-family:Monaco,Lucida Console,monospace">ul <span class="br0">&#123;</span><br />
&nbsp; <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">150px</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">padding</span><span class="sy0">:</span> <span class="nu0">0</span> <span class="re3">6px</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">background</span><span class="sy0">:</span> <span class="re0">#F2F7FD</span> <span class="kw2">url</span><span class="br0">&#40;</span><span class="co2">bg.gif</span><span class="br0">&#41;</span> <span class="nu0">0</span> <span class="re3"><span class="nu0">100</span>%</span> <span class="kw2">repeat-x</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">border</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#C0D7FB</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">font-weight</span><span class="sy0">:</span> <span class="kw2">bold</span><span class="sy0">;</span><br />
<br />
&nbsp; <span class="kw1">overflow</span><span class="sy0">:</span> <span class="kw2">hidden</span><span class="sy0">;</span> <span class="coMULTI">/* необходимо для того, чтобы<br />
&nbsp; спрятать верхний бордюр у первого пункта и<br />
&nbsp; нижний бордюр у последнего пункта */</span><br />
<span class="br0">&#125;</span><br />
li <span class="br0">&#123;</span><br />
&nbsp; <span class="kw1">list-style</span><span class="sy0">:</span> <span class="kw2">none</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">background</span><span class="sy0">:</span> <span class="kw2">url</span><span class="br0">&#40;</span><span class="co2">bullet.gif</span><span class="br0">&#41;</span> <span class="re3">4px</span> <span class="re3">8px</span> <span class="kw2">no-repeat</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">padding</span><span class="sy0">:</span> <span class="re3">5px</span> <span class="nu0">0</span> <span class="re3">8px</span> <span class="re3">22px</span><span class="sy0">;</span><br />
<br />
&nbsp; <span class="kw1">border-top</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#C0D7FB</span><span class="sy0">;</span> <span class="coMULTI">/* синяя линия */</span><br />
&nbsp; <span class="kw1">border-bottom</span><span class="sy0">:</span> <span class="re3">1px</span> <span class="kw2">solid</span> <span class="re0">#FFF</span><span class="sy0">;</span> <span class="coMULTI">/* белая линия */</span><br />
&nbsp; <span class="kw1">margin</span><span class="sy0">:</span> <span class="re3">-1px</span> <span class="nu0">0</span> <span class="re3">-2px</span><span class="sy0">;</span> <span class="coMULTI">/* &quot;нахлестываем&quot; на предыдущий и следующий пункт,<br />
&nbsp; в результате чего и достигается нужный эффект */</span><br />
&nbsp; <span class="kw1">height</span><span class="sy0">:</span> <span class="re3"><span class="nu0">1</span>%</span><span class="sy0">;</span> <span class="coMULTI">/* для устранения бага в IE6 и IE7 */</span><br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>Для наглядности вы можете посмотреть на <a href="http://dimox.name/examples/menu-with-double-separators/">живой пример</a>.</p>
<p>Вот, собственно, и все. Решение кроссбраузерное, надеюсь, кому-нибудь пригодится.</p>
<p class="separator">* * *</p>
<p>Для качественного сайта с большой аудиторией лучше использовать <a href="http://vds64.com/" target="_blank">VPS хостинг</a> (VPS или VDS - это виртуальный выделенный сервер), который, по сравнению с обычным виртуальным хостингом, имеет большие преимущества в плане ресурсов и программной части.</p>
<hr /><p>© 2010 <a href="http://dimox.name/">Dimox.name</a> | <a href="http://dimox.name/menu-with-double-separators/">CSS-трюк: двойные бордюры-разделители вертикального меню</a><br />Все права защищены. Перепечатка запрещена.</p><img src="http://feeds.feedburner.com/~r/Dimox/~4/NORfXBZ8uBw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dimox.name/menu-with-double-separators/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
