<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">

<channel>
	<title>cssing</title>
	
	<link>http://cssing.org.ua</link>
	<description>Блог вебстандартиста и вебразработчика Юрия "akella" Артюха.</description>
	<pubDate>Wed, 28 Apr 2010 14:35:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/cssing" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="cssing" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcssing" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcssing" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcssing" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/cssing" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcssing" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fcssing" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fcssing" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fcssing" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><item>
		<title>overflow:hidden</title>
		<link>http://cssing.org.ua/2010/04/26/overflow-hidden/</link>
		<comments>http://cssing.org.ua/2010/04/26/overflow-hidden/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 08:09:36 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[XHTML/CSS]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=231</guid>
		<description><![CDATA[Незаслуженно непопулярный трюк. Я уже писал про display:table. Так вот, это &#8212 лучше. P.S.: оказалось трюк таки известен многим, надеюсь кому-то статья поможет.
Проблема
Еще пять лет назад я искал решение проблемы: как запретить обтекание float. Подробнее можно читать в старом посте (2005 год, офигеть). Вкратце, мы приводили это:
Картинка-float
к такому виду:
Картинка-float + display:table для текста
Для этого тексту [...]]]></description>
			<content:encoded><![CDATA[<p>Незаслуженно непопулярный трюк. Я уже писал про <a href="http://cssing.org.ua/2005/07/03/display-table/">display:table</a>. Так вот, это &#8212 лучше. P.S.: оказалось трюк таки известен многим, надеюсь кому-то статья поможет.<span id="more-231"></span></p>
<h3>Проблема</h3>
<p>Еще пять лет назад я искал решение проблемы: как запретить обтекание float. Подробнее можно читать в <a href="http://cssing.org.ua/2005/07/03/display-table/">старом посте</a> (2005 год, офигеть). Вкратце, мы приводили это:</p>
<p class="img con"><img src="http://cssing.org.ua/pic/overflow/1.png" width="377" height="133" /><span>Картинка-float</span></p>
<p>к такому виду:</p>
<p class="img con"><img src="http://cssing.org.ua/pic/overflow/2.png" width="377" height="149" /><span>Картинка-float + display:table для текста</span></p>
<p>Для этого тексту задавалось свойство display:table. А для IE zoom:1.</p>
<h3>overflow:hidden magic</h3>
<p>Относительно недавно (относительно пяти лет) мы столкнулись с новым способом, оказалось что overflow:hidden может повторить этот эффект, и <a href="http://cssing.org.ua/examples/overflow-hidden/">сделать его даже лучше</a>. Причина обоих трюков, вовсе не глюки браузеров или специфика их отображения. Причина на сайте W3C:</p>
<blockquote><p>The border box of a table, a block-level replaced element, or an element in the normal flow that establishes a new block formatting context (such as an element with ‘overflow’ other than ‘visible’) must not overlap any floats in the same block formatting context as the element itself.<br />
W3C, CSS 2.1</p></blockquote>
<p><cite><a href="http://www.w3.org/TR/CSS2/visuren.html#floats">источник</a></cite><br />
То есть это не хак, а документированное поведение. Всё дело в так называемом «контексте» или «контексте форматирования», такие правила как display и overflow создают этот контекст, и согласно правилам он (созданный контекст) не может пересекаться с флоатами. Что вобщем и происходит. В результате блок занимает все доступное пространство <em>кроме флоата</em>.</p>
<blockquote><p>Floats, absolutely positioned elements, inline-blocks, table-cells, table-captions, and elements with &#8216;overflow&#8217; other than &#8216;visible&#8217; (except when that value has been propagated to the viewport) establish new block formatting contexts.</p></blockquote>
<p>Как видим контекст можно создавать разными способами.</p>
<p>Важное отличие от display:table &#8212; <em>ширина блока</em>, я сделал <a href="http://cssing.org.ua/examples/overflow-hidden/index_text.html">специальный пример</a> чтобы было видно, чем часто был неудобен именно display:table. </p>
<p>Именно это отличие позволяет делать с overflow более сложные вещи чем с display:table.</p>
<p class="img con"><img src="http://cssing.org.ua/pic/overflow/tablehidden.png" width="460" height="307" /><span>Когда мало текста, блок не занимает всю ширину</span></p>
<h3>IE?</h3>
<p><strong>IE6</strong> &#8212; не работает  ни display:table ни overflow:hidden. Нужно использовать zoom:1; (или любой hasLayout). В результате эффект идентичен действию overflow в других браузерах. </p>
<p><strong>IE7-8</strong> &#8212; overflow:hidden работает также как во всех остальных возможных браузерах.</p>
<p>Резюмируя: можно добавить к overflow:hidden еще zoom:1; и забыть о проблеме.</p>
<h3>Возможные применения</h3>
<p>Самое простое и банальное, вёрстка <a href="http://cssing.org.ua/examples/overflow-hidden/index_pic.html">блоков с текстом и картинкой</a>:</p>
<p class="img con"><img src="http://cssing.org.ua/pic/overflow/2.png" width="377" height="149" /><span>Редкий сайт обходится без такого блока</span></p>
<p>Используя overflow:hidden можно их стилизовать для произвольной ширины картинок.</p>
<p>Чуть более сложный кейс, <a href="http://cssing.org.ua/examples/overflow-hidden/index_input.html">резиновый инпут и кнопка</a>:</p>
<p class="img con"><a href="http://cssing.org.ua/examples/overflow-hidden/"><img src="http://cssing.org.ua/pic/overflow/input.png" width="387" height="39" /><span>Обычное дело  на резиновых сайтах</span></a></p>
<p>С подобной проблемой недавно столкнулся Глеб Арестов и <a href="http://friendfeed.com/yodapunk/c1ada988">успешно решил</a> её как раз с помощью этого же свойства.</p>
<p>Более  того, можно строить layout страниц. В частности в фреймворке <a href="http://wiki.github.com/stubbornella/oocss/">OOCSS</a> колонки строятся как раз с использованием этого свойства. Примерно так:</p>
<p class="img con"><a href="http://cssing.org.ua/examples/overflow-hidden/index_layout.html"><img src="http://cssing.org.ua/pic/overflow/layout.png" width="456" height="99" /><span>Можно не задавать ширину резиновой колонке</span></a></p>
<p>Конечно, тут минимум два недостатка. Во-первых, порядок контента &#8212; средняя колонка должна идти в коде после обоих боковых. Во-вторых, нестабильность при сжатии, когда что-то начинает не помещаться в блоке с overflow:hidden, его самым невероятным образом разрывает на части в IE. min-width мог бы спасти. <a href="http://cssing.org.ua/examples/overflow-hidden/index_layout.html">Использовать</a> осторожно.</p>
<p>Но, помнить о таком мощном приеме стоит.</p>
<h3>Еще</h3>
<ul>
<li><a href="http://www.gunlaug.no/contents/wd_example_01_01.html">Пост Gunlaug</a> про это же поведение</li>
<li><a href="http://cssing.org.ua/2005/07/03/display-table/">Мой пост про display:table</a></li>
<li><a href="http://cssing.org.ua/examples/overflow-hidden/">Мой простой пример</a>, <a href="http://cssing.org.ua/examples/overflow-hidden/index_layout.html">пример трехколоночного сайта</a></li>
<li><a href="http://flack.ru/2008/08/26/semantic-coding-howto-6/">Пост Flack на эту же тему</a></li>
<li><a href="http://habrahabr.ru/blogs/css/48383/">Clear или overflow:hidden — очистка всего потока или создание контекста форматирования?</a></li>
<li><a href="http://habrahabr.ru/blogs/css/48429/">Управление потоком в CSS: создаём контекст форматирования</a></li>
</ul>
<p>Это не CSS3 и далеко не вчерашнее изобретение, но кажется многие недооценивают силу этого простого приема.</p>
<p>Буду рад если поделитесь своим опытом!</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/gFtRtKqnPuY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2010/04/26/overflow-hidden/feed/</wfw:commentRss>
		</item>
		<item>
		<title>РИТ 2010, 12-14 апреля, Москва</title>
		<link>http://cssing.org.ua/2010/04/15/rit-2010/</link>
		<comments>http://cssing.org.ua/2010/04/15/rit-2010/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 16:32:47 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[XHTML/CSS]]></category>

		<category><![CDATA[Общие]]></category>

		<category><![CDATA[веб стандарты]]></category>

		<category><![CDATA[тусовка]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=230</guid>
		<description><![CDATA[небольшой отчет о конференции и интересных докладах
Алекс Могилевский про IE9
Ключевое слово выступления &#8212; HTML5. Именно так, это один из приоритетов нового браузера. Уже работает и видео таг, и SVG, и скоро будет много другое, из того что уже устоялось.
Вторым, и даже более важным приоритетом является скорость. Команда заново переписала джаваскриптовую составляющую браузера, чтобы сделать всё [...]]]></description>
			<content:encoded><![CDATA[<p>небольшой отчет о <a href="http://www.ritconf.ru/">конференции</a> и интересных докладах<span id="more-230"></span></p>
<h3>Алекс Могилевский про IE9</h3>
<p>Ключевое слово выступления &#8212; HTML5. Именно так, это один из приоритетов нового браузера. Уже работает и видео таг, и SVG, и скоро будет много другое, из того что уже устоялось.</p>
<p>Вторым, и даже более важным приоритетом является скорость. Команда заново переписала джаваскриптовую составляющую браузера, чтобы сделать всё еще более быстрым.<br />
Они даже провели аудит 7000 сайтов, чтобы узнать какие части джаваскрипта используются чаще всего. На первом месте, к слову, оказался <code>indexOf</code> и где-то в десятке getElementById. Они очень серьезно относятся к будущему интернета, веб-приложениям и потому готовят браузер к отрисовке множества элементов на странице.</p>
<p>ИЕ9 будет иметь аппаратное ускорение. Алекс покаал несколько демок, которые работают в ИЕ9 в несколько раз быстрее чем в Фаерфоксе и Хроме (видео и анимация картинок). <a href="http://ie.microsoft.com/testdrive/Performance/01FlyingImages/Default.html">Вот такая демка</a> в IE9 не тормозит даже когда весь экран в иконках.</p>
<p>Могилевский фактически поставил на место наши современные браузеры с их поддержкой CSS3. Вот так к примеру выглядит реализация border-type и border-radius. </p>
<p class="img"><img src="http://farm5.static.flickr.com/4068/4520402671_8178e5e697.jpg" alt="" /><span>Угадайте какой браузер слева</span></p>
<p>Я уже в твиттере высказывался о том какой замечательный шаг они сделали опубликовав <a href="http://blogs.msdn.com/ie/archive/2010/03/19/the-css-corner-about-css-corners.aspx">эту статью.</a> А <a href="http://blogs.msdn.com/ie/">у них в блоге</a> сейчас можно найти еще очень много интересного и практического. Если так пойдет и дальше, у нас может окончательно исчезнуть &laquo;враг&raquo;. </p>
<p>Еще один посыл Могилевского, и компании Microsoft &#8212; <em>помогите нам избавиться от IE6</em>. Он рекомендовал не поддерживать его, и не разрабатывать приложения только под него. Сама компания будет продолжать выпускать для него фиксы. Но удалить его насильным апдейтом у пользователей они не могут, очень многие используют приложения которые работают только в IE6. </p>
<p class="img"><img src="http://farm3.static.flickr.com/2725/4521035514_446bb9c729.jpg" alt="" width="500" height="351" /><span>Алекс Могилевский</span></p>
<p>Превью движка нового IE9 <a href="http://ie.microsoft.com/testdrive/">уже можно скачать</a>. Каждые два месяца превью будет обновляться. В частности девелоперская версия уже поддерживает HTML5 video (с кодеком H.264). Про дату релиза нового IE Алекс рассказать не смог, но судя по предыдущим релизам ждать его следует ровно через год, на следующей весенней конференции MIX. IE9 можно будет ставить только на Windows 7 и Vista.<br />
Превью которую можно скачать не содержит интерфейса, потому пока непонятно как он будет выглядеть.</p>
<p>Другим браузерам нужно будет поднапрячься чтобы конкурировать с ИЕ9 в будущем. Вся прошлая репутация Internet Explorer была реабилитирована выступлением Могилевского.<br />
А тут Ольга как будто грозит Алексу &laquo;не шали там с IE9!&raquo; @&copy;<a href="http://twitter.com/martynov">martynov</a>.</p>
<p class="img"><a href="http://fotki.yandex.ru/users/smart0/view/311226?page=17"><img src="http://img-fotki.yandex.ru/get/4213/smart0.1e/0_4bfba_f0823457_XL" alt="" /></a></p>
<p>Фото Сергея Мартынова.</p>
<h3>Чарльз Невилл, директор по стандартам Опера.</h3>
<p class="img"><img src="http://farm5.static.flickr.com/4009/4521020746_f685efc33e.jpg" width="500" height="333" /><span>Чарльз Невилл</span></p>
<p>Выступление было в основном про то как ведется работа над стандартами и что такое эти стандарты вообще. Невилл начал с метафоры, что стандарты как сосиски, их едят все, но лучше нам не знать как они делаются ;)</p>
<p>Рассказывал про geolocation и проблемы с ним. Оказывается почти все браузеры уже его реализовали, но из-за нерешенных проблем с прайваси он до сих пор не запущен. В частности, что делать с тем что какой-то сайт будет знать географическое положение всех своих пользователей. Это уже гораздо круче чем просто пароль к имейлу ;).</p>
<h3>CSS3 анимации, <a href="http://chikuyonok.ru/">Сергей Чикуёнок</a></h3>
<p>Вкратце рассказал о свойствах transition, animation и transform. После чего поделился некоторыми практическими советами по их применению.</p>
<p>Например, правильным скриптом по определению вендор-префикса:</p>
<p class="img"><img src="http://cssing.org.ua/pic/rit2010/anim.png" alt="" width="480" height="299" /><span>Вендор-префиксы</span></p>
<p>Еще показал отличный способ определения поддержки 3д-трансформаций в браузерах.</p>
<ol class="code">
<li>.foo{</li>
<li class="tab">width:0</li>
<li class="tab">}</li>
<li>@media screen and (-webkit-transform-3d){</li>
<li class="tab">.foo{width:300px}</li>
<li class="tab">}</li>
</ol>
<p>После этого можно проверить ширину блока джаваскриптом, и узнать поддерживает ли браузер 3д-трансформации.</p>
<p>Очень мило, что Опера 9 тоже прочитает правило про 300 пикселей, как будто она поддерживает трансформации. Красивого решения этой проблемы нет, так что Сергей пока решил ее проверкой <code><a href="http://www.howtocreate.co.uk/operaStuff/operaObject.html">window.opera</a></code>.</p>
<p>Замечательность способа в том, что мы фильтруем не браузеры определенных версий, а браузеры поддерживающие то или иное свойство. Метод понятное дело подходит и для других случаев.</p>
<p>Забавно было узнать что если анимировать картинки которые имеют размер больше 2000 на 1000 пикселей, то в начале анимации они будут мигать. Для айфона граничное число 1024 пикселя. Это вроде бы связано с ограничениями на размер текстур в openGL. (?)</p>
<p>Аппаратное ускорение (начиная с Mac OS 10.6) и субпиксельное сглаживание делают анимации в Сафари очень привлекательными. </p>
<p>В конце Могилевский одобрил скрипт по определению свойств, и добавил что transition и animation немного дублируют друг друга и возможно синтаксис этих свойств будет изменен. Так что использовать их нужно с некоторой опаской и обязательно проверять на поддержку <em>анимаций</em>, а не на <em>версий браузеров</em>.</p>
<p>Резюме: если вы делаете приложения под мак или айфон, обязательно нужно использовать для анимаций transition-transform-animation. <a href="http://ritconf.ru/abstracts/438.html">Презентация</a>.</p>
<h3>Десктоп-подобные веб-приложения, Владимир Колесников</h3>
<p>Рассказал о метафоре десктоп приложения, о том что она понятна пользователю даже онлайн, и что таких приложений становится все больше. Взять тот же <a href="http://me.com">mobile.me</a> </p>
<p class="img"><img src="http://cssing.org.ua/pic/rit2010/uki.png" alt="" width="480" height="276" /><span>Списки писем онлайн и на десктопе</span></p>
<p>Владимир автор <a href="http://ukijs.org/">новой библиотеки для построения десктоп-подобных интерфейсов Uki</a>. Целью было сделать ее простой и быстрой, и это точно получилось. В действии можно посмотреть на примере копии интерфейса   <a href="http://ukijs.org/mail/index.html">Mail App</a> которую он сделал за пару дней. <a href="http://blog.ukijs.org/2010/04/08/mail-app-on-the-web/">Вот тут можно почитать подробнее</a>.</p>
<p>Следует упомянуть, что размер всего приложения с картинками и CSS в gzip &#8212; <a href="http://ukijs.org/mail/index.html">65 килобайт</a>. А сам фреймворк с картинками и стилями в сжатом виде 35 килобайт.</p>
<p class="img"><img src="http://farm3.static.flickr.com/2719/4521043860_b7c11098fe.jpg" alt="" width="500" height="333" /><span>Владимир Колесников</span></p>
<p>Еще развеял некоторые мифы о таких библиотеках. Например, этот mail app работает отлично в IE6.</p>
<p>Из альтернативных вариантов для построения десктоп-подобных интерфейсов Владимир рекомендовал <a href="http://www.sproutcore.com/">Sproutcore</a> и <a href="http://cappuccino.org/">Capuccino</a>. </p>
<h3>Ошибка. Осознание, анализ, извлечение пользы. Вадим Макишвили</h3>
<p>Очередное великолепное выступление Вадима.<br />
Чтобы вы поняли, приведу короткий разговор в кулуарах:</p>
<blockquote><p>- Ты же уже был на его выступлении?<br />
- Да, но только один раз.
</p></blockquote>
<p class="img"><img src="http://farm3.static.flickr.com/2794/4520408171_afa613c344.jpg" width="500" height="333" /><span>Вадим Макишвили</span></p>
<p>Философский взгляд на ошибки, самооценку, работу верстальщика. Сдобренный несколькими реальными и интересными ошибками из опыта вёрстки сервисов Яндекса. Пересказывать бессмысленно, не пропустите если будет возможность ;). </p>
<p>Если конечно его отпустят теперь на конференции, во время выступления звучали признания в любви. А ведь он женат! ;)</p>
<h3>Костыли это кошерно, Павел Кудинов</h3>
<p>Это однозначно один из лучших докладов на конференции рекомендую всем.</p>
<div class="img">
<div><object width="400" height="327"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10922497&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10922497&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="327"></embed></object></div>
<p>Костыли &#8212; это кошерно</p>
</div>
<p>И  <a href="http://pavel-kudinov.livejournal.com/69412.html">ссылка на отчет самого Кудинова</a>. Если вы еще сомневаетесь смотреть или нет &#8212; перестаньте, смотрите.</p>
<h3>Ещё</h3>
<ul>
<li><a href="http://www.flickr.com/photos/49251913@N05/sets/72157623844369312/">Фото первого дня</a></li>
<li><a href="http://ritconf.ru">Сайт конференции</a></li>
<li><a href="http://ritconf.ru/abstracts/index.html">Слайды и тезисы</a></li>
<li><a href="http://fotki.yandex.ru/users/smart0/album/97336/">Куча клёвых фотографий от Сергея Мартынова</a></li>
</ul>
<p>К сожалению с третьего дня конференции пришлось уехать, потому слушал не все доклады. Будем ждать видео.</p>
<p>Спасибо организаторам за отличную конференцию.<br />
Очень рад был встретить всех старых знакомых. :)<br />
Буду рад и вашим впечатлениям!</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/z8OUUOHp43I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2010/04/15/rit-2010/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Презентация про CSS3 и HTML5 на них же</title>
		<link>http://cssing.org.ua/2010/03/31/html5-css3/</link>
		<comments>http://cssing.org.ua/2010/03/31/html5-css3/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 14:06:22 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[Fun]]></category>

		<category><![CDATA[XHTML/CSS]]></category>

		<category><![CDATA[Общие]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=228</guid>
		<description><![CDATA[Я показывал ее на недавнем Openwebcamp. Презентация на CSS3 и HTML5 без джаваскрипта. Как надо работает только в Safari и Хроме, но вы уже привыкли, да?

Предыстория
Началось с того что мне нужно было сделать доклад об использовании новых технологий. Делать его в Powerpoint и потом все время говорить &#171;Ну вы это легко проверите в своём браузере&#187; [...]]]></description>
			<content:encoded><![CDATA[<p>Я показывал ее на недавнем <a href="http://openwebcamp.org.ua/">Openwebcamp</a>. Презентация на CSS3 и HTML5 без джаваскрипта. Как надо работает только в Safari и Хроме, но вы уже привыкли, да?<br />
<span id="more-228"></span></p>
<h3>Предыстория</h3>
<p>Началось с того что мне нужно было сделать доклад об использовании новых технологий. Делать его в Powerpoint и потом все время говорить &laquo;Ну вы это легко проверите в своём браузере&raquo; мне не нравилось, и я решил сделать презентацию целиком на этих эффектах. Вот что получилось.<br />
То что получилось устроить все без Javascript &#8212; случайность. Приятная.</p>
<h3>Сразу о поддержке браузеров</h3>
<p>Это всего лишь презентация, и я c самого начала не преследовал цель полной кроссбраузерности. Мне было важно чтобы она работала в моем Сафари. Однако, в Опере и Фаерфоксе она <em>будет</em> работать, просто в некоторых местах коряво, а кое-где очень коряво. В Хроме она работает отлично, но иногда по непонятным мне причинам хром делает что-то вроде &laquo;Я устал от твоего CSS3&raquo; и опускает руки. Редко.<br />
Вобщем Сафари и Хром наш выбор сегодня. </p>
<h3><a href="http://cssing.org.ua/examples/css3html5/">Презентация</a></h3>
<p>В презентации которую я показывал на конференциях ссылки были скрыты, было видно только их черную границу справа, которая становилась красной при фокусе на ссылке. Однако чтобы можно было смотреть ее в интернете, я сделал ссылки видимыми, <a href="http://cssing.org.ua/examples/css3html5/">кликайте</a>.</p>
<h3>о том как это сделано</h3>
<p>Структура кода примерно такая:</p>
<ol class="code">
<li>&lt;body&gt;</li>
<li>&lt;section id=&quot;slide1&quot;&gt;</li>
<li class="tab">&lt;h1&gt;CSS3 и HTML5&lt;/h1&gt;</li>
<li class="tab">&lt;p&gt;Openwebcamp, Киев, 2010&lt;/p&gt;</li>
<li>&lt;/section&gt;</li>
<li></li>
<li>&lt;section id=&quot;slide2&quot;&gt;</li>
<li>&#8230;</li>
</ol>
<p>Каждый <code>section</code> &#8212; отдельный слайд. Всем им задан:</p>
<ol class="code">
<li>section{</li>
<li class="tab">position:absolute;</li>
<li class="tab">top:0;left:0;</li>
<li class="tab">height:100%;</li>
<li class="tab">opacity:0;<small>/*по умолчанию все слайды скрыты*/</small></li>
<li class="tab">}</li>
</ol>
<p>То есть они отображены все на одном месте, на весь экран, с прозрачностью 0.<br />
Кроме этого, в файле содержится навигация, просто список ссылок на все эти слайды-<code>section</code>:</p>
<ol class="code">
<li>&lt;ul&gt;</li>
<li class="tab">&lt;li&gt;&lt;a tabindex=&quot;100&quot; href=&quot;#slide1&quot;&gt;slide1&lt;/a&gt;&lt;/li&gt;</li>
<li class="tab">&#8230;</li>
</ol>
<p>Навигации тоже заданы координаты через position:absolute;. tabindex тут не просто так, позднее станет ясно зачем он мне.</p>
<p>Но как же я переключаю слайды? Это делается с помощью псевдокласса <code><strong>:target</strong></code>.</p>
<p>Этот селектор указывает  на блоки, которые являются «адресом» внутренней ссылки. То есть при blabla.html#slide21, для блока у которого id=&#8221;slide21&#8243; сработает <code>:target</code>.</p>
<p>Результат в CSS выглядит так:</p>
<ol class="code">
<li>section:target{</li>
<li class="tab">opacity:1;</li>
<li class="tab">}</li>
</ol>
<p>То есть при клике на любую ссылку из навигации, слайд на который она ссылается станет видимым.<br />
Известное <a href="http://cssing.org.ua/2009/11/04/css-animation/">свойство transition</a> позволит нам сделать это плавно:</p>
<ol class="code">
<li>section{</li>
<li class="tab">transition:all 1s linear;</li>
<li class="tab">}</li>
</ol>
<p>Таким образом вместо того чтобы отобразить слайд моментально, он будет плавно появляться.<br />
Более того, я добавил еще пару эффектов, такой например:</p>
<ol class="code">
<li>.effect-slideleft{
<li class="tab">left:-100%;</li>
<li class="tab">opacity:1;</li>
<li class="tab">transition:all 1s ease-in-out;</li>
<li class="tab">}</li>
</ol>
<p>Это значит по умолчанию слайд будет смещен влево от экрана, а при клике плавно изменит положение. (opacity:1 значит что прозрачность не будет анимироваться).<br />
А вот эффект кручения-исчезновения в центр:</p>
<ol  class="code">
<li>.effect-rotate{</li>
<li class="tab">transform:rotate(360deg) scale(.01) translate(50%, 50%);</li>
<li class="tab">transition:all 1s ease-in-out;</li>
<li class="tab">}</li>
</ol>
<p>Подробнее об играх с transform можно почитать в <a href="http://cssing.org.ua/2009/11/04/css-animation/">моем же посте</a></p>
<h3>Как переключать слайды пультом?</h3>
<p>Я написал небольшой <a href="http://en.wikipedia.org/wiki/AppleScript">applescript</a>, который по нажатию Apple Remote табулировался по ссылкам навигации (вот зачем tabindex), и по нажатию на пульте &laquo;Play» &#8212; кликал на них. Это единственная часть которую по понятным причинам трудно реализовать совсем без скрипта.</p>
<p>Хотя у меня была идея построить все на -webkit-transition-delay (расписать в CSS появление каждого слайда по времени). Но тогда даже я сам считал бы себя психом.<br />
Если кому-то интересно итоговый скрипт выглядел примерно так (табулирование + enter):</p>
<ol class="code">
<li>on nextElement()</li>
<li class="tab">simulate keycode 48 with option</li>
<li class="tab">simulate keycode 76</li>
<li>end nextElement</li>
</ol>
<p>Это я позаимствовал из <a href="http://www.gravityapps.com/sofacontrol/index.html">Sofa Control</a>.</p>
<h3>Почитать</h3>
<ul>
<li><a href="http://cssing.org.ua/examples/css3html5/">Сама презентация</a> и ее <a href="http://cssing.org.ua/examples/css3html5/css/base.css">ядро</a></li>
<li><a href="http://www.css3.info/">CSS3.info</a></li>
<li><a href="http://dev.w3.org/html5/spec/Overview.html">HTML5 спецификация</a></li>
<li><a href="http://kigorw.com/articles/talks-engine">Еще вариант движка на Django</a></li>
<li><a href="http://meyerweb.com/eric/tools/s5/s5-intro.html">S5</a> один из первых движков для презентаций в браузере</li>
</ul>
<p>Буду рад услышать ваши мысли про эту затею. Надеюсь она вдохновит кого-то на что-нибудь еще клёвое :)</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/_OFFa8K0xDc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2010/03/31/html5-css3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Почетная грамота</title>
		<link>http://cssing.org.ua/2010/03/24/gramota/</link>
		<comments>http://cssing.org.ua/2010/03/24/gramota/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 11:28:14 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[Общие]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=229</guid>
		<description><![CDATA[Мне была оказана большая честь.

Был рад возможности работать с командой настоящих профи над таким проектом!

Фотоаппарат к сожалению нельзя было взять с собой, однако вот еще несколько фото с того дня.
]]></description>
			<content:encoded><![CDATA[<p>Мне была оказана <a href="http://www.svobodainfo.org/info/page/_toc118000563?tid=633200005&#038;nd=902202223&#038;prevDoc=902202223&#038;spack=110listid%3D010000000100%26listpos%3D147%26lsz%3D191420%26nd%3D8000004%26nh%3D0%26">большая честь</a>.</p>
<p class="img"><a href="http://cssing.org.ua/pic/kremlin/gramota_big.jpg"><img src="http://cssing.org.ua/pic/kremlin/gramota.jpg" width="500" height="363"  alt="Почетная Грамота Президента России" /></a></p>
<p>Был рад возможности работать с командой настоящих профи над таким проектом!<br />
<span id="more-229"></span><br />
Фотоаппарат к сожалению нельзя было взять с собой, однако вот еще <a href="http://www.flickr.com/photos/akella/sets/72157623559177387/">несколько фото</a> с того дня.</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/44zoORlHSok" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2010/03/24/gramota/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OpenwebCamp, Киев</title>
		<link>http://cssing.org.ua/2010/03/22/openwebcamp-css3-html5/</link>
		<comments>http://cssing.org.ua/2010/03/22/openwebcamp-css3-html5/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 14:17:56 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[Общие]]></category>

		<category><![CDATA[веб стандарты]]></category>

		<category><![CDATA[тусовка]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=227</guid>
		<description><![CDATA[Короткие впечатления и фотки с мероприятия. Плюс описание моей презентации.

Так как через пару дней я выступлю с таким же докладом на iforum, я решил не портить никому удовольствия и выложить презентацию и само ее описание сразу 1-го апреля. Если у вас хватит памяти не забыть до тех пор о ней, я посвящу ей целый пост. [...]]]></description>
			<content:encoded><![CDATA[<p>Короткие впечатления и фотки с мероприятия. <del datetime="2010-03-22T10:03:01+00:00">Плюс описание моей презентации.</del><br />
<span id="more-227"></span><br />
Так как через пару дней я выступлю с таким же докладом на iforum, я решил не портить никому удовольствия и выложить презентацию и само ее описание сразу 1-го апреля. Если у вас хватит памяти не забыть до тех пор о ней, я посвящу ей целый пост. ;)</p>
<p>(На самом деле я просто еще не успел дописать описание презентации.)</p>
<p>Среди докладов было несколько о революционных технологиях которые я к сожалению пока не совсем оценил, скорее потому что это не моя сфера. Потому расскажу о тех докладах что я успел услышать до того как пришлось убежать по Очень Важному Делу.</p>
<h3>Виталий Рыбалка из Ukr.Net</h3>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/vitex.jpg" alt=""  width="480" height="320"><span>Доклад Виталия</span></p>
<p>Рассказывал о техниках оптимизации и ускорения сайтов, в том числе о тех что используются на актуальной версии ukr.net.<br />
Кроме того рассказал о множестве инструментов с помощью которых можно оценить слабые места сайтов. <a href="http://vitex.in.ua/owc2010/">Вот тут находится его презентация</a>, для тех кому интересна тема.</p>
<h3>Тимофей Бабич про user scripts</h3>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/tim.jpg" alt=""  width="480" height="320"><span>Вот тут Тиму надо было загадать желание</span></p>
<p>Речь шла о скриптах для <a href="http://en.wikipedia.org/wiki/Greasemonkey">GreaseMonkey</a>, Stylish и новом приложении от мозиллы <a href="https://jetpack.mozillalabs.com/">Jetpack</a>. Рекомендую подробнее с ним ознакомиться. Тема эта очень интересная, хотя я лично дальше adblock так и не пошел.</p>
<h3>Игорь Кононученко про Canvas</h3>
<p>Игорь является техническим директором студии Веджо, доклад был достаточно коротким. Но за это время Игорь продемонстрировал несколько интересных применений этой технологии в проектах которые уже работают. В частности, мы раздевали женщин.</p>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/canvas.jpg" alt=""  width="480" height="320"><span>Та самая женщина</span></p>
<h3><a href="http://pepelsbey.net/">Pepelsbey</a> про универсальные сайты для мобильных</h3>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/pepelsbey.jpg" alt=""  width="480" height="320"><span>Вот что нужно сделать</span></p>
<p>Самая хорошая новость, что порядка 80% нашей аудитории используют браузер Opera Mini или Opera Mobile. Один так клево упрощает странички (и ориентирован на простые мобилы) что почти ни о чем можно не волноваться. А второй поддерживает столько крутого CSS3 что можно творить все что угодно.<br />
В том числе Вадим рассказал о media queries. Это, например, фильтрование CSS для браузера учитывая его размер экрана, вот как-то так:</p>
<ol class="code">
<li>@media screen and (max-device-width: 480px) {&#8230;}</li>
</ol>
<p>Более того в мобильном браузере можно использовать селекторы и свойства вроде:</p>
<ol class="code">
<li>input[type:text]{</li>
<li class="tab">background: url(pic.svg) no-repeat,</li>
<li class="tab">url(pic2.svg) no-repeat,</li>
<li class="tab">rgba(170,0,0, 0.5);</li>
<li class="tab">}</li>
<li>a:first-of-type{display:none}</li>
</ol>
<p>И это на мобильных! Уму непостижимо :)<br />
Кроме этого, сегодня <a href="http://www.opera.com/press/releases/2010/03/22_3/">Опера объявила о виджетах</a> для Opera <del datetime="2010-03-22T14:37:28+00:00">Mobile</del> Mini.</p>
<p>Доклад получился достаточно насыщенный информацией, надеюсь он скоро его выложит, так как пересказывать слишком долго.</p>
<h3>Еще несколько случайных фото</h3>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/akella.jpg" alt=""  width="480" height="360"><span>Это я в кого-то стреляю, by <a href="http://twitter.com/klonfuture">@klonfuture</a></span></p>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/notes.jpg" alt=""  width="480" height="320"><span>А это мой и pepelsbey ноутбуки, у обоих открыты файлы презентаций, оба правим что-то</span></p>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/girl.jpg" alt=""  width="480" height="320"><span>Вот такое у нас было расписание</span></p>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/people.jpg" alt=""  width="480" height="320"><span>Народ</span></p>
<p class="img"><img src="http://cssing.org.ua/pic/openwebcamp/znachki.jpg" alt=""  width="480" height="320"><span>А тут всем сказали что можно взять значки со стола</span></p>
<h3>Другие отчеты и ссылки</h3>
<ul>
<li><a href="http://twitter.com/#search?q=owcamp">Твиты про openwebcamp</a></li>
<li><a href="http://openwebcamp.org.ua/">Официальный сайт</a></li>
<li><a href="http://vovanada.org.ua/2010/03/openwebcamp/">в блоге Vovanada</a></li>
<li><a href="http://www.kigorw.com/places/owc2010">от Kigorw</a> (доклад о canvas)</li>
<li><a href="http://vitex.in.ua/owc2010/">Доклад vitex о клиентской оптимизации</a></li>
</ul>
<p>В целом круто, и побольше бы таких мероприятий Киеву, правда?<br />
Организаторам <a href="http://clear.com.ua/">Тимофею Бабичу</a> и <a href="http://klekovkin.com.ua/">Юрию Клековкину</a> из Mozilla, отдельное спасибо!<br />
И слушателям спасибо за хорошие отзывы! =)<br />
Буду рад услышать и ваши впечатления!</p>
<p>P.S.: презентация в следующем посте.</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/-mlH9FY9N1c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2010/03/22/openwebcamp-css3-html5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Мастер-класс в Киеве, 10 апреля</title>
		<link>http://cssing.org.ua/2010/03/17/css-workshop/</link>
		<comments>http://cssing.org.ua/2010/03/17/css-workshop/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 11:29:52 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[XHTML/CSS]]></category>

		<category><![CDATA[Общие]]></category>

		<category><![CDATA[веб стандарты]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=226</guid>
		<description><![CDATA[10 апреля в Киеве состоится мой мастер-класс по вёрстке. 
Буду рассказывать о современных техниках вёрстки, опыте разработки ресурса kremlin.ru, подходах больших компаний (Yahoo, Yandex), ускорению загрузки сайтов, версиях для мобильных, поиске работы верстальщика, CSS3 и HTML5, и о чём меня только спросят, я готов подарить всем свой мозг. Ориентирован на людей которые уже умеют верстать. [...]]]></description>
			<content:encoded><![CDATA[<p>10 апреля в Киеве состоится мой мастер-класс по вёрстке. <span id="more-226"></span></p>
<p>Буду рассказывать о современных техниках вёрстки, опыте разработки ресурса kremlin.ru, подходах больших компаний (Yahoo, Yandex), ускорению загрузки сайтов, версиях для мобильных, поиске работы верстальщика, CSS3 и HTML5, и о чём меня только спросят, я готов подарить всем свой мозг. Ориентирован на людей которые уже умеют верстать. Примерно 4-5 часов с перерывами, затем с желающими в паб. :)<br />
<a href="http://www.smartme.com.ua/css-workshop/">Подробнее на страничке воркшопа</a>, тут же можно и зарегистрироваться.</p>
<p>Вход платный, до первого апреля стоимость 38 баксов.<br />
Буду рад встретиться и поделиться всем что я знаю!</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/3unDS1CX50o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2010/03/17/css-workshop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Слайсы на kremlin.ru</title>
		<link>http://cssing.org.ua/2010/03/12/kremlin-slice/</link>
		<comments>http://cssing.org.ua/2010/03/12/kremlin-slice/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 12:05:00 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[XHTML/CSS]]></category>

		<category><![CDATA[веб стандарты]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=225</guid>
		<description><![CDATA[Сегодня запустили слайсы на kremlin.ru. Небольшой рассказ чтобы упростить внедрение в будущем.

Что это вообще такое эти слайсы?
Это что-то вроде продвинутых закладок для IE8.  Вы можете выбрать кусочек страницы, добавить его в Favorites. И после этого находясь уже на другом сайте, просмотреть этот кусочек. По клику на закладку откроется небольшое окошко с фрагментом другой страницы. [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня запустили слайсы на kremlin.ru. Небольшой рассказ чтобы упростить внедрение в будущем.<br />
<span id="more-225"></span></p>
<h3>Что это вообще такое эти слайсы?</h3>
<p>Это что-то вроде продвинутых закладок для IE8.  Вы можете выбрать кусочек страницы, добавить его в Favorites. И после этого находясь уже на другом сайте, просмотреть этот кусочек. По клику на закладку откроется небольшое окошко с фрагментом другой страницы. Например это может быть погода, вот так это выглядит в слайсе от gismeteo:</p>
<p class="img"><img src="http://cssing.org.ua/pic/slices/gismeteo.png" alt=""  width="458" height="379"><span>Заметьте, что при этом я нахожусь на сайте Digg</span></p>
<p>Или это может быть десятка популярных линков Digg:</p>
<p class="img"><img src="http://cssing.org.ua/pic/slices/digg.png" alt=""  width="458" height="379"><span>А теперь я на gismeteo, но держу руку на пульсе Digg! Я непредсказуем - согласитесь.</span></p>
<p>Идея в том, что вам не нужно заходить на сайт, можно загрузить только тот кусочек который важен.<br />
Но, обновлять так можно не любой фрагмент сайта, а только отдельные, предусмотренные сайтом. Фрагменты подсвечиваются примерно так:</p>
<p class="img"><a href="http://cssing.org.ua/pic/slices/kremlin.jpg"><img src="http://cssing.org.ua/pic/slices/kremlin_small.png" alt=""  width="460" height="279"><span>Картинка кликабельна</span></a></p>
<p>Такая вот полезная мелочь. А для больших сайтов, как известно, все мелочи значимы. </p>
<h3>Что это такое для кодера</h3>
<p>Не более чем набор микроформатов (за нас придуманных названий классов). Ничтоже сумняшеся перейдем к коду, он очень прост:</p>
<ol class="code">
<li>&lt;div <strong>class=&quot;hslice&quot; id=&quot;whatever&quot;</strong>&gt;</li>
<li class="tab">&lt;div <strong>class=&quot;entry-title&quot;</strong>&gt;Название слайса.&lt;/div&gt;</li>
<li class="tab">&lt;div <strong>class=&quot;entry-content&quot;</strong>&gt;А тут то что будет отображаться в окошке слайса.&lt;/div&gt;</li>
<li>&lt;/div&gt;</li>
</ol>
<p>Пару классов, и какой-то, любой, но заданный id.<br />
Это пример самого элементарного слайса.<br />
В моем случае было что-то вроде этого:</p>
<ol class="code">
<li>&lt;div class=&quot;b-news-main <strong>hslice</strong>&quot; id=&quot;news&quot;&gt;</li>
<li class="tab">&lt;h2 <strong>class=&quot;entry-title&quot;</strong>&gt;Новости&lt;/div&gt;</li>
<li class="tab">&lt;ul class=&#8221;entry-content&#8221;&gt;<small>&#8230;список новостей&#8230;</small> &lt;/ul&gt;</li>
<li>&lt;/div&gt;</li>
</ol>
<p>Это код с <a href="http://kremlin.ru">главной</a>. А результат получился такой:</p>
<p class="img"><img src="http://cssing.org.ua/pic/slices/fail.png" alt=""  width="396" height="285"><span>Очень мило</span></p>
<p>Неприятные мысли стали посещать меня в этот момент.<br />
Но я снова воспрял духом едва прочитал документацию до конца. Оказалось, из стилей наложенных на этот фрагмент на оригинальной странице, берутся только инлайновые, и никаких наследованных  (<code>body{font-size:12px}</code> не применяется).</p>
<p><code>style="font-size:12px;"</code> применился бы, но кому интересно марать свой чистый код.</p>
<h3>Правильный путь</h3>
<p>Можно, и я думаю нужно, подключать контент для слайса из отдельного файла. Какова бы ни была ваша страница, стили наложенные на фрагмент <em>на сайте</em>, вряд ли красиво переложатся в это <em>маленькое окошко</em> слайса в браузере.</p>
<p>В <a href="http://msdn.microsoft.com/library/cc848871(VS.85).aspx">документации</a> описано несколько путей. Нам подошел следующий.<br />
Код на сайте:</p>
<ol class="code">
<li>&lt;div class=&quot;b-news-main hslice&quot; id=&quot;news-slice&quot;&gt;</li>
<li class="tab">        &lt;h3 class=&quot;entry-title&quot;&gt;Новости&lt;/h3&gt;</li>
<li class="tab"><strong>&lt;a rel=&quot;feedurl&quot; href=&quot;/slice/news&quot;&gt;&lt;/a&gt;</strong></li>
<li class="tab">&#8230;</li>
<li>&lt;/div&gt;
</ol>
<p>Параметр feedurl используется для указания альтернативного источника для слайса, как раз то что нам нужно в данном случае.</p>
<p>А по адресу <a href="http://kremlin.ru/slice/news">/slice/news</a> находится файл который я хочу чтобы отображался в браузере.</p>
<p>При этом важно помнить, что внутри этого файла снова должен быть размечен слайс, поскольку IE рассматривает его именно как <em>альтернативный источник</em>, который снова надо парсить. Если просто вставить в этом файле какой-либо HTML (было бы логично) слайс не будет работать в браузере. <a href="http://kremlin.ru/slice/news">Вот такое там содержимое прямо сейчас</a>:</p>
<ol class="code">
<li>&lt;div class=&quot;hslice entry-content&quot; id=&quot;documents&quot;&gt;</li>
<li class="tab">&lt;h2 class=&quot;entry-title&quot;&gt;Новости&lt;/h2&gt;</li>
<li class="tab"><small>&lt;!&#8211;Адрес куда IE будет ходить при обновлении, сюда же &#8211;&gt;</small></li>
<li class="tab">&lt;a rel=&quot;entry-content&quot; href=&quot;http://news.kremlin.ru/slice/news&quot; style=&quot;display: none;&quot; &gt;&lt;/a&gt;</li>
<li class="tab">&lt;ul class=&quot;entry-content&quot;&gt;</li>
<li class="tabtab"><small>список новостей</small></li>
<li class="tab">&lt;/ul&gt;</li>
<li>&lt;/div&gt;</li>
</ol>
<p>Как видно, обычный слайс с которого мы начинали. И теперь наконец все работает! На этом мы пока и остановились. Слайс в действии можно видеть <a href="http://kremlin.ru">на этой страничке</a>, а файл самого слайса <a href="http://kremlin.ru/slice/news">берется отсюда</a>.<br />
Выглядит это прямо сейчас вот так:</p>
<p class="img"><img src="http://cssing.org.ua/pic/slices/result.png" alt=""  width="460" height="382"><span>Слайс можно растянуть по вертикали чтобы уместилось больше новостей</span></p>
<p>А вот так распознается браузером:</p>
<p class="img"><img src="http://cssing.org.ua/pic/slices/result1.png" alt=""  width="527" height="229"></p>
<p>После, я еще много игрался и комбинировал эти методы, если кому-то интересно, вы тоже можете окунуться с головой в увлекательный мир слайсов под IE8. Но я решил удовлетвориться одним рабочим вариантом :)</p>
<h3>Ссылки</h3>
<ul>
<li><a href="http://habrahabr.ru/blogs/ie/72189/">Подробная статья на Хабрахабре</a></li>
<li><a href="http://msdn.microsoft.com/library/cc848871(VS.85).aspx">Про слайсы на MSDN</a></li>
<li><a href="http://ieaddons.com/ru/webslices/">Слайсы на других русскоязычных сайтах</a></li>
</ul>
<p>Надеюсь кому-то это сэкономит время в будущем, и буду рад вашему опыту!<br />
В одном из следующих постов могу рассказать об опыте вёрстки этого большого проекта. И почему все получилось сделать валидным.</p>
<p>P.S.: Так как у меня windows XP, и в ней стоит родной IE6, который я не хотел терять, тестировал я все в <a href="http://ru.wikipedia.org/wiki/Software_as_a_service">SaaS</a> решении <a href="http://spoon.net/">Spoon.net</a>. Нужно лишь установить плагин порядка 25 мегабайт, и можно запускать почти <a href="http://spoon.net/browsers/">любой браузер</a> (всё это работает правда пока под Windows).</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/sp2Yc2aXhf0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2010/03/12/kremlin-slice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Web Standards Days, 28 ноября, Минск</title>
		<link>http://cssing.org.ua/2009/11/30/minsk-web-standards-days/</link>
		<comments>http://cssing.org.ua/2009/11/30/minsk-web-standards-days/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 09:26:03 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[веб стандарты]]></category>

		<category><![CDATA[тусовка]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=222</guid>
		<description><![CDATA[Вернулся из Минска с первого мероприятия Web Standards Days. Впечатления и отрывки докладов.

Андрей Сумин и редизайн hh.ru
Три верстальщика, около 60 разных страниц сайта, и пара месяцев на полный редизайн, включая внедрение.
Андрей Сумин
В работе над редизайном хедхантера использовалась идея верстки независимыми блоками Харисова. Как сказал Андрей, подход превращает ремесло верстальщика в производство. А это позволяет эффективно [...]]]></description>
			<content:encoded><![CDATA[<p>Вернулся из Минска с первого мероприятия <a href="http://webstandardsdays.ru/">Web Standards Days</a>. Впечатления и отрывки докладов.<br />
<span id="more-222"></span></p>
<h3>Андрей Сумин и редизайн hh.ru</h3>
<p>Три верстальщика, около 60 разных страниц сайта, и пара месяцев на полный редизайн, включая внедрение.</p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/4.jpg" width="480" height="320" alt=""  /><span>Андрей Сумин</span></p>
<p>В работе над редизайном хедхантера использовалась идея верстки независимыми блоками Харисова. Как сказал Андрей, подход превращает <em>ремесло</em> верстальщика в <em>производство</em>. А это позволяет эффективно работать над проектом сразу нескольким верстальщикам. </p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/8.jpg" width="480" height="416" alt=""  /><span>Было-стало</span></p>
<p>Андрей рассказал что редизайн происходил постепенно, на сайте появлялись отдельные страницы с новым дизайном. В результате многие, даже внутри хедхантера, не поняли что происходил полный редизайн сайта, пока не обновилась главная страница. </p>
<p>Как и в яндексе, на хедхантере колонки сайта сделаны ячейками таблицы. Просто потому что это наиболее стабильный вариант. Ну, такие популярные сайты в которых вдобавок всякая странная резина, можно понять.</p>
<p>Для работы над проектом ребята придумали некий движок:</p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/3.jpg" /><span>Работа над страницами сайта</span></p>
<p>Там они разными цветами отмечали готовность верстки для разных страниц сайта. По словам Андрея подход очень помог в работе. (на фото видно что всё почти зеленое &#8212; это уже последние дни перед запуском, когда всё было готово)</p>
<h3>Исповедь Макишвили</h3>
<p>Настолько проникновенно и с чувством Вадим рассказывал что по-другому и не назовешь.</p>
<p>Рассказ начался с вот такого слайда:</p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/1.jpg" width="480" height="360" alt="" /><span>Shame on you, Opera!</span></p>
<p>Вадим сделал не доклад, а настоящий рассказ-размышление. Речь шла об ошибках, о том зачем мы их допускаем, и как их не бояться. Внутренние переживания верстальщика, отношение менеджеров. Пересказывать трудно, выйдет блекло, просто постарайтесь попасть на его следующий доклад. </p>
<p>Также с сожалением сказал что quirksmode на страницах Яндекса возможно был не самым удачным решением.</p>
<p>Кроме того Вадим рассказал о нескольких наиболее вредных глюках. И его личном «любимом» баге на решение которого он потратил больше недели. Условий для бага целых 8, и он связан с флоат блоками и длинными неразрывными словами внутри таблиц.</p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/7.jpg"  width="480" height="391" alt=""  /><span>В среднем на одну задачу приходится две ошибки</span></p>
<p>По <a href="http://twitter.com/#search?q=макишвили%20%23wstdays">количеству положительных отзывов</a> Вадима можно однозначно считать рок-звездой минской встречи. :)</p>
<h3>Макеев о веб-шрифтах</h3>
<p>Первый слайд презентации:</p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/2.jpg" width="480" height="360" alt=""  /><span>Ответ Вадима Вадиму</span></p>
<p>Pepelsbey рассказывал о шрифтах для веб, их истории и самых последних обновлениях. О том как все уже намучились c .eot. И всяком другом интересном про шрифты.</p>
<p>Вадим также обмолвился, что во внутренней рассылке оперовцев идея WOFF была воспринята с энтузиазмом. Так что вполне может быть этот формат станет стандартом отрасли для веб-шрифтов. WOFF это на самом деле открытый и более совершенный вариант майкрософтовского EOT.</p>
<h3>А ещё</h3>
<p>Николай Мациевский рассказал о том что и когда лучше использовать для рисования, SVG или <code>canvas</code>. <a href="http://webo.in/articles/wsd2009/vml-svg-canvas/">Доклад доступен у него на сайте</a>. Результат сравнения примерно такой: сложные области или чисто растровая графика &#8212; Canvas, большие по пиксельной площади объекты, которые могут быть в векторе &#8212; SVG.</p>
<p>Ему вообще отдельная благодарность, так как много его хороших книг подарили по ходу мероприятия. </p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/5.jpg" width="480" height="320" alt=""  /><span>Николай Мациевский</span></p>
<p>Весь зал выглядел примерно так, почти полный:</p>
<p class="img"><img src="http://cssing.org.ua/pic/minsk/6.jpg" width="480" height="320" alt=""  /><span>Народу было очень много. Ловцевич об HTML5</span></p>
<p>Кроме этого выступали и <a href="http://webstandards.org.ru/">Константин Ефимов</a> (о современных технологиях в верстке и их правильном использовании) и <a href="http://lovtsevich.com/">Павел Ловцевич</a> (об HTML5). Артемий Ломов рассказал о конкурсе <a href="http://www.webhitech.ru/">WebHiTech</a> который недавно закончился.</p>
<p>Ожидался <a href="http://chikuyonok.ru/">Сергей Чикуёнок</a>, но, жаль, кажется просто не хватило времени.</p>
<ul>
<li><a href="http://webstandardsdays.ru/">Официальный сайт мероприятия</a> и <a href="https://twitter.com/webstandards_ru">твиттер</a></li>
<li><a href="http://live.miripiruni.org/2009/12/01/1/">Отчет Вячеслава Олиянчука aka miripuni</a></li>
<li><a href="http://habrahabr.ru/blogs/webstandards/76931/">Отчет на хабре</a></li>
<li><a href="http://www.webhitech.ru/press/11/">Отчет на WebHiTech</a></li>
<li><a href="http://fotki.yandex.ru/users/h404/album/83917?p=0">Фотографии от Михаила Баранова</a></li>
</ul>
<p>Видео и слайды докладов думаю скоро появятся на сайте WSTdays.</p>
<p>Было неожиданно много людей и отличная атмосфера. Очень приятно было увидеть кучу знакомых людей из интернета. Кажется теперь в Минске должна начаться б<em>о</em>льшая активность.  Приходите на следующие мероприятия организованные <a href="http://web-standards.ru/">сообществом</a>, возможно и в Киеве  ;). Организаторам большое спасибо, и Opera как спонсор молодец. А я дурак, потому что не попал на афтепати в бассейне :)</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/GVlAww9Jxos" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2009/11/30/minsk-web-standards-days/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Всё крутится и летает</title>
		<link>http://cssing.org.ua/2009/11/04/css-animation/</link>
		<comments>http://cssing.org.ua/2009/11/04/css-animation/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 16:32:25 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[Fun]]></category>

		<category><![CDATA[XHTML/CSS]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=220</guid>
		<description><![CDATA[Я занимался сексом с webkit-transition, результат можно увидеть тут, да и тут впрочем тоже, а вот что придумал Genn узнав об этом (примеры работают пока только в Хроме и Сафари).
Дальше будет немного теории, можно сразу перейти к примерам внизу.
transition transform
Это CSS3 свойства, которые пока работают только в Safari и Chrome. Еще они будут в следующей [...]]]></description>
			<content:encoded><![CDATA[<p>Я занимался сексом с webkit-transition, результат <a href="http://cssing.org.ua/examples/cssanimation/">можно увидеть тут</a>, да и <a href="http://cssing.org.ua/examples/cssanimation/letters-comp-scaledelayrotate.html">тут впрочем тоже</a>, а <a href="http://genn.org/junk/kit3.html">вот что придумал Genn</a> узнав об этом (примеры работают пока только в Хроме и Сафари).<span id="more-220"></span></p>
<p>Дальше будет немного теории, можно сразу перейти к примерам внизу.</p>
<h3>transition transform</h3>
<p>Это CSS3 свойства, которые пока работают только в Safari и Chrome. Еще они будут в следующей версии Firefox и Opera. Но пока нет.</p>
<p>Если вам совсем нечего делать, можно прочитать о них в <a href="http://www.w3.org/TR/css3-2d-transforms/">спецификации про 2d-transforms</a> и <a href="http://www.w3.org/TR/css3-transitions/">про transitions</a>. Это всё конечно draft, но вряд ли что-то изменится.</p>
<p>Вкратце всё обстоит так. </p>
<p><strong>transform</strong> &#8212; совершает всякие странные эффекты с блоком. По сути похоже на text-transform, просто эффекты более странные.<br />
Например можно писать так:</p>
<ol class="code">
<li>.weirdblock{
<li class="tab">transform: rotate(45deg) scale(2);</li>
<li>}</li>
</ol>
<p>Путем невероятных мыслительных усилий, вы уже могли бы догадаться что этот код повернет блок на 45 градусов, и увеличит его в размере в два раза, без анимации, просто такой моментальный эффект.</p>
<p class="img con"><img src="/pic/ex.png" /><span>Был маленький и прямой, стал большой и кривой</span></p>
<p>Пока спецификация неактуальна, для Сафари и Хрома правило нужно писать с префиксом <code>-webkit-</code>. То есть вот так:</p>
<ol class="code">
<li>.weirdblock{
<li class="tab">-webkit-transform: rotate(45deg) scale(2);</li>
<li>}</li>
</ol>
<p>Вот вобщем и всё, transform уже работает в последнем Фаерфоксе, кстати. <a href="http://webkit.org/blog/130/css-transforms/">Подробнее о нём</a>.</p>
<p><strong>transition</strong> &#8212; определяет анимацию блока. Используется примерно так:</p>
<ol class="code">
<li>div{</li>
<li class="tab">opacity:0.5;</li>
<li class="tab">-webkit-transition: opacity 1s linear; <small>/*opacity - что анимируем,1s - длительность эффекта, linear - плавность эффекта*/</small></li>
<li class="tab">}</li>
<li>div:hover{
<li class="tab">opacity:1;</li>
<li class="tab">}</li>
</ol>
<p>По наведению курсора, блок просто плавно изменит свою прозрачность за 1 секунду. Это мог бы быть фон, размер и цвет текста и все что угодно. <a href="http://webkit.org/blog/138/css-animation/">Всё можно анимировать</a>.<br />
А вот так например можно плавно менять цвет ссылки по наведению мыши:</p>
<ol class="code">
<li>a{</li>
<li class="tab">color:green;</li>
<li class="tab">-webkit-transition:all 1s linear;</li>
<li class="tab">}</li>
<li>a:hover{</li>
<li class="tab">color:red;</li>
<li class="tab">}</li>
</ol>
<p>А теперь примеры! ;)</p>
<h3>Примеры (пока только для Safari и Chrome)</h3>
<p>Анимация во всех примерах начинается по наведению мышки. Когда убираете мышку, она проигрывается до исходного состояния.</p>
<p>Первое что пришло в голову, сделать анимированный комикс ;) <a href="http://cssing.org.ua/examples/cssanimation">Вот что получилось</a>, выглядит странно, но он целиком сделан на CSS! Подумать только!</p>
<p>Дальше, еще интересней, я <a href="http://cssing.org.ua/examples/cssanimation/words.html">решил анимировать слова</a>. А потом, конечно, это <a href="http://cssing.org.ua/examples/cssanimation/letters.html">случилось и с буквами</a>. :) Удивительно в этом то, что эту анимацию совершают всего 3-4 строки CSS-кода. (ну и джаваскрипт который предварительно раскидывает буквы по всему экрану, но это его единственная задача)</p>
<p>Если добавить изменение размера, <a href="http://cssing.org.ua/examples/cssanimation/letters-comp-scale.html">получается забавно</a>. А потом <a href="http://cssing.org.ua/examples/cssanimation/letters-comp-scaledelayrotate.html">их можно еще и крутить </a>;), тогда они похожи на муравьёв. Но с двумя лимериками уже начинает тормозить.</p>
<p>По дороге получился <a href="http://cssing.org.ua/examples/cssanimation/letters-comp_FAIL.html">смешной неудачный вариант</a>. Буквы тут довольно неуклюжие.</p>
<p><a href="http://mega.genn.org/">Genn</a> сделал <a href="http://genn.org/junk/kit.html">ASCII трибьют</a>, и <a href="http://genn.org/junk/kit2.html">еще один</a>, не менее клёвый. Еще <a href="http://genn.org/junk/kit3.html">один прекрасный с отложенной анимацией</a> (-webkit-transition-delay). И <a href="http://genn.org/junk/kit4.html">синяя лужа</a>.</p>
<p>Может и у вас есть варианты? :)</p>
<p>Если у вас вдруг нет ни Сафари ни Хрома, вот видео пары анимаций:</p>
<div class="img">
<div><object width="400" height="207"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7437524&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7437524&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="207"></embed></object></div>
<p>Нравятся мне буквы</p>
</div>
<div class="img">
<div><object width="400" height="400"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7436281&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7436281&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="400"></embed></object></div>
<p>Разбросанные буквы</p>
</div>
<div class="img">
<div><object width="400" height="267"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7436108&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7436108&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="267"></embed></object></div>
<p>Пример от <a href="http://mega.genn.org/">Genn</a></p>
</div>
<h3>Opera &#038; Firefox</h3>
<p>В последних непубличных версиях этих браузеров эффекты уже работают, и вызываются соответствующими правилами -o-transform, -o-transition, -moz-transform, -moz-transition. Так что теоретически, если вы делаете эффект для сайта, правила можно продублировать с этими префиксами, авось потом заработает ;). Пока что свойства идеально деградируют в других браузерах, просто анимации нет, все происходит мгновенно. А красотами наслаждаемся в Хроме и Сафари.</p>
<p>Мне известно только два, не совсем бесполезных варианта использования этих свойств, вот <a href="http://farukat.es/">здесь в правой колонке внизу</a> и <a href="http://forabeautifulweb.com/">вот тут смешно крутятся диски</a>. Но, учитывая скорую поддержку Оперы и Фаерфокса, можно придумать что-то интересное =)</p>
<h3>Все примеры</h3>
<ul>
<li><a href="http://cssing.org.ua/examples/cssanimation/">Комикс на CSS</a></li>
<li><a href="http://genn.org/junk/kit.html">Трибьют от Genn</a> <a href="http://genn.org/junk/kit2.html">и второй</a>, а также <a href="http://genn.org/junk/kit3.html">суперкрутой третий</a>, и <a href="http://genn.org/junk/kit4.html">ошеломляющий четвертый</a></li>
<li><a href="http://cssing.org.ua/examples/cssanimation/letters-comp-scaledelayrotate.html">Крутящиеся буквы</a>, <a href="http://cssing.org.ua/examples/cssanimation/letters-comp-scaleUP.html">буквы которые засасывает</a> и <a href="http://cssing.org.ua/examples/cssanimation/letters.php">поворачивающиеся буквы</a>, и еще <a href="http://cssing.org.ua/examples/cssanimation/letters-comp_FAIL.html">неудачный вариант</a></li>
<li><a href="http://www.fofronline.com/2009-03/an-analogue-clock-using-only-css/">Аналоговые часы с помощью transition</a></li>
</ul>
<p>Ваш арт по теме и мнение более чем приветствуется! :)</p>
<p>P.S.: Лимерики взяты из журнала <a href="http://tramway.msk.ru/archive.htm">Трамвай</a>,<br />
 автор Татьяна Петросян, <a href="http://community.livejournal.com/tramway/52061.html">остальные тут</a>.</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/YaZtLVsq92E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2009/11/04/css-animation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>font-face оживление</title>
		<link>http://cssing.org.ua/2009/10/24/font-face/</link>
		<comments>http://cssing.org.ua/2009/10/24/font-face/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 10:51:00 +0000</pubDate>
		<dc:creator>akella</dc:creator>
		
		<category><![CDATA[XHTML/CSS]]></category>

		<category><![CDATA[Дизайн]]></category>

		<guid isPermaLink="false">http://cssing.org.ua/?p=219</guid>
		<description><![CDATA[Последнее время так надоело вставлять свои шрифты на странички, что я решил написать об этом пост. Аккумулированный опыт и последние новости. 
Практически, будущее наступило, во всех современных браузерах на данный момент можно вставить нестандартный шрифт на страничку только с помощью CSS. (Firefox 3.5+, Chrome 3.0+, Safari 3.1+, Opera 10+, IE 5+)
Шрифты вообще
Способов за годы веб-разработки [...]]]></description>
			<content:encoded><![CDATA[<p>Последнее время так надоело вставлять свои шрифты на странички, что я решил написать об этом пост. Аккумулированный опыт и последние новости. <span id="more-219"></span></p>
<p>Практически, будущее наступило, во всех современных браузерах на данный момент можно вставить нестандартный шрифт на страничку <em>только с помощью CSS</em>. (Firefox 3.5+, Chrome 3.0+, Safari 3.1+, Opera 10+, IE 5+)</p>
<h3>Шрифты вообще</h3>
<p>Способов за годы веб-разработки придумано множество. И <a href="http://wiki.novemberborn.net/sifr3">SIFR</a> (шрифты через Flash), которому скоро 5 лет стукнет, и <a href="http://wiki.github.com/sorccu/cufon/usage">Cufon</a> (шрифты через &lt;canvas&gt;), и всякие другие вариации типа <a href="http://typeface.neocracy.org/">Typeface</a> (там кстати уже можно выделять и копировать!). </p>
<p>Но еще с прошлого тысячелетия самым крутым способом было конечно просто подключить нужный шрифт на страничку, и написать им текст. Сначала это сделали в Netscape, потом в IE 4.0. А теперь это в грядущем CSS3. По спецификации это принято делать так:</p>
<ol class="code">
<li>@font-face {</li>
<li class="tab">font-family: Parampampam;</li>
<li class="tab">src: url(parampampam.ttf);</li>
<li>}</li>
</ol>
<p>И затем использовать это:</p>
<ol class="code">
<li>p { font-family: Parampampam, serif; }</li>
</ol>
<p>Именно такой подход на данный момент сработает в Firefox 3.5+, Chrome 3.0+, Safari 3.1+, Opera 10+. То есть практически во всех последних версиях браузеров. Они поддерживают .ttf и .otf файлы.</p>
<p>В IE использование своих шрифтов работает еще с версии 4.0. Но, видимо, споткнувшись еще тогда на лицензировании (или по своим иррациональным причинам),  они решили создать свой формат для подключаемых файлов  Embedded OpenType (.eot). Который и является средоточием геморроя в этом шрифтовом вопросе.<br />
В любом случае, подключение там работает примерно также:</p>
<ol class="code">
<li>@font-face {</li>
<li class="tab">font-family: Parampampam;</li>
<li class="tab">src: url(parampampam.eot);</li>
<li>}</li>
</ol>
<p>На данном этапе очевидно, если создать этот загадочный .eot файл, то всё будет великолепно, и практически все современные браузеры отобразят наш шрифт.</p>
<h3>Как создать EOT</h3>
<p>Давно было известно о специальной программе WEFT от Microsoft.  Но мне почему-то никак не удавалось ею воспользоваться, шрифты получавшиеся в результате никогда не работали в ИЕ. Я скидывал это на лицензии или какие-то еще заморочки. Но судя по последним постам, почти ни у кого не получалось заставить ее работать. Программа эта вообще довольно уникальна, стоит лишь пробежаться глазами по <a href="http://www.100megspop2.com/tutorials/embeddingfonts/embeddingfonts.htm"><em>простому</em> скринкасту для конвертации OTF в EOT</a>.</p>
<p>Но буквально за последний месяц появилось еще два варианта, которые нас и спасут.</p>
<h3>Вариант 1: FontForge+<a href="http://ttf2eot.sebastiankippe.com/">ttf2eot</a></h3>
<p>Появился отличный онлайн сервис ttf2eot для конвертации. Но, если в него просто засунуть первый попавшийся TTF файл, получившийся EOT не будет работать в IE. Чтобы он работал, нужно предварительно почистить атрибуты шрифта. Для этого понадобится <a href="http://sourceforge.net/projects/fontforge/files/fontforge-executables/">FontForge</a>.</p>
<p>Если открыть шрифт в FontForge, мы получим примерно такое окошко:</p>
<p class="img"><img src="/pic/fontface/garbage1.png" alt="FontForge" width="425" height="439" /><span>FontForge</span></p>
<p>Затем нам нужно будет открыть окно с &laquo;Font Info&rarr;TTF Names&raquo; и удалить <em>все</em> записи отсюда, красные не удалятся, ну и ладно:</p>
<p class="img"><img src="/pic/fontface/cleanup.png" alt="лишние атрибуты" width="465" height="522" /><span>Это окошко находится в меню <strong>Element>Font Info</strong></span></p>
<p>Можно посмотреть как это <a href="http://snook.ca/archives/html_and_css/screencast-converting-ttf2eot">разжевано в скринкасте</a>.</p>
<p>После чего просто сохраняем шрифт (File&rarr;Generate Fonts) и скармливаем его сервису <a href="http://ttf2eot.sebastiankippe.com/">ttf2eot</a>. Результирующий файл будет работать в IE.<br />
В скринкасте кстати, сказано, что надо удалить все атрибуты, и добавить несколько своих. Я просто удалял все, и у меня все работает. Так что можно не заморачиваться.</p>
<h3>Вариант 2: <a href="http://www.fontsquirrel.com/fontface/generator">fontsquierrel</a></h3>
<p>Однако увидев всю эту мороку из предыдущего варианта, люди ее автоматизировали.<br />
Это просто онлайн сервис. Вы загружаете шрифт, он вам генерирует .svg версию шрифта, .eot версию шрифта, и <a href="http://hacks.mozilla.org/2009/10/woff/">даже WOFF версию</a> (формат для новых Firefox). Вдобавок ко всему, CSS файл с правильным подключением  всех этих woff-eot-svg-otf (кошмар какой-то) в @font-face.</p>
<p>Вобщем, на данный момент <a href="http://www.fontsquirrel.com/fontface/generator">просто спасительный сервис</a>, пользуйтесь. Его разработчик активно следит за всеми новостями, и сразу же вносит обновления туда, так что на него можно в каком-то смысле ориентироваться.</p>
<h3>Как внедрить для всех</h3>
<p>На данный момент оптимальным принят следующий код:</p>
<ol class="code">
<li>@font-face {</li>
<li class="tab">font-family: &#8216;Graublau Web&#8217;;</li>
<li class="tab">src: url(&#8217;GraublauWeb.eot&#8217;);</li>
<li class="tab">src: local(&#8217;Graublau Web Regular&#8217;), local(&#8217;Graublau Web&#8217;), </li>
<li class="tabtab">url(&#8217;GraublauWeb.otf&#8217;) format(&#8217;opentype&#8217;);</li>
<li>}</li>
</ol>
<p>Подробнее почему именно так, можно <a href="http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/">прочитать здесь</a>. local &#8212; означает, что браузер должен проверить есть ли в системе такой шрифт, прежде чем скачивать. <em>Должен</em>, но все равно не везде работает. =(</p>
<p>Еще можно подключать шрифты в формате .svg, тогда они отобразятся даже в iPhone.</p>
<p>А буквально на днях <a href="http://hacks.mozilla.org/2009/10/woff/">активно продвинулся WOFF</a>, это &laquo;сжатый&raquo; truetype который пока будет работать только в Firefox 3.6. Просто чтобы веб-разработчикам было нескучно с OTF, TTF, SVG и EOT.</p>
<h3>Оптимизация</h3>
<p>Во-первых файлы шрифта можно просто gzip&#8217;ить. <a href="http://www.phpied.com/gzip-your-font-face-files/">Как показывает опыт</a>, можно ужать в два раза. Что вовсе не так мало, при размере порядка 100 килобайт.</p>
<p>Кроме того, если открыть файл шрифта тем же FontForge,  то можно увидеть кучу символов, которые вряд ли будут вами использоваться:</p>
<p class="img"><img src="/pic/fontface/garbage1.png" alt="лишние символы в шрифте" width="425" height="439" /><span>Вся эта бяка, которая обычно никому не нужна, занимает такое же кол-во байт, как и нужные всем буквы</span></p>
<p>Прямо в этом же FontForge ненужные символы можно удалить:</p>
<p class="img"><img src="/pic/fontface/cleangarbage1.png" alt="удалить лишние буквы" width="421" height="447" /><span>Выделить с шифтом и сделать Clear</span></p>
<p>Благодаря удалению только таких символов, файл для шрифта Myriad у меня уменьшился с 96 килобайт, до 40. Соответственно уменьшается и файл .eot.</p>
<h3>Лицензия</h3>
<p>Не все шрифты можно использовать в @font-face. Просто потому что его же можно будет легко скачать, а он может стоить денег. И хотя на практике вряд ли кого-то будут доставать по этому поводу, для популярных сайтов лучше не рисковать. Уже есть сайты-сборники шрифтов доступных для @font-face. Такой список есть на <a href="http://webfonts.info/wiki/index.php?title=Fonts_available_for_%40font-face_embedding">Webfonts.info</a>, например, и вот еще один <a href="http://www.theleagueofmoveabletype.com/">отличный ресурс</a>. (Спасибо Илья!) И время от времени на <a href="http://blog.dotmariusz.net/2009/08/09/free-font-face-fonts-you-might-want-to-use/">разных</a> <a href="http://www.devlounge.net/design/five-fonts-for-font-face">других</a> <a href="http://www.fontsquirrel.com/">сайтах</a>. </p>
<p>Кириллических среди них конечно мало, но, пока никто толком не разобрался с этим вопросом, полагаю шрифты можно использовать какие найдете, или просто бесплатные. Вряд ли кого-то засудят за подключение Myriad на свой блог ;)</p>
<p>Предполагается, что WOFF должен решить проблему лицензирования, и что мы сможем использовать на страничках любой шрифт, <em>которым легально владеем</em>.</p>
<h3>Ссылки</h3>
<ul>
<li><a href="http://lb.com.ua/article/culture/2009/10/19/11329_oleg_kohan_dazhe_dadut.html">Пример на живом проекте</a> и <a href="http://cssing.org.ua/examples/fontface/">искусственный пример</a> (с WOFF и SVG сгенерированными на Fontsquirrel)</li>
<li><a href="http://snook.ca/archives/html_and_css/becoming-a-font-embedding-master">Becoming a Font Embedding Master</a> &#8212; подборка информации о современном font embedding</li>
<li><a href="http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/">Лучший способ использования @font-face на данный момент</a> и <a href="http://paulirish.com/2009/fighting-the-font-face-fout/">оптимизация вставки шрифтов</a></li>
<li><a href="http://www.phpied.com/gzip-your-font-face-files/">Тестирование gzip для шрифтов</a></li>
<li><a href="#">Where to get web fonts</a> &#8212; отличная статья о лицензировании шрифтов и будущем этой проблемы</li>
<li><a href="http://hacks.mozilla.org/2009/10/woff/">Про WOFF</a></li>
<li><a href="http://lovtsevich.com/2009/10/26/font-face-ili-nazad-v-budushhee/">@font-face или назад в будущее</a></li>
<li><a href="http://www.umade.ru/log/2009/07/font-embed-eot-font-face/">Внедрение шрифтов — EOT и @font-face</a></li>
<li><a href="http://lyncis.info/uk/post/274">Тест 16 кириллических шрифтов доступных для использования</a></li>
</ul>
<p>Похоже, скоро мы забудем о SIFR и Cufon! Ура!</p>
<img src="http://feeds.feedburner.com/~r/cssing/~4/WYM21h59sT0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://cssing.org.ua/2009/10/24/font-face/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
