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

<channel>
	<title>SEO руками начинающего мастера &#187; Верстка</title>
	<atom:link href="http://seozest.ru/layout/feed/" rel="self" type="application/rss+xml" />
	<link>http://seozest.ru</link>
	<description>SEO, бизнес, блоги</description>
	<lastBuildDate>Wed, 30 Nov 2011 16:55:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Кроссбраузерное меню для сайта</title>
		<link>http://seozest.ru/layout/cssmenu/</link>
		<comments>http://seozest.ru/layout/cssmenu/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 14:25:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Верстка]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Блог]]></category>
		<category><![CDATA[Дизайн]]></category>

		<guid isPermaLink="false">http://seozest.ru/?p=289</guid>
		<description><![CDATA[			
				
			
		
 Наиболее популярным вариантом создания кроссбраузерного выпадающего меню для сайта можно назвать способ Патрика Гриффитса. Это минимальная HTML-разметка в виде маркированного списка, несколько строк JavaScript`а для совместимости с IE, и красиво оформленный CSS.
Прежде, чем мы начнём рассмотрение этого способа, посмотрите на окончательный вариант выпадающего меню.
&#160;
Теперь посмотрим на разметку HTML-кода. Она достаточно удобная и очень проста:

&#60;ul&#62;
 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fseozest.ru%2Flayout%2Fcssmenu%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fseozest.ru%2Flayout%2Fcssmenu%2F&amp;source=seozest&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><img title="Кроссбраузерное меню" style="margin: 0px 10px 10px 0px" height="144" alt="Кроссбраузерное меню" src="http://seozest.ru/files/2010/03/mainmenu.gif" width="144" align="left" border="0" /> Наиболее популярным вариантом создания кроссбраузерного выпадающего меню для сайта можно назвать способ Патрика Гриффитса. Это минимальная HTML-разметка в виде маркированного списка, несколько строк JavaScript`а для совместимости с IE, и красиво оформленный CSS.</p>
<p>Прежде, чем мы начнём рассмотрение этого способа, посмотрите на <a href="http://seozest.ru/files/2010/03/menu.php" target="_blank">окончательный вариант</a> выпадающего меню.</p>
<p>&#160;</p>
<p>Теперь посмотрим на разметку HTML-кода. Она достаточно удобная и очень проста:</p>
<p><span id="more-289"></span>
<pre>&lt;ul&gt;
    &lt;li&gt;Первый пункт&lt;/li&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;/li&gt;
    &lt;li&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;/li&gt;
    &lt;li&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;/li&gt;
&lt;/ul&gt;</pre>
<p>Без оформления такая разметка выглядит следующим образом:</p>
<p><img title="Выпадающее меню без CSS" height="272" alt="Выпадающее меню без CSS" src="http://seozest.ru/files/2010/03/menu.gif" width="211" border="0" /></p>
<p>Теперь можно приступить к созданию CSS. Прежде всего, обнуляем отступы и поля списка меню, подставляемые браузером по умолчанию, и убираем маркеры:</p>
<pre>&lt;style&gt;
    ul { padding: 0; margin: 0; list-style: none; }
&lt;/style&gt;</pre>
<p>В результате этой несложной операции получаем следующее:</p>
<p><img title="Кроссбраузерное меню" height="271" alt="Кроссбраузерное меню" src="http://seozest.ru/files/2010/03/menu2.gif" width="188" border="0" /> </p>
<p>После этого, первый уровень делаем горизонтальным, и задаем фиксированную ширину для пункта меню:</p>
<pre>&lt;style&gt;
    li { float: left; width: 100px; }
&lt;/style&gt;</pre>
<p>Эта операция видоизменяет наше меню к следующему представлению:</p>
<p><img title="Выпадающее меню с применением CSS" height="116" alt="Выпадающее меню с применением CSS" src="http://seozest.ru/files/2010/03/menu3.gif" width="380" border="0" /></p>
<p>Второй уровень будет позиционироваться относительно пунктов первого меню. Для этого необходимо установить параметр <strong>position</strong>, как <em>relative – </em>для пунктов первого меню, и как <em>absolute</em> – для меню второго уровня:</p>
<pre>&lt;style&gt;
    li { position: relative; }
    li ul { position: absolute; }
&lt;/style&gt;</pre>
<p>Чтобы избежать смещения меню в правый верхний угол, сразу устанавливаем координаты позиционирования, так как у браузеров свои значения по умолчанию:</p>
<pre>&lt;style&gt;
    li ul { top: 10px; left: 0; }
&lt;/style&gt;</pre>
<p>Осталось только скрыть второй уровень:</p>
<pre>&lt;style&gt;
    li ul { display: none; }
&lt;/style&gt;</pre>
<p>И дописать стили, делающие его видимым, при наведении указателя на пункт меню:</p>
<pre>&lt;style&gt;
    li:hover ul { display: block; }
&lt;/style&gt;</pre>
<p>Вот и всё. У нас получилось выпадающее меню, раскрывающееся при наведении указателя:</p>
<p><img title="Двухуровневое меню" height="121" alt="Двухуровневое меню" src="http://seozest.ru/files/2010/03/menu4.gif" width="345" border="0" /></p>
<p>Поработав немного со стилями, можно добиться нужного оформления:</p>
<p><img title="Красивое меню с использованием CSS" height="133" alt="Красивое меню с использованием CSS" src="http://seozest.ru/files/2010/03/menu5.gif" width="389" border="0" /></p>
<p>Теперь поговорим об IE6. Как некоторые знают, IE6 поддерживает псевдокласс <strong>hover</strong> только для элементов ссылок (<strong>&lt;a&gt;&lt;/a&gt;</strong>), поэтому <a href="http://seozest.ru/layout/cssmenu">наше меню</a> в браузере IE6 работать не будет. Для решения этой проблемы можно воспользоваться следующим JavaScript`ом: </p>
<pre>&lt;script&gt;
 seozest = function() {
   if (document.all&amp;&amp;document.getElementById) {
   navRoot = document.getElementById(&quot;<strong>menu</strong>&quot;);
   for (i=0; i&lt;navRoot.childNodes.length; i++) {
   node = navRoot.childNodes[i];
   if (node.nodeName==&quot;LI&quot;) {
     node.onmouseover=function()
        { this.className+=&quot; <strong>ie6</strong>&quot;;}
     node.onmouseout=function()
        { this.className=this.className.replace(&quot; <strong>ie6</strong>&quot;, &quot;&quot;);
   }}}}}
 window.onload=seozest;
&lt;/script&gt;</pre>
<p>Чтобы скрипт мог выполнять свою функцию, добавляем к нашему меню идентификатор:</p>
<pre>...
 &lt;ul <strong>id=&quot;menu&quot;</strong>&gt;
...</pre>
<p>Теперь, при наведении указателя мыши на пункт меню, ему будет присваиваться временный класс <strong>ie6. </strong>Осталось только добавить этот класс в CSS, и&#160; использовать его для отображения второго уровня:</p>
<pre>&lt;style&gt;
    li.ie6 ul { display: block; }
&lt;/style&gt;</pre>
<p>Вот, собственно, и всё. Результаты нашей работы можете посмотреть <a href="http://seozest.ru/files/2010/03/menu.php" target="_blank">здесь</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://seozest.ru/layout/cssmenu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Центрирование страницы в CSS (не обижая IE6)</title>
		<link>http://seozest.ru/layout/center-ie6/</link>
		<comments>http://seozest.ru/layout/center-ie6/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 12:12:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Верстка]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://seozest.ru/layout/center-ie6/</guid>
		<description><![CDATA[			
				
			
		
 Сегодня я расскажу о CSS-способах центрирования страниц. И начну этот обзор с резиновой верстки, то есть такой верстки, где отступы и размеры основных элементов задаются в процентном соотношении.
Способы будем рассматривать на следующем примере HTML-разметки:

&#60;html&#62;
&#60;body&#62;
   &#60;div id=”container”&#62;
   &#60;/div&#62;
&#60;/body&#62;
&#60;/html&#62;

Основной способ центрирования выглядит следующим образом:

&#60;style&#62;
   #container { margin: 0 20%;}
&#60;/style&#62;

Свойство margin [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fseozest.ru%2Flayout%2Fcenter-ie6%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fseozest.ru%2Flayout%2Fcenter-ie6%2F&amp;source=seozest&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><img title="center" height="135" alt="center" src="http://seozest.ru/files/2009/12/center.jpg" width="150" align="right" /> Сегодня я расскажу о CSS-способах центрирования страниц. И начну этот обзор с резиновой верстки, то есть такой верстки, где отступы и размеры основных элементов задаются в процентном соотношении.</p>
<p>Способы будем рассматривать на следующем примере HTML-разметки:</p>
<pre class="brush: css;">
&lt;html&gt;
&lt;body&gt;
   &lt;div id=”container”&gt;
   &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Основной способ центрирования выглядит следующим образом:</p>
<pre class="brush: css;">
&lt;style&gt;
   #container { margin: 0 20%;}
&lt;/style&gt;
</pre>
<p>Свойство <strong>margin</strong> устанавливает боковые отступы размером в 20% от ширины окна браузера. В результате мы получаем блок <strong>container</strong>, шириной в 60% от ширины окна браузера, центрированный посередине.</p>
</p>
<p><span id="more-268"></span></p>
<p>Теперь рассмотрим ситуацию с фиксированной версткой, то есть такой версткой, где ширина основного блока (в нашем случае <strong>container</strong>) указана явно, например, в пикселях.</p>
<p>Для этих целей можно использовать наиболее распространённый способ:</p>
<pre class="brush: css;">
&lt;style&gt;
   #container { margin: 0 auto;}
&lt;/style&gt;
</pre>
<p>В данном случае, для указания боковых отступов, мы используем значение <strong>auto </strong>свойства <strong>margin</strong>. В результате мы получаем центрированный блок с фиксированной шириной. Но, к сожалению, данный способ не поддерживается браузером IE6 (в режиме совместимости). Поэтому, рассмотрим пару альтернативных способов центрирования, лишённых этого недостатка.</p>
<p>Первый альтернативный способ: применить к селектору <strong>body</strong> свойство <strong>text-align</strong> со значением <strong>center</strong>:</p>
<pre class="brush: css;">
&lt;style&gt;
   body {text-align: center;}
&lt;/style&gt;
</pre>
<p>В результате мы получаем кроссбраузерное <strong>центрирование страницы</strong>, единственным недостатком которого ялвяется наследственное центрирование, применяемое ко всем дочерным элементам.&#160; Исправляется этот недостаток элементарно: элементу <strong>container</strong> приписываем свойство <strong>text-align</strong> со значением <strong>left</strong>. Таким образом достигается хорошая совместимость со старыми версиями браузеров.</p>
<p>Второй альтернативный способ выглядит немного интереснее:</p>
<pre class="brush: css;">
&lt;style&gt;
   #container {
      position: absolute;
      left: 50%;
      width: 800px;
      margin-left: –400px;
   }
&lt;/style&gt;
</pre>
<p>Устанавливаем для нашего блока абсолютное позиционирование (<em>position: absolute</em>), делаем отступ слева на половину ширины экрана (<em>left: 50%</em>), и сдвигаем наш <strong>container</strong> на половину собственной ширины влево (<em>margin-left: –400px</em>). В результате получаем центрированный блок, корректно воспринимаемый всеми популярными браузерами, включая легендарный IE6.</p>
<p>Бонусное видео:</p>
<p><object width="400" height="302"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1346744&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1346744&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object></p>
<p>Здесь показана CSS-верстка простой странички, центрирование которой было сделано с помощью последнего рассмотренного нами способа.</p>
<p><a href="http://feeds.feedburner.com/seozest">Подписаться</a> на этот блог.</p>
]]></content:encoded>
			<wfw:commentRss>http://seozest.ru/layout/center-ie6/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

