<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Deerua about Coding: последние заметки с тегом &amp;laquo;browsers&amp;raquo;</title><link>http://deer.org.ua/keywords/browsers/</link><description></description><language>ru</language><generator>e2 (http://blogengine.ru/)</generator><item><title>getBoxObjectFor для FireFox 3.6 и выше</title><guid isPermaLink="true">http://deer.org.ua/2010/05/26/1/</guid><link>http://deer.org.ua/2010/05/26/1/</link><comments>http://deer.org.ua/2010/05/26/1/comments/</comments><description>&lt;pre&gt;    &lt;span class="hl-reserved"&gt;if&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;typeof &lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getBoxObjectFor&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;undefined&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
        &lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getBoxObjectFor&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;elem&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;new &lt;/span&gt;&lt;span class="hl-identifier"&gt;Object&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;rect&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;elem&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getBoundingClientRect&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;y&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;rect&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;top&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;x&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;rect&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;left&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;width&lt;/span&gt;&lt;span class="hl-code"&gt; =&lt;/span&gt;&lt;span class="hl-builtin"&gt;Math&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;abs&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;rect&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;right&lt;/span&gt;&lt;span class="hl-code"&gt;-&lt;/span&gt;&lt;span class="hl-identifier"&gt;rect&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;left&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;height&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-builtin"&gt;Math&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;abs&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;rect&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;bottom&lt;/span&gt;&lt;span class="hl-code"&gt;-&lt;/span&gt;&lt;span class="hl-identifier"&gt;rect&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;top&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
            &lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;obj&lt;/span&gt;&lt;span class="hl-code"&gt;;
        &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
    }&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2010/05/26/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/"&gt;mozilla&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/firefox/"&gt;firefox&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt;</description><pubDate>Wed, 26 May 2010 16:25:54 +0200</pubDate></item><item><title>BUGS: Positon absolute не работает в ИЕ6? </title><guid isPermaLink="true">http://deer.org.ua/2009/11/30/1/</guid><link>http://deer.org.ua/2009/11/30/1/</link><comments>http://deer.org.ua/2009/11/30/1/comments/</comments><description>Досадная штука этот ИЕ6. Стал забывать о нём (и не зря, за 2 года упал с 65% до 11%), но он всегда вылазит где-то %) И нужно с ним бороться, опять и опять.&lt;br /&gt;&lt;br /&gt;В этот раз все банально просто, блок непосредственно в боди, с &lt;span class="hl-brackets"&gt;{&lt;/span&gt;&lt;span class="hl-reserved"&gt;positon:&lt;/span&gt;&lt;span class="hl-string"&gt;absolute&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;, становится длиной 100% и просто поверх всего. После долго-го рытья по гуглу, оказывается что нужно сделать &lt;span class="hl-identifier"&gt;body&lt;/span&gt;&lt;span class="hl-brackets"&gt;{&lt;/span&gt;&lt;span class="hl-reserved"&gt;positon:&lt;/span&gt;&lt;span class="hl-string"&gt;relative&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;, и только тогда он начинает себя нормально вести :)&lt;br /&gt;&lt;br /&gt;За одно исправил свой &lt;a href="http://deer.org.ua/habraalert/index.html" linkredir=""&gt;HabraAlert&lt;/a&gt;, теперь он 0.1.1 :)&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/11/30/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/css/"&gt;css&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/css/position/"&gt;position&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/css/position/absolute/"&gt;absolute&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/"&gt;microsoft&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/"&gt;Internet Explorer&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/ie6/"&gt;IE6&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/habraalert/"&gt;HabraAlert&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/bugs/"&gt;bugs&lt;/a&gt;</description><pubDate>Mon, 30 Nov 2009 05:24:48 +0200</pubDate></item><item><title>CSS: Основные баги ИЕ</title><guid isPermaLink="true">http://deer.org.ua/2009/11/16/1/</guid><link>http://deer.org.ua/2009/11/16/1/</link><comments>http://deer.org.ua/2009/11/16/1/comments/</comments><description>1. Не работает центрирование с margin: 0 auto; &lt;b&gt;&amp;mdash;&lt;/b&gt; используем text-align&lt;br /&gt;2. Видишь лесенку блоков, двойной margin, в фоне списков проблемы &lt;b&gt;&amp;mdash;&lt;/b&gt; display: inline;&lt;br /&gt;3. Минимальная высота блока не минимальна &lt;b&gt;&amp;mdash;&lt;/b&gt; font-size: 0; или overflow: hidden;&lt;br /&gt;4. Overflow не работает &lt;b&gt;&amp;mdash;&lt;/b&gt; position: relative;&lt;br /&gt;5. Не кушает padding &lt;b&gt;&amp;mdash;&lt;/b&gt; используй &lt;a href="http://deer.org.ua/2009/04/25/1/" linkredir=""&gt;хак&lt;/a&gt; для высоты или ширины&lt;br /&gt;6. Не работает min-height &lt;b&gt;&amp;mdash;&lt;/b&gt; height:auto !important; height: yourminheight px;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/11/16/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/bugs/"&gt;bugs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/"&gt;microsoft&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/"&gt;Internet Explorer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/shpargalka/"&gt;шпаргалка&lt;/a&gt;</description><pubDate>Mon, 16 Nov 2009 23:13:30 +0200</pubDate></item><item><title>Javascript GrayScale Image (Crossbrowser)</title><guid isPermaLink="true">http://deer.org.ua/2009/11/15/1/</guid><link>http://deer.org.ua/2009/11/15/1/</link><comments>http://deer.org.ua/2009/11/15/1/comments/</comments><description>Как сделать из рисунка, с помощью javascript черно-белую картинку? Не простая казалось бы задача, но решается не сложно. Для ИЕ есть могучий css-фильтр, но для картинок нет селектора :hover (псевдо-класса), потому имитировать его мы будем через javascript, а для остальных браузеров будет canvas. &lt;pre&gt;&lt;span class="hl-comment"&gt;// Функция для "остальных" браузеров
// Которая и делает преобразование
&lt;/span&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;grayscale&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;bPlaceImage&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// Создаём объект типа canvas.2d
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvas&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;createElement&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;canvas&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvasContext&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvas&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getContext&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;2d&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-comment"&gt;// Делаем его размером с нашу картинку
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;imgWidth&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;width&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;imgHeight&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;height&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvas&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;width&lt;/span&gt;&lt;span class="hl-code"&gt;= &lt;/span&gt;&lt;span class="hl-identifier"&gt;imgWidth&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvas&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;height&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;imgHeight&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-comment"&gt;// Пихаем картинку в наш объект
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvasContext&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;drawImage&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// Заганяем попиксельно картинку в матрицу
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvasContext&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getImageData&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;imgWidth&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;imgHeight&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
  &lt;/span&gt;&lt;span class="hl-comment"&gt;// Теперь в цикле, каждый пиксель мы делаем ч/б
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;for &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;height&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;++&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;for &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;width&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt;++&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
		  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;*&lt;/span&gt;&lt;span class="hl-number"&gt;4&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;*&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;width&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;j&lt;/span&gt;&lt;span class="hl-code"&gt;*&lt;/span&gt;&lt;span class="hl-number"&gt;4&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
		  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;red&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;	  
		  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;green&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
		  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;blue&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-number"&gt;2&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;	  
		  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;alpha&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-number"&gt;3&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;	 
		  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;average&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;red&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-identifier"&gt;green&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-identifier"&gt;blue&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;*&lt;/span&gt;&lt;span class="hl-number"&gt;0.3333&lt;/span&gt;&lt;span class="hl-code"&gt;; 	  
		  &lt;/span&gt;&lt;span class="hl-comment"&gt;// Оставляем прозрачность и делим на среднее от RGB
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;average&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;average&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-number"&gt;2&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;average&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;data&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;index&lt;/span&gt;&lt;span class="hl-code"&gt;+&lt;/span&gt;&lt;span class="hl-number"&gt;3&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;alpha&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
  }
  &lt;/span&gt;&lt;span class="hl-comment"&gt;// Получаем чёрно-белую картинку
  &lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvasContext&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;putImageData&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;, 
  	&lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;width&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;imageData&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;height&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// Вставляем чёрнобелую картинку
	// От параметра зависит куда вставляем
	// Либо рядом в div-ку, либо отдаём через return
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;bPlaceImage&lt;/span&gt;&lt;span class="hl-brackets"&gt;){  
	  &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;myDiv&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;createElement&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;div&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;  
	  &lt;/span&gt;&lt;span class="hl-identifier"&gt;myDiv&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;appendChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvas&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	  &lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;parentNode&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;appendChild&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvas&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-comment"&gt;//, image);
  &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
  &lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;myCanvas&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;toDataURL&lt;/span&gt;&lt;span class="hl-brackets"&gt;()&lt;/span&gt;&lt;span class="hl-code"&gt;;

&lt;/span&gt;&lt;span class="hl-brackets"&gt;}

&lt;/span&gt;&lt;span class="hl-comment"&gt;// Функция, что делает картинку ч/б и при наведении мыши возвращает 
// нормальное состояние
&lt;/span&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;MakeGSImage&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// если испортил (только у него есть фильтр) 
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;typeof &lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;filter&lt;/span&gt;&lt;span class="hl-code"&gt; != &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;undefined&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
		&lt;/span&gt;&lt;span class="hl-comment"&gt;// объект должен иметь лаяут
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;zoom&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-comment"&gt;// делаем ч/б используя фильтр grayscale=1
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;filter&lt;/span&gt;&lt;span class="hl-code"&gt; = 
			&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-comment"&gt;// вешаем тригеры мыши
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;onmouseover&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(){
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;filter&lt;/span&gt;&lt;span class="hl-code"&gt; = 
				&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;progid:DXImageTransform.Microsoft.BasicImage(grayscale=0)&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;onmouseout&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(){
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;filter&lt;/span&gt;&lt;span class="hl-code"&gt; = 
				&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	} &lt;/span&gt;&lt;span class="hl-reserved"&gt;else &lt;/span&gt;&lt;span class="hl-brackets"&gt;{
		&lt;/span&gt;&lt;span class="hl-comment"&gt;// для функции grayscale практически идентично %)
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;mouseOverImage&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;src&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;onload&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(){&lt;/span&gt;&lt;span class="hl-reserved"&gt;return true&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;normalImage&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;grayscale&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-reserved"&gt;false&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;onmouseover&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(){&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;src&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;mouseOverImage&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;onmouseout&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(){&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;src&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-reserved"&gt;this&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;normalImage&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
		&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;src&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-identifier"&gt;image&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;normalImage&lt;/span&gt;&lt;span class="hl-code"&gt;;	
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
}&lt;/span&gt;&lt;/pre&gt;&lt;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a target="_blank" href="/samples/grayscale/index.html"&gt;
&lt;b&gt;Посмотреть Пример&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/11/15/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/canvas/"&gt;canvas&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/crossbrowser/"&gt;crossbrowser&lt;/a&gt;</description><pubDate>Sun, 15 Nov 2009 22:52:03 +0200</pubDate></item><item><title>Fastest javascript ie6 check :)))</title><guid isPermaLink="true">http://deer.org.ua/2009/11/12/1/</guid><link>http://deer.org.ua/2009/11/12/1/</link><comments>http://deer.org.ua/2009/11/12/1/comments/</comments><description>&lt;pre&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;is_ie6&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-builtin"&gt;window&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;external&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;amp;&amp;amp;
&lt;/span&gt;&lt;span class="hl-reserved"&gt;typeof &lt;/span&gt;&lt;span class="hl-builtin"&gt;window&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;XMLHttpRequest&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;undefined&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;

&lt;/span&gt;&lt;/pre&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/11/12/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/"&gt;microsoft&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/"&gt;Internet Explorer&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/microsoft/internet-explorer/ie6/"&gt;IE6&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt;</description><pubDate>Thu, 12 Nov 2009 21:42:57 +0200</pubDate></item><item><title>FireFox Speeeeeeeed UP</title><guid isPermaLink="true">http://deer.org.ua/2009/10/22/1/</guid><link>http://deer.org.ua/2009/10/22/1/</link><comments>http://deer.org.ua/2009/10/22/1/comments/</comments><description>В JS-консоле просто вставляем команду, и со всех скуельлайт-файлов изымается лишнее, они худеют, остаётся только нужное и вакуум &lt;pre&gt;&lt;span class="hl-identifier"&gt;Components&lt;/span&gt;&lt;span class="hl-default"&gt;.
&lt;/span&gt;&lt;span class="hl-identifier"&gt;classes&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;@mozilla.org/browser/nav-history-service;1&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-default"&gt;.
&lt;/span&gt;&lt;span class="hl-identifier"&gt;getService&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;Components&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;interfaces&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;nsPIPlacesDatabase&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;.
&lt;/span&gt;&lt;span class="hl-identifier"&gt;DBConnection&lt;/span&gt;&lt;span class="hl-default"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;executeSimpleSQL&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;VACUUM&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;textarea onclick="select();" style="width: 600px; height: 36px;" wrap="off"&gt;Components.classes["@mozilla.org/browser/nav-history-service;1"].getService(Components.interfaces.nsPIPlacesDatabase).DBConnection.executeSimpleSQL("VACUUM");&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;Для тех, кто ленив, есть &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/13878" target="_blank" rel="nofollow"&gt;плагин &lt;/a&gt; автоматизирующий это действие&lt;br /&gt;&lt;br /&gt;Удивительное рядом, ускорить фокс и "убрать" утечки памяти помогут два аддончика:&lt;ul&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/ru/firefox/addon/11922" target="_blank" rel="nofollow"&gt;AFOM&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://addons.mozilla.org/ru/firefox/addon/14024" target="_blank" rel="nofollow"&gt;AFOM Plus&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;После этой магии, грузится "почти" моментально, ест не больше 50МБ ;)&lt;br /&gt;зы: ставить или/или. В реале они все "лишнее" кидают в своп, зато оперативка чиста ;)))&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/10/22/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/"&gt;mozilla&lt;/a&gt; &amp;gt; &lt;a href="http://www.deer.org.ua/tags/browsers/mozilla/firefox/"&gt;firefox&lt;/a&gt;</description><pubDate>Thu, 22 Oct 2009 16:36:41 +0200</pubDate></item><item><title>Магия, отменяем загрузку CSS в браузере с включённым JS</title><guid isPermaLink="true">http://deer.org.ua/2009/10/21/1/</guid><link>http://deer.org.ua/2009/10/21/1/</link><comments>http://deer.org.ua/2009/10/21/1/comments/</comments><description>Еге-гей! Вот так громкий заголовок ;) Вы спросите для чего? А для того, что бы параллельно загружать несколько стилей, для ускорения так сказать, а можно и дизайн другой для людей с ДЖ-сом замутить ;)) хохо... Код выглядит так: &lt;pre&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;script type&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text/javascript&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;span class="hl-default"&gt;
document.write("\x3c!--");
&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;script&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;link type&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text/css&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;href&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;resource.css&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;rel&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;stylesheet&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="hl-comment"&gt;&amp;lt;!--[if IE]&amp;gt;&amp;lt;![endif]--&amp;gt;&lt;/span&gt;&lt;/pre&gt; И шо, и как? Всё довольно просто ;))&lt;ol start="1"&gt;&lt;li&gt;JS пишет перед стилем комент&lt;/li&gt;&lt;li&gt;На кондишинал.комментс эта штука закроется&lt;/li&gt;&lt;li&gt;Получается стили закомментированы, браузер их не грузит (туда можно много их запихать ;)&lt;/li&gt;&lt;li&gt;И что теперь? А теперь можно &lt;a href="http://deer.org.ua/2008/12/05/1/" linkredir=""&gt;вот-так&lt;/a&gt;, например, загрузить любой другой стиль %)&lt;/li&gt;&lt;li&gt;Работает везде!&lt;/li&gt;&lt;/ol&gt;&lt;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a rel="nofollow" target="_blank" href="http://blog.web-optimizer.us/2009/10/really-parallel-css-files-possible.html"&gt;
&lt;b&gt;Взято здесь&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/10/21/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://www.deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/css/"&gt;css&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/crossbrowser/"&gt;crossbrowser&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/magik/"&gt;magik&lt;/a&gt;</description><pubDate>Wed, 21 Oct 2009 05:57:09 +0200</pubDate></item><item><title>Javascript: minijQuery 0.0.0.1 alpha :D</title><guid isPermaLink="true">http://deer.org.ua/2009/09/19/1/</guid><link>http://deer.org.ua/2009/09/19/1/</link><comments>http://deer.org.ua/2009/09/19/1/comments/</comments><description>Есть много проектов, где функционал Джиквери слишком излишен, и используется от сили 1% возможностей? Зачем тогда тянуть 55кб? Если тот проект вместе с графикой в два раза меньше ;) &lt;br /&gt;&lt;br /&gt;Недолго подумав, решил начать писать нечто кастомное. Название всплыло само собой &lt;b&gt;minijQuery&lt;/b&gt;. Сразу скажу, для работы использует &lt;a href="http://deer.org.ua/2008/08/15/2/" linkredir=""&gt;$&lt;/a&gt; и &lt;a href="http://deer.org.ua/2008/06/27/4/" linkredir=""&gt;addLoadEvent&lt;/a&gt;, что бы сразу было кроссбраузерно и красиво ;) &lt;pre&gt;&lt;span class="hl-identifier"&gt;minijQuery&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;function&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;pattern&lt;/span&gt;&lt;span class="hl-code"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;action&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// пустой патерн, уходим, возможно скоро закоментируется
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;typeof &lt;/span&gt;&lt;span class="hl-identifier"&gt;pattern&lt;/span&gt;&lt;span class="hl-code"&gt; != &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;string&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt; || &lt;/span&gt;&lt;span class="hl-identifier"&gt;pattern&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;length&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;lt; &lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;) &lt;/span&gt;&lt;span class="hl-reserved"&gt;return&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// объявляем дефолтный выбор
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;_target&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-builtin"&gt;document&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;body&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// контейнер всё боди
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;_select&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;*&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// выбераем все теги
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;_class&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-reserved"&gt;false&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// класс
	// разбиваем на части запросик
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;selector&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;pattern&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;split&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;" "&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;parts&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;selector&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;length&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// дальше по сценарию
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;switch &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;parts&lt;/span&gt;&lt;span class="hl-brackets"&gt;){
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;case &lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-code"&gt;: &lt;/span&gt;&lt;span class="hl-comment"&gt;//если всего один, подразумеваем тег.класс
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;selector&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;split&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;.&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;; 
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;_select&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;; 
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;_class&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;break&lt;/span&gt;&lt;span class="hl-code"&gt;;
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;default&lt;/span&gt;&lt;span class="hl-code"&gt;: &lt;/span&gt;&lt;span class="hl-comment"&gt;// если больше, значит есть ещё и #контейнер
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;selector&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;split&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;#&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;_target&lt;/span&gt;&lt;span class="hl-code"&gt; = $&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;])&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;selector&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;split&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;.&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;_select&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;; 
			&lt;/span&gt;&lt;span class="hl-identifier"&gt;_class&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;sel&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// дальше просто перебераем в контейнере, все нужные тэги
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;_target&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;getElementsByTagName&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;_select&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;for&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;lt; &lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;length&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-code"&gt;++&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
		&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;className&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-identifier"&gt;_class&lt;/span&gt;&lt;span class="hl-code"&gt; || !&lt;/span&gt;&lt;span class="hl-identifier"&gt;_class&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
			&lt;/span&gt;&lt;span class="hl-comment"&gt;// совпал класс, или не задан выполняем действие
			// пока только элементарные
			// скоро они преврятятся в методы 
			&lt;/span&gt;&lt;span class="hl-reserved"&gt;switch &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;action&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
				&lt;/span&gt;&lt;span class="hl-reserved"&gt;case &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;hide&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;: &lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;display&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;none&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-reserved"&gt;break&lt;/span&gt;&lt;span class="hl-code"&gt;;
				&lt;/span&gt;&lt;span class="hl-reserved"&gt;case &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;show&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;: &lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;display&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;inline&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-reserved"&gt;break&lt;/span&gt;&lt;span class="hl-code"&gt;;
				&lt;/span&gt;&lt;span class="hl-reserved"&gt;case &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;toggle&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;: 
					&lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;_display&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;display&lt;/span&gt;&lt;span class="hl-code"&gt;;
					&lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;i&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;style&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;display&lt;/span&gt;&lt;span class="hl-code"&gt; = 
						&lt;/span&gt;&lt;span class="hl-identifier"&gt;_display&lt;/span&gt;&lt;span class="hl-code"&gt; != &lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;none&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-code"&gt; || &lt;/span&gt;&lt;span class="hl-identifier"&gt;_display&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;length&lt;/span&gt;&lt;span class="hl-code"&gt; &amp;lt; &lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;
						&lt;span class="hl-code"&gt; ? &lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;none&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-code"&gt; : &lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;inline&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-code"&gt;; 
					&lt;/span&gt;&lt;span class="hl-reserved"&gt;break&lt;/span&gt;&lt;span class="hl-code"&gt;;
			&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
		}
	}
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// возвращаем список выбраных элементов
	&lt;/span&gt;&lt;span class="hl-reserved"&gt;return &lt;/span&gt;&lt;span class="hl-identifier"&gt;tag_s&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;Попробовать пример можно слева, на тэгах, посмотреть отдельно, будет ссылка ниже.&lt;br /&gt;&lt;br /&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;li&gt;всё остальное идёт боком ;)&lt;/li&gt;&lt;/ul&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;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a target="_blank" href="/minijQuery/0.0.0.1a.html"&gt;
&lt;b&gt;Посмотреть Пример&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="/minijQuery/minijQuery.js"&gt;
&lt;b&gt;Скачать minijQuery.js&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/09/19/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/crossbrowser/"&gt;crossbrowser&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/framework/"&gt;framework&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/framework/minijquery/"&gt;minijQuery&lt;/a&gt;</description><pubDate>Sat, 19 Sep 2009 11:15:08 +0200</pubDate></item><item><title>CSS: Плавающие блоки с разной высотой, с выравниванием в ряду по самому высокому</title><guid isPermaLink="true">http://deer.org.ua/2009/08/25/1/</guid><link>http://deer.org.ua/2009/08/25/1/</link><comments>http://deer.org.ua/2009/08/25/1/comments/</comments><description>Иногда когда делаем блоки с &lt;b&gt;float:left&lt;/b&gt;, приходится сталкиваться с блоками разной высоты, и они при переходе на новую строчку, начинают строится после самого высокого, что ужастно... И приходится или ставить после определённого количества &lt;b&gt;br clear='all'&lt;/b&gt; или указывать фиксированую высоту, что не всегда приемлемо.&lt;br /&gt;&lt;br /&gt;Этот вопрос можно решить всего-лишь сэмулировав &lt;b&gt;display:inline-block&lt;/b&gt; для старых ИЕ и для старых фоксов, ниже 3&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-identifier"&gt;.gallery-item &lt;/span&gt;&lt;span class="hl-brackets"&gt;{
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;border-top:&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-string"&gt;px solid &lt;/span&gt;&lt;span class="hl-var"&gt;#AAAAAA&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;width: &lt;/span&gt;&lt;span class="hl-number"&gt;147&lt;/span&gt;&lt;span class="hl-string"&gt;px&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-reserved"&gt;width:&lt;/span&gt;&lt;span class="hl-number"&gt;147&lt;/span&gt;&lt;span class="hl-string"&gt;px&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;display:&lt;/span&gt;&lt;span class="hl-code"&gt; -moz-inline-stack&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;; /&lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt; для &lt;/span&gt;&lt;span class="hl-identifier"&gt;FF&lt;/span&gt;&lt;span class="hl-code"&gt; ниже 3  &lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt;/
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;display:&lt;/span&gt;&lt;span class="hl-string"&gt;inline-block&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;font-size:&lt;/span&gt;&lt;span class="hl-number"&gt;91&lt;/span&gt;&lt;span class="hl-string"&gt;%&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;margin: &lt;/span&gt;&lt;span class="hl-number"&gt;0 24&lt;/span&gt;&lt;span class="hl-string"&gt;px &lt;/span&gt;&lt;span class="hl-number"&gt;20&lt;/span&gt;&lt;span class="hl-string"&gt;px &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;min-height:&lt;/span&gt;&lt;span class="hl-number"&gt;178&lt;/span&gt;&lt;span class="hl-string"&gt;px&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;vertical-align:&lt;/span&gt;&lt;span class="hl-string"&gt;text-top&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;border:&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-string"&gt;px solid &lt;/span&gt;&lt;span class="hl-var"&gt;#797873&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;

    /&lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt; уголки, ля-ля-ля &lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt;/
    -&lt;/span&gt;&lt;span class="hl-reserved"&gt;moz-border-radius: &lt;/span&gt;&lt;span class="hl-number"&gt;5&lt;/span&gt;&lt;span class="hl-string"&gt;px&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    -&lt;/span&gt;&lt;span class="hl-reserved"&gt;webkit-border-radius: &lt;/span&gt;&lt;span class="hl-number"&gt;5&lt;/span&gt;&lt;span class="hl-string"&gt;px&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;

    &lt;/span&gt;&lt;span class="hl-reserved"&gt;padding: &lt;/span&gt;&lt;span class="hl-number"&gt;5&lt;/span&gt;&lt;span class="hl-string"&gt;px &lt;/span&gt;&lt;span class="hl-number"&gt;5&lt;/span&gt;&lt;span class="hl-string"&gt;px &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;color: &lt;/span&gt;&lt;span class="hl-var"&gt;#4b4c4c&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;zoom:&lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;; /&lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt; обычный &lt;/span&gt;&lt;span class="hl-identifier"&gt;layout fix&lt;/span&gt;&lt;span class="hl-code"&gt; для ИЕ6 &lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt;/
    &lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-reserved"&gt;display:&lt;/span&gt;&lt;span class="hl-string"&gt;inline&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;; /&lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt; для ИЕ 6, 7 &lt;/span&gt;&lt;span class="hl-identifier"&gt;*&lt;/span&gt;&lt;span class="hl-code"&gt;/

&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a target="_blank" href="/samples/layout/index.html"&gt;
&lt;b&gt;Посмотреть Пример&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/08/25/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/crossbrowser/"&gt;crossbrowser&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/css/"&gt;css&lt;/a&gt;</description><pubDate>Tue, 25 Aug 2009 11:10:32 +0200</pubDate></item><item><title>CSS: самый простой футер, приклееный вниз (Crossbrowser bottom fixed footer)</title><guid isPermaLink="true">http://deer.org.ua/2009/08/13/1/</guid><link>http://deer.org.ua/2009/08/13/1/</link><comments>http://deer.org.ua/2009/08/13/1/comments/</comments><description>Давно использую данный "текникс", а на хабре говорят что про него никто не слышал. Странно, вооот. Поэтому встречайте ;)&lt;br /&gt;&lt;br /&gt;Нужен простенький CSS. Мы зададим высоту html, body и враппера 100%, маргин у враппера сделаем -4строки, а футеру сделаем высоту +4строки соот. и получим нужный результат: &lt;pre&gt;&lt;span class="hl-identifier"&gt;* &lt;/span&gt;&lt;span class="hl-brackets"&gt;{&lt;/span&gt;&lt;span class="hl-reserved"&gt;margin: &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
&lt;/span&gt;&lt;span class="hl-identifier"&gt;html&lt;/span&gt;&lt;span class="hl-default"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;body &lt;/span&gt;&lt;span class="hl-brackets"&gt;{&lt;/span&gt;&lt;span class="hl-reserved"&gt;height: &lt;/span&gt;&lt;span class="hl-number"&gt;100&lt;/span&gt;&lt;span class="hl-string"&gt;%&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
&lt;/span&gt;&lt;span class="hl-identifier"&gt;.wrapper &lt;/span&gt;&lt;span class="hl-brackets"&gt;{
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;min-height: &lt;/span&gt;&lt;span class="hl-number"&gt;100&lt;/span&gt;&lt;span class="hl-string"&gt;%&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    /&lt;/span&gt;&lt;span class="hl-identifier"&gt;* luv IE shit *&lt;/span&gt;&lt;span class="hl-code"&gt;/
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;height: &lt;/span&gt;&lt;span class="hl-string"&gt;auto&lt;/span&gt;&lt;span class="hl-code"&gt; !important&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;height: &lt;/span&gt;&lt;span class="hl-number"&gt;100&lt;/span&gt;&lt;span class="hl-string"&gt;%&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
    &lt;/span&gt;&lt;span class="hl-reserved"&gt;margin: &lt;/span&gt;&lt;span class="hl-number"&gt;0 &lt;/span&gt;&lt;span class="hl-string"&gt;auto&lt;/span&gt;&lt;span class="hl-code"&gt; -&lt;/span&gt;&lt;span class="hl-number"&gt;4&lt;/span&gt;&lt;span class="hl-string"&gt;em&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}
&lt;/span&gt;&lt;span class="hl-identifier"&gt;.footer&lt;/span&gt;&lt;span class="hl-default"&gt;, &lt;/span&gt;&lt;span class="hl-identifier"&gt;.push &lt;/span&gt;&lt;span class="hl-brackets"&gt;{&lt;/span&gt;&lt;span class="hl-reserved"&gt;height: &lt;/span&gt;&lt;span class="hl-number"&gt;4&lt;/span&gt;&lt;span class="hl-string"&gt;em&lt;/span&gt;&lt;span class="hl-reserved"&gt;&lt;/span&gt;&lt;span class="hl-code"&gt;;&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt;Вместо строк, можем использовать пиксельные величины, также не забываем о паддингах и бордерах, он тоже играют на высоту/длину!&lt;br /&gt;И HTML&lt;pre&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;body&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;div class&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;wrapper&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;p&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;span class="hl-default"&gt;Your website content here.&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/p&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;div class&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;push&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;div&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;div&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;div class&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;footer&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;p&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;span class="hl-default"&gt;Copyright/contacts put here&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/p&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;div&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;body&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;&lt;ul class="r1pxc"&gt; 
&lt;li&gt;&lt;a target="_blank" href="/samples/footer/index.html"&gt;
&lt;b&gt;Посмотреть Пример&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br&gt;&lt;br&gt;ЗЫ: див под именем push, нужен для глючных браузеров, лайк Опера, что бы текст футера не налазил на контент.&lt;br /&gt;ЗЗЫ: заставить оперу понимать то, что хавает даже ИЕ6, можно скриптом. Или &lt;a href="http://deer.org.ua/samples/footer/test.html" linkredir=""&gt;убить&lt;/a&gt; &lt;a href="http://deer.org.ua/2009/08/16/1/" linkredir=""&gt;доктайп&lt;/a&gt;, или сместить боди на 1px, что реализовано в примере ;)&lt;hr /&gt;&lt;a href="http://deer.org.ua/2009/08/13/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/browsers/"&gt;browsers&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/browsers/crossbrowser/"&gt;crossbrowser&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/css/"&gt;css&lt;/a&gt;</description><pubDate>Thu, 13 Aug 2009 11:06:00 +0200</pubDate></item></channel></rss>