<?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>UGgallery &#187; Data URI</title>
	<atom:link href="http://uggallery.audiopeace.ru/category/data-uri/feed" rel="self" type="application/rss+xml" />
	<link>http://uggallery.audiopeace.ru</link>
	<description>CSS=~- HTML=~- Web=~-</description>
	<lastBuildDate>Sun, 24 Jul 2011 11:25:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Data URI в IE8</title>
		<link>http://uggallery.audiopeace.ru/2008/03/06/ie8-data-uri</link>
		<comments>http://uggallery.audiopeace.ru/2008/03/06/ie8-data-uri#comments</comments>
		<pubDate>Thu, 06 Mar 2008 11:26:01 +0000</pubDate>
		<dc:creator>uggallery</dc:creator>
				<category><![CDATA[Data URI]]></category>
		<category><![CDATA[Ссылки]]></category>

		<guid isPermaLink="false">http://uggallery.audiopeace.ru/2008/03/06/ie8-data-uri</guid>
		<description><![CDATA[Говорят, восьмой IE будет Data URI поддерживать. Я рад.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/readiness/DevelopersNew.htm" title="How do I make my site 'light up' with Internet Explorer 8?">Говорят</a>, восьмой IE будет <a href="http://uggallery.audiopeace.ru/2006/03/13/data-uri-i-priemyi-chernovoy-verstki">Data URI</a> поддерживать. Я рад.</p>
]]></content:encoded>
			<wfw:commentRss>http://uggallery.audiopeace.ru/2008/03/06/ie8-data-uri/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Кодирование графики в Base64 при помощи Internet Explorer</title>
		<link>http://uggallery.audiopeace.ru/2006/04/26/kodirovanie-grafiki-v-base64-pri-pomoschi-internet-explorer</link>
		<comments>http://uggallery.audiopeace.ru/2006/04/26/kodirovanie-grafiki-v-base64-pri-pomoschi-internet-explorer#comments</comments>
		<pubDate>Wed, 26 Apr 2006 09:45:10 +0000</pubDate>
		<dc:creator>uggallery</dc:creator>
				<category><![CDATA[CSS-верстка]]></category>
		<category><![CDATA[Data URI]]></category>
		<category><![CDATA[Браузеры]]></category>

		<guid isPermaLink="false">http://uggallery.audiopeace.ru/?p=159</guid>
		<description><![CDATA[Оказывается, чтобы закодировать графику в формате Base64, не нужны никакие специальные программы. Можно пользоваться подручными средствами в виде старого доброго MS  Internet Explorer. Эта штука умеет сохранять страницы вместе с графикой в формате MHT (MHTML &#8212; MIME HTML). Графика, как раз, в Base64 кодируется. 

Для наших целей нужно создать HTML-файл с одной единственной строкой [...]]]></description>
			<content:encoded><![CDATA[<p>Оказывается, чтобы закодировать графику в формате Base64, не нужны никакие специальные программы. Можно пользоваться подручными средствами в виде старого доброго MS  Internet Explorer. Эта штука умеет сохранять страницы вместе с графикой в формате MHT (MHTML &#8212; MIME HTML). Графика, как раз, в Base64 кодируется. </p>

<p><span id="more-159"></span>Для наших целей нужно создать HTML-файл с одной единственной строкой внутри: </p>

<pre><code>&lt;img src="sample.png"&gt;</code></pre> 

<p>sample.png &#8212; это картинка, которую нужно закодировать.</p>

<p>Далее: открыть HTML-файл в IE, убедиться, что картинка видна в браузере,  и сохранить файл как <strong>&#8220;Web archive, single file (*.mht)&#8221;</strong>. </p>

<p>Затем, MHT-файл открыть в текстовом редакторе.  В файле, кроме разметки, положенной файлам этого формата, после строки типа <strong>&#8220;Content-Location: file:///&#8230;/sample.png&#8221;</strong> будет блок текста-абракадабры &#8212; то есть, наш графический файл, закодированный в формат Base64. </p>

<p>Вот и все. Может это не слишком изящный метод, но зато нужная программа всегда под рукой.</p>

<p>Графика в формате Base64 нужна, например, <a href="http://uggallery.audiopeace.ru/2006/03/13/data-uri-i-priemyi-chernovoy-verstki">для использования с Data URI</a>. Кстати, начиная c девятой версии, Opera тоже умеет сохранять MHTML. А с Data URI она работает уже давно.</p>

<p>(Англоязычные стать в Wikipedia о <a href="http://en.wikipedia.org/wiki/Base64">Base64</a>, <a href="http://en.wikipedia.org/wiki/MHTML">MHTML</a>, <a href="http://en.wikipedia.org/wiki/Data:_URL">Data URI</a> (<a href="http://ru.wikipedia.org/wiki/Data:_URL">перевод на русский</a>)).</p>
]]></content:encoded>
			<wfw:commentRss>http://uggallery.audiopeace.ru/2006/04/26/kodirovanie-grafiki-v-base64-pri-pomoschi-internet-explorer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data URI и приемы черновой верстки</title>
		<link>http://uggallery.audiopeace.ru/2006/03/13/data-uri-i-priemyi-chernovoy-verstki</link>
		<comments>http://uggallery.audiopeace.ru/2006/03/13/data-uri-i-priemyi-chernovoy-verstki#comments</comments>
		<pubDate>Mon, 13 Mar 2006 18:37:05 +0000</pubDate>
		<dc:creator>uggallery</dc:creator>
				<category><![CDATA[CSS-Шаблоны]]></category>
		<category><![CDATA[CSS-верстка]]></category>
		<category><![CDATA[Data URI]]></category>
		<category><![CDATA[Разное]]></category>
		<category><![CDATA[Ссылки]]></category>

		<guid isPermaLink="false">http://uggallery.audiopeace.ru/?p=138</guid>
		<description><![CDATA[Есть несколько способов визуализации блоков при на начальных этапах верстки. Когда есть пустой, или полупустой, блок, и нам хочется увидеть четкие его границы. Чтобы задать нужные размеры и правильно позиционировать его.

С такой задачей неплохо справляется Firefox с расширением Web Developer. Но это решение не подходит, если нужно увидеть блоки в нескольких браузерах сразу: Firefox, Opera, [...]]]></description>
			<content:encoded><![CDATA[<p>Есть несколько способов визуализации блоков при на начальных этапах верстки. Когда есть пустой, или полупустой, блок, и нам хочется увидеть четкие его границы. Чтобы задать нужные размеры и правильно позиционировать его.</p>

<p>С такой задачей неплохо справляется Firefox с расширением Web Developer. Но это решение не подходит, если нужно увидеть блоки в нескольких браузерах сразу: Firefox, Opera, IE 5-6.</p>

<p><span id="more-138"></span>Самые простые и универсальные способы: задать блоку свойство <code>border </code>или <code>background-color</code>. Но они не всегда удобны: первый влияет на размеры блока (в разных браузерах &#8212; по разному), а второй делает блок непрозрачным, а иногда хочется увидеть, что за ним. </p>

<p>Border можно задавать не всем сторонам блока, а только снизу, например. В некоторых случаях, это совершенно незаменимая вещь. А залитый фоновым цветом блок можно сделать прозрачным при помощи свойства <code>opacity</code>, поддерживаемым последними &#8220;фаерфоксами&#8221;. Есть аналогичное свойство и для IE. </p>

<pre><code>background: red; 
opacity: 0.5;
filter:alpha(opacity=50);</code></pre>

<p>Получившееся сочетание подходит для тех, кто проверяет верстку только в Firefox и  IE, но не в Opera.</p>

<p>Для Firefox и Opera, подойдет следующее:</p>

<pre><code>background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPSURBVHjaYvyvJ9cAEGAABUwBzcyE834AAAAASUVORK5CYII=);
</code></pre>

<p><strong>Абракадабра, заключенная в круглые скобки CSS-правила, ни что иное как обыкновенный полупрозрачный одно-пиксельный PNG-файл&#8230; но <em>закодированный в текстовом формате Base64</em>.</strong></p>

<p>Этот формат дает возможность встраивать (а не прилинковывать) графические файлы в HTML-, JS- и CSS-документы. Получающийся текстовой фрагмент выглядит как обычная ссылка &#8212; URI. Это даже можно <a href="data:image/gif;base64,R0lGODlhCgAKAIABAP8AAAAAACH5BAEAAAEALAAAAAAKAAoAAAIPRIwXmti8noOJMqnsxPoUADs%3D">вставить в адресную строку браузера</a>, и в окне мы увидим исходную картинку. Конечно если  браузер поддерживает эту технологию.</p>

<p><strong>Технология называется  &#8212; <a href="http://en.wikipedia.org/wiki/Data:_URL">Data URI</a>.</strong></p>

<p>Достаточно один раз перекодировать графику в текст, а текст сохранить в файле автозаполнения любимого текстового редактора. В своем <a href="http://www.editplus.com/">EditPlus</a>-е я просто добавил в файл css2.ctl две строки:</p>

<pre><code>&#35;T=redfiller
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPSURBVHjaYvyvJ9cAEGAABUwBzcyE834AAAAASUVORK5CYII=);
</code></pre>

<p>Теперь, чтобы добавить полупрозрачный бэкграунд к объекту, мне достаточно набрать: &#8220;redf&#8221; и нажать F2.</p>

<p>Скомбинировав эти приемы, получаем:</p>

<pre><code>opacity: 1;
background: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAPSURBVHjaYvyvJ9cAEGAABUwBzcyE834AAAAASUVORK5CYII=) !important;
background-color: red;
filter:alpha(opacity=50);       
</code></pre>

<p><a href="http://uggallery.audiopeace.ru/data-uri-red-filler/">Страница с примером</a>.</p>

<p><strong>Эта конструкция работает  в Opera, Firefox, IE 5.0, IE 5.5, IE 6.0. </strong></p>

<p>Тут важен порядок, в котором свойства расположены, и наличие <code>!important</code>. </p>

<p>Страницу с примером можно сохранить &#8220;без картинок&#8221; на локальный компьютер &#8212; функциональность сохранится! <strong>Все необходимые &#8220;картинки&#8221; содержатся внутри HTML-файла.</strong></p>

<p><em>Эта заметка появилась благодаря желанию пристроить хоть куда-нибудь технологию Data URI, которая сама по себе имеет огромный потенциал, особенно в веб-приложениях, но вот беда &#8212; она не поддерживается Internet Explorer-ом. А жаль. В рунете, кстати, по Data URI нет практически ничего. Надо понемногу заполнить пробел.</em></p>

<ul>
    <li>Англоязычная статья в <a href="http://en.wikipedia.org/wiki/Data:_URL">Wikipedia о Data URI</a> (<a href="http://ru.wikipedia.org/wiki/Data:_URL">перевод на русский</a>)</li>
    <li><a href="http://uggallery.audiopeace.ru/2006/04/26/kodirovanie-grafiki-v-base64-pri-pomoschi-internet-explorer">Кодирование графики в Base64 при помощи Internet Explorer</a></li>
    <li>Офлайновый<a href="http://www.fourmilab.ch/webtools/base64/"> base64-декодер </a>для Unix и Windows (командная строка)</li>
    <li>Онлайновые Data URI-base64-декодеры: 
        <ul>
            <li><a href="http://software.hixie.ch/utilities/cgi/data/data">Data-kitchen</a></li>
            <li><a href="http://www.scalora.org/projects/uriencoder/">data: URI image encoder</a></li>
            <li><a href="http://www.sveinbjorn.org/dataurl_generator">Data URL Image Generator</a></li>
        </ul>
    </li>
</ul>

<p><em>(Все эти ссылки есть на странице в Википедии.)</em></p>
<p class="tags">Tags: <a href="http://technorati.com/tag/data%2Buri" title="See the Technorati tag page for 'data+uri'." rel="tag">data+uri</a>, <a href="http://technorati.com/tag/base64" title="See the Technorati tag page for 'base64'." rel="tag">base64</a>, <a href="http://technorati.com/tag/css%2B%D0%B2%D0%B5%D1%80%D1%81%D1%82%D0%BA%D0%B0" title="See the Technorati tag page for 'css+верстка'." rel="tag">css+верстка</a>, <a href="http://technorati.com/tag/edit%2Bplus" title="See the Technorati tag page for 'edit+plus'." rel="tag">edit+plus</a></p>]]></content:encoded>
			<wfw:commentRss>http://uggallery.audiopeace.ru/2006/03/13/data-uri-i-priemyi-chernovoy-verstki/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

