﻿<?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>WebDuty &#187; оптимизация</title>
	<atom:link href="http://webduty.ru/tag/%d0%be%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f/feed" rel="self" type="application/rss+xml" />
	<link>http://webduty.ru</link>
	<description>Блог посвящённый веб-технологиям</description>
	<lastBuildDate>Tue, 10 Apr 2012 19:48:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ускорение Google Analytics</title>
		<link>http://webduty.ru/%d1%83%d1%81%d0%ba%d0%be%d1%80%d0%b5%d0%bd%d0%b8%d0%b5-google-analytics.htm</link>
		<comments>http://webduty.ru/%d1%83%d1%81%d0%ba%d0%be%d1%80%d0%b5%d0%bd%d0%b8%d0%b5-google-analytics.htm#comments</comments>
		<pubDate>Sun, 09 Aug 2009 13:04:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Сервисы]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[оптимизация]]></category>

		<guid isPermaLink="false">http://webduty.ru/?p=862</guid>
		<description><![CDATA[Что-то давно ничего не писал. Но на то есть свои причины &#8211; очень увлекся темой дорвеев, да и работы поднакопилось предостаточно. Итак, начнем.
Как вам наверно известно, Google Analytics &#8211; один из наиболее мощных сервисов для сбора статистики веб-сайта. Но у неё есть один огромный минус. Зачастую скрипт аналитики долго грузится и если размещать его в [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://webduty.ru/wp-content/uploads/2009/08/3185410319_419a368b35_t.jpg" alt="3185410319_419a368b35_t" title="3185410319_419a368b35_t" width="100" height="100" class=" size-full wp-image-864" style="float: left; margin-right: 10px; position: relative; top: 10px; "/>Что-то давно ничего не писал. Но на то есть свои причины &#8211; очень увлекся темой дорвеев, да и работы поднакопилось предостаточно. Итак, начнем.<span id="more-862"></span><br />
Как вам наверно известно, <noindex><a rel="nofollow" href="http://www.google.com/analytics"  target="_blank">Google Analytics</a></noindex> &#8211; один из наиболее мощных сервисов для сбора статистики веб-сайта. Но у неё есть один огромный минус. Зачастую скрипт аналитики долго грузится и если размещать его в начале страницы (сразу после <em>body</em>) для более точных результатов, он не даёт грузиться элементам страницы, пока не загрузится сам. Это связано с тем, как устроен этот сервис.<br />
Google Analytics загружает и выполняет некий Javascript-код <strong>ga.js</strong>, потом выполняет его, что и является сигналом того, что на сайт забрел очередной сервер. Так вот, загружая этот скрипт, он блокирует загрузку всего остального.<br />
Сам Google Analytics Tracking Code выглядит так:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!-- Google Analytics --&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  var gaJsHost = ((&quot;https:&quot; == document.location.protocol) ? &quot;https://ssl.&quot; : &quot;http://www.&quot;);
  document.write(unescape(&quot;%3Cscript src='&quot; + gaJsHost + &quot;google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E&quot;));
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  try {
  var pageTracker = _gat._getTracker(&quot;UA-0000000-0&quot;);
  pageTracker._trackPageview();
  } catch(err) {}
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #808080; font-style: italic;">&lt;!-- Google Analytics --&gt;</span></pre></div></div>

<p>Для борьбы с этим изъяном и придумали небольшой jQuery-плагин под странным названием <strong>Geekga</strong>.</p>
<h3>&#8216;jquery.geekga.js&#8217; jQuery-плагин</h3>
<p><em>Файл jquery.geekga.js:</em></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #006600; font-style: italic;">/*
 * jquery.geekga.js - jQuery plugin for Google Analytics
 *
 * This plugin extends jQuery with two new functions:
 *
 *   - $().geekGaTrackPage(account_id)
 *       Track a pageview.
 *
 *   - $().geekGaTrackEvent(category, action, label, value)
 *       Track an event with a category, action, label and value.
 *
 *
 * This code is in the public domain.
 *
 * Willem van Zyl
 * willem@geekology.co.za
 * http://www.geekology.co.za/blog/
 */</span>
&nbsp;
<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #003366; font-weight: bold;">var</span> pageTracker<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">/**
   * Track a pageview, e.g.:
   *
   *   $().geekGaTrackPage('UA-0000000-0');
   */</span>
  $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">geekGaTrackPage</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>account_id<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">//check whether to use an unsecured or a ssl connection:</span>
    <span style="color: #003366; font-weight: bold;">var</span> host <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;https:&quot;</span> <span style="color: #339933;">==</span> document.<span style="color: #660066;">location</span>.<span style="color: #660066;">protocol</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;https://ssl.&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;http://www.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> src <span style="color: #339933;">=</span> host <span style="color: #339933;">+</span> <span style="color: #3366CC;">'google-analytics.com/ga.js'</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">//load the Google Analytics javascript file:</span>
    $.<span style="color: #660066;">getScript</span><span style="color: #009900;">&#40;</span>src<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span> _gat <span style="color: #339933;">!=</span> undefined<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">//the ga.js file was loaded successfully, set the account id:</span>
        pageTracker <span style="color: #339933;">=</span> _gat._getTracker<span style="color: #009900;">&#40;</span>account_id<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">//track the pageview:</span>
        pageTracker._trackPageview<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
      <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">//the ga.js file wasn't loaded successfully:</span>
        <span style="color: #000066; font-weight: bold;">throw</span> <span style="color: #3366CC;">&quot;Unable to load ga.js; _gat has not been defined.&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #006600; font-style: italic;">/**
   * Track an event, e.g.:
   *
   *   $('a.twitter').click(function() {
   *     $().geekGaTrackEvent('feed', 'click', 'Twitter', 'willemvzyl');
   *   });
   */</span>
  $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">geekGaTrackEvent</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>category<span style="color: #339933;">,</span> action<span style="color: #339933;">,</span> label<span style="color: #339933;">,</span> value<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span> pageTracker <span style="color: #339933;">!=</span> undefined<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #006600; font-style: italic;">//the pageTracker was defined, track the event:</span>
      pageTracker._trackEvent<span style="color: #009900;">&#40;</span>category<span style="color: #339933;">,</span> action<span style="color: #339933;">,</span> label<span style="color: #339933;">,</span> value<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #006600; font-style: italic;">//the pageTracker wasn't defined:</span>
      <span style="color: #000066; font-weight: bold;">throw</span> <span style="color: #3366CC;">&quot;Unable to track event; pageTracker has not been defined&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Использование плагина</h3>
<p>Для начала подключим необходимые js-файлы: jQuery и сам плагин.</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Hello, world!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;javascript/jquery-1.3.2.min.js&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;javascript/jquery.geekga.min.js&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Hello, world!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Затем укажем плагину ваш ID в аналитике Google&#8217;а:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Hello, world!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;javascript/jquery-1.3.2.min.js&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">&quot;javascript/jquery.geekga.min.js&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;script</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/javascript&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    $(document).ready(function() {
      $().geekGaTrackPage('UA-0000000-0');
    });
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/head<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Hello, world!<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/body<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/html<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Где UA-0000000-0 &#8211; ваш ID.<br />
Вот и всё. Мне в одном из проектов помогло, поможет и вам.<br />
<noindex><a rel="nofollow" href="http://www.geekology.co.za/download/jquery.geekga.js.zip" class="download"  style="margin-left: 20px;">Cкачать плагин</a></noindex></p>
<p><img src="http://webduty.ru/wp-content/uploads/2009/08/889734416_06f014a237.jpg" alt="889734416_06f014a237" title="889734416_06f014a237" width="500" height="333" class="simple size-full wp-image-863" /></p>
]]></content:encoded>
			<wfw:commentRss>http://webduty.ru/%d1%83%d1%81%d0%ba%d0%be%d1%80%d0%b5%d0%bd%d0%b8%d0%b5-google-analytics.htm/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>5 способов оптимизации CSS</title>
		<link>http://webduty.ru/5-way-css-optimization.htm</link>
		<comments>http://webduty.ru/5-way-css-optimization.htm#comments</comments>
		<pubDate>Thu, 23 Jul 2009 15:02:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[оптимизация]]></category>

		<guid isPermaLink="false">http://webduty.ru/?p=751</guid>
		<description><![CDATA[Некоторые из нас, возможно, помнят времена, когда 30KB были рекомендованным максимумом размера веб-страницы, включая HTML, CSS, Javascript и изображения. На данный момент у многих достаточно больших сайтов только CSS-стили имеют размер более 30KB.
Но существуют некоторые принципы, которые помогут оптимизировать ваш CSS код. Оптимизация не просто уменьшает размер файла, она делает ваши CSS-стили более организованными и [...]]]></description>
			<content:encoded><![CDATA[<p><em>Некоторые из нас, возможно, помнят времена, когда 30KB были рекомендованным максимумом размера веб-страницы, включая HTML, CSS, Javascript и изображения. На данный момент у многих достаточно больших сайтов только CSS-стили имеют размер более 30KB.<br />
Но существуют некоторые принципы, которые помогут оптимизировать ваш CSS код. Оптимизация не просто уменьшает размер файла, она делает ваши CSS-стили более организованными и эффективными. Использование оптимальных методов CSS неизбежно приведет к уменьшению размера CSS-файлов. </em></p>
<h3>1. Используйте сокращенные формы</h3>
<p>Используйте сокращенные формы таких свойств как <em>margin, border, padding, background, font, list-style</em>. Это самый простой способ оптимизации CSS-стилей. Если вы ещё не применяете этот метод &#8211; начните сегодня.<br />
Сокращенная форма означает, что вместо использования различных деклараций для соответствующих свойств&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">   p <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>  
        <span style="color: #000000; font-weight: bold;">margin-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>  
        <span style="color: #000000; font-weight: bold;">margin-bottom</span><span style="color: #00AA00;">:</span>  <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>  
        <span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">40px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>&#8230; вы используете их комбинацию:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">   p <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #933;">20px</span> <span style="color: #933;">30px</span> <span style="color: #933;">40px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Правила, по которым браузеры интерпретируют сокращенную запись показаны на следующих иллюстрациях.<br />
<img src="http://webduty.ru/wp-content/uploads/2009/07/figureA.gif" alt="css 1" title="" width="630" height="243" class="simple size-full wp-image-752" /><br />
Аналогичные правила выполняются для padding и border-weight.</em><br />
По следующим правилам можно сократить свойство <em>font</em><br />
<img src="http://webduty.ru/wp-content/uploads/2009/07/figureB.gif" alt="css 2" title="" width="630" height="173" class="simple size-full wp-image-761" /><br />
Это лишь два примера использования сокращенной формы CSS-свойств. Их использование сделает ваш код гораздо более кратким.<br />
Более подробную информацию о сокращенной форме я нашел в <noindex><a rel="nofollow" href="http://htmlcoder.visions.ru/CSS/?20"  target="_blank">этой статье</a></noindex>. Возможно, я коснусь этого вопроса более подробно в своих следующих статьях.<span id="more-751"></span></p>
<h3>2. Не используйте CSS-хаки</h3>
<p><img src="http://webduty.ru/wp-content/uploads/2009/07/figureE.jpg" alt="figureE" title="figureE" width="630" height="358" class="simple size-full wp-image-762" /><br />
Вероятно, каждый человек, кто дочитал до этого пункта, хотя бы раз использовал CSS-хаки. Во многих случаях это достаточно удобно и эффективно. Но когда таких хаков становится несколько десятков, код становится очень &#8220;грязным&#8221; и менее понятным. В таких случаях удобнее использовать <strong>условные комментарии</strong>. Это общепринятая практика, рекомендуемая даже Microsoft (неудивительно, ведь в отношении их браузеров как правило используются хаки). Кроме того использование условных комментариев облегчит ваши CSS-файлы, т.к. современные браузеры не будут загружать хаки для отсталых.<br />
Вот так можно подключить дополнительный файл ie6.css только в IE6:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"> <span style="color: #808080; font-style: italic;">&lt;!--[if IE 6]&gt;  </span>
<span style="color: #808080; font-style: italic;">     &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;ie6.css&quot;&gt;  </span>
<span style="color: #808080; font-style: italic;"> &lt;![endif]--&gt;</span></pre></div></div>

<p>Вот несколько условных комментариев для IE:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!--[if IE]&gt; Инструкции для Internet Explorer &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if IE 5]&gt; Инструкции для IE 5 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if IE 5.0]&gt; Инструкции для IE 5.0 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if IE 5.5]&gt; Инструкции для IE 5.5 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if IE 6]&gt; Инструкции для IE 6 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if IE 7]&gt; Инструкции для IE 7 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if IE 8]&gt; Инструкции для IE 8 &lt;![endif]--&gt;</span></pre></div></div>

<p>В условных комментариях можно использовать операторы, с помощью которых можно задать более комплексное условие. В таблице ниже приведены все операторы.</p>
<table width="250">
<tr>
<th>Оператор</th>
<th>Описание</th>
</tr>
<tr>
<td>lt</td>
<td>меньше чем</td>
</tr>
<tr>
<td>lte</td>
<td>меньше или равно</td>
</tr>
<tr>
<td>gt</td>
<td>больше чем</td>
</tr>
<tr>
<td>gte</td>
<td>больше или равно</td>
</tr>
</table>
<p>И несколько примеров:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!--[if ! IE 5]&gt; Инструкции для  IE 5.5, 6 или 7 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if gt IE 5.0]&gt; Инструкции для IE 5.5, 6 или 7 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if lte IE 5.5]&gt; Инструкции для IE 5.0 или 5.5 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if gte IE 6]&gt; Инструкции для IE 6 или 7 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if lt IE 7]&gt; Инструкции для IE 5.0, 5.5 или 6 &lt;![endif]--&gt;</span>
<span style="color: #808080; font-style: italic;">&lt;!--[if lt IE 8]&gt; Инструкции для IE до 8 &lt;![endif]--&gt;</span></pre></div></div>

<p>Условные комментарии &#8211; хорошая альтернатива хакам. Помните, что меньше хаков &#8211; тем чище код.</p>
<h3>3. Форматируйте ваш код</h3>
<p><img src="http://webduty.ru/wp-content/uploads/2009/07/figureC.gif" alt="figureC" title="figureC" width="700" height="408" class="simple size-full wp-image-768" /><br />
Правильное форматирование кода повысит его &#8220;читабельность&#8221; и ясность. Здесь существует два подхода: писать каждое CSS-свойство с новой строки..</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">p <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span>
     <span style="color: #000000; font-weight: bold;">text-indent</span><span style="color: #00AA00;">:</span> <span style="color: #933;">15px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>..либо писать всё в одну строку, разделяя свойства пробелами:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">p <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">text-indent</span><span style="color: #00AA00;">:</span> <span style="color: #933;">15px</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Тут каждый выбирает для себя. Например я, как правило, пишу в одну строчку. Разрешение моего монитора позволяет легко читать такой код. Кроме того, в этом случае существенно уменьшается размер CSS-файла и количество телодвижений при написании кода, что очень важно при достаточно объемных стилях.<br />
Решать вам, но помните, что пробелы как воздух &#8211; вы их не видите, но они есть и имеют свой вес. Меньше лишних символов &#8211; меньше файл.</p>
<h3>4. Используйте CSS-библиотеки и Reset</h3>
<p><img src="http://webduty.ru/wp-content/uploads/2009/07/figureF.jpg" alt="figureF" title="figureF" width="630" height="338" class="simple size-full wp-image-770" /><br />
О <strong>CSS-библиотеках</strong> я уже писал в своей <noindex><a rel="nofollow" href="http://webduty.ru/css-%d0%b1%d0%b8%d0%b1%d0%bb%d0%b8%d0%be%d1%82%d0%b5%d0%ba%d0%b8.htm"  target="_blank">статье</a></noindex>. Суть здесь в том, что из проекта в проект вы, зачастую, пишите практически идентичные блоки кода, решая локальные задачи. Будь то стили для отображения текста, верстка многоколонного дизайна, и т.п. Чтобы не писать несколько раз то, что давно уже написано до вас ведущими специалистами в этой области, используют CSS-библиотеки.<br />
Самыми распространенными из них считаются библиотеки для <strong>сброса стилей</strong>. Например   <noindex><a rel="nofollow" href="http://developer.yahoo.com/yui/grids/"  target="_blank">YUI Grid CSS</a></noindex> или <noindex><a rel="nofollow" href="http://meyerweb.com/eric/tools/css/reset/"  target="_blank">Reset.css</a></noindex> Эрика Маера. Они помогают нейтрализовать настройки браузера &#8220;по умолчанию&#8221;, как бы сбросить стили.<br />
Стоит заметить, что сами CSS-библиотеки иногда могут нуждаться в оптимизации. Например, вы знаете что на вашем сайте о кулинарии никогда не будут использоваться теги <em>pre</em> и <em>code</em>, значит их стили можно убрать из используемых CSS-библиотек.<br />
Используйте CSS-библиотеки только если они существенно сократят время разработки, иначе они превратятся в ненужный груз. </p>
<h3>5. Сжимайте код</h3>
<p>Существует несколько программ для сжатия CSS-файлов, например  <noindex><a rel="nofollow" href="http://csstidy.sourceforge.net/"  target="_blank">CSSTidy</a></noindex> или <noindex><a rel="nofollow" href="http://developer.yahoo.com/yui/compressor/"  target="_blank">YUI Compressor</a></noindex>. Есть также и онлайн аналоги. <noindex><a rel="nofollow" href="http://webduty.ru/css-optimiser/"  target="_blank">Один из них</a></noindex> вы можете использовать на моём сайте. Подобные программы сжимают CSS-стили, убирая из них лишние символы (пробелы, табуляции), преобразуют некоторые свойства в сокращенную форму и многое другое.<br />
Некоторые специализированные текстовые редакторы умеют сжимать CSS-стили, например <noindex><a rel="nofollow" href="http://www.barebones.com/products/bbedit/"  target="_blank">BBEdit</a></noindex>, <noindex><a rel="nofollow" href="http://macromates.com/"  target="_blank">TextMate</a></noindex> или <noindex><a rel="nofollow" href="http://www.topstyle4.com/"  target="_blank">TopStyle</a></noindex>. Также можно сжимать файлы на стороне сервера с помощью PHP. В следующих статьях будет более полный список средств для сжатия и оптимизации CSS. </p>
<h3>Заключение</h3>
<p>Чистый и оптимизированный CSS-код важен не только для веса ваших стилей, но и для поддержания его удобочитаемости. Принципы, упомянутые выше, помогут уменьшить объем стилей, повысить ясность и чистоту кода и сэкономить время на его разработку.<br />
<br/><br />
<em style="float: right;color: #bbb;">В статье использованы материалы <noindex><a rel="nofollow" href="http://www.smashingmagazine.com"  target="_blank">smashingmagazine.com</a></noindex></em><br />
<noindex><a rel="nofollow" href="http://progg.ru/5-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BE%D0%B2-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8-CSS-WebDuty" rev="vote-for" ><img alt="Progg it" src="http://progg.ru/image.axd?url=http%3A%2F%2Fwebduty.ru%2F5-way-css-optimization.htm" style="border:0px"/></a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://webduty.ru/5-way-css-optimization.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

