<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Блок, Элемент, Модификатор (БЭМ)</title>
    <description/>
    <link>http://clubs.ya.ru/yacf/</link>
    <image>
      <url>http://avatars.yandex.net/get-avatar/4611686018427404475/fafd28088ef704b6fd192c4555d9d85f.3113-middle</url>
      <title>Блок, Элемент, Модификатор (БЭМ)</title>
      <link>http://clubs.ya.ru/yacf/</link>
    </image>
    <language>ru-RU</language>
    <pubDate>Fri, 19 Feb 2010 19:30:55 +0300</pubDate>
    <lastBuildDate>Fri, 19 Feb 2010 19:30:55 +0300</lastBuildDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>ya.ru:4611686018427404475 ya.ru:normal ya.ru:public</generator>
    <item>
      <title>Новая верстка страницы результатов поиска</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:615</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=615</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=615</comments>
      <description>&lt;p&gt;&lt;noindex&gt;&lt;b style="background-color: #ffe5cb; color: #8d5521; line-height: 150%; padding: 0.3em;"&gt;&lt;span class="b-yauser"&gt;&lt;a href="http://vitaly.ya.ru/"&gt;&lt;span style="color:#f00;"&gt;В&lt;/span&gt;италя Харисов&lt;/a&gt;&lt;/span&gt; поделился ссылкой&lt;/b&gt;&lt;/noindex&gt;&lt;/p&gt;&lt;h4&gt;&lt;a href="http://clubs.ya.ru/company/replies.xml?item_no=23106"&gt;Новая верстка страницы результатов поиска&lt;/a&gt;&lt;/h4&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Fri, 19 Feb 2010 19:30:55 +0300</pubDate>
      <category>ya.ru:link</category>
      <category>ya.ru:author:2543</category>
    </item>
    <item>
      <title>Библиотека блоков</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:582</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=582</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=582</comments>
      <description>Сырой список основных блоков библиотеки.&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Чтобы не пересекаться с имеюшимся кодом, скорее всего будет добавлен префикс bem ко всем компонентам, т.е. не b-text, а b-bem-text или bem-text.&lt;br/&gt;&lt;br/&gt;Основной упор на простоту и нативность реализации в браузерах. То, что браузером не поддерживается в нём просто не будет показано. Например, закруглённые уголки.&lt;br/&gt;&lt;br/&gt;&lt;dl&gt;&lt;dt&gt;&lt;strong&gt;b-link&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Ссылка. &lt;br/&gt;&lt;br/&gt;Глобально цвет ссылок не задаётся, чтобы оставить возможность использовать браузерный дефолт в случае необходимости. Цвета ссылок задаются через модификаторы.&lt;br/&gt;&lt;br/&gt;Ссылка может быть pseudo (или модификатор b-link или как отдельный блок b-pseudo-link, пока непонятно, у нас сейчас используется второй вариант, но, кажется, первый лучше), т.е. действие происходит на странице без её перезагрузки (в Яндексе такие ссылки выделяются точечным подчёркиванием вместо text-decoration: underline).&lt;/dd&gt;&lt;dd&gt;&lt;img src="http://img-fotki.yandex.ru/get/3907/vitaly.3/0_33145_36378c52_orig" alt="link"/&gt;&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-icon&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Пиктограмма.&lt;br/&gt;&lt;br/&gt;Поддержка как одной картинки, так и спрайта. Поддержка fliter в MSIE6 (хотя фильтры зло-зло-зло, может быть и не будет поддержки PNG-24 в MSIE6).&lt;br/&gt;&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-input&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Поле ввода.&lt;br/&gt;&lt;br/&gt;Решение проблемы 100% растянутого поля ввода. Добавление хинта.&lt;br/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4109/vitaly.3/0_3314e_4edaf27c_orig" alt=""/&gt;&lt;br/&gt;&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-text&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Статический текст.&lt;br/&gt;&lt;br/&gt;Оформление для абзацев, списков, etc.&lt;br/&gt;&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-search&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Поисковая форма.&lt;br/&gt;&lt;br/&gt;Использует b-input. Есть пример, уточнение поиска, ссылка на расширеный поиск.&lt;br/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4110/vitaly.3/0_33154_339a2b9b_orig" alt=""/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4013/vitaly.3/0_33150_95707bd6_orig" alt=""/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/3911/vitaly.3/0_33151_93a07ee8_orig" alt=""/&gt;&lt;br/&gt;&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-auth&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Форма аутентификации.&lt;br/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4108/vitaly.3/0_33152_1d785a70_orig" alt="" style="float:left; margin-right:20px"/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4013/vitaly.3/0_33153_b2c2f135_orig" alt=""/&gt;&lt;br/&gt;&lt;br/&gt;Используется  b-input.&lt;br/&gt;Кнопка Войти недоступна, если не введены имя или пароль.&lt;br/&gt;Обработка формы как с перезагрузкой страницы, так и без.&lt;br/&gt;Показ капчи.&lt;br/&gt;&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-menu&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Меню.&lt;br/&gt;&lt;br/&gt;Горизонтальный или вертикальный набор ссылок.&lt;br/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4108/vitaly.3/0_33146_5a3a027d_orig" alt=""/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/3911/vitaly.3/0_33147_ac85e8ec_orig" alt=""/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/3912/vitaly.3/0_3314a_88478091_orig" alt=""/&gt;&lt;br/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4007/vitaly.3/0_33148_b7942bf1_orig" alt="" style="float:left; margin-right:20px"/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4109/vitaly.3/0_33149_24b4e659_orig" alt=""/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-popup&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Popup (как это по-русски будет?).&lt;br/&gt;&lt;br/&gt;У попапа должна быть подложка, которая позволяет перекрыть всё что угодно на странице. Например, играющий flash-ролик. &lt;br/&gt;&lt;br/&gt;Подложка в т.ч. может быть растянута на весь viewport, «паранжа».&lt;br/&gt;&lt;br/&gt;С реализацией этого блока сейчас есть проблемы, напишу про него отдельный пост.&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;b-dropdown&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;Выпадушка.&lt;br/&gt;&lt;br/&gt;Фигулька со стрелочкой, при нажатии на которую показывается выпадающее окно, например, с набором ссылок.&lt;br/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4109/vitaly.3/0_33149_24b4e659_orig" alt="" style="float:left; margin-right:20px"/&gt;&lt;br/&gt;&lt;img src="http://img-fotki.yandex.ru/get/4109/vitaly.3/0_3314d_72cb84a4_orig" alt=""/&gt;&lt;br clear="left"/&gt;&lt;br/&gt;&lt;br/&gt;Собирается из b-pseudo-link и b-popup. Может содержать в себе b-menu, если нужен набор ссылок, как на скриншотах выше. А может содержать в себе и форму, например.&lt;/dd&gt;&lt;/dl&gt;&lt;br/&gt;&lt;br/&gt;Это минимальный набор блоков из которых строятся остальные блоки и страницы сайтов. Для первой версии кажется достаточно.&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Wed, 03 Feb 2010 00:44:04 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
      <category>bem</category>
      <category>библиотека</category>
      <category>блоки</category>
    </item>
    <item>
      <title>Новости одной строкой</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:580</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=580</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=580</comments>
      <description>Разработанный нами подход к вёрстке независимымыми блоками мы с &lt;span class="b-yauser"&gt;&lt;a href="http://veged.ya.ru/"&gt;&lt;span style="color:#f00;"&gt;В&lt;/span&gt;егед&lt;/a&gt;&lt;/span&gt;'ом навали БЭМ (Блок, Элемент, Модификатор) или BEM (Block, Element, Modifier).&lt;br/&gt;&lt;br/&gt;Разработка будет идти на github'е. Отдельным проектом опишем сам подход, отдельным reusable библиотеку блоков (про это &lt;a href="http://clubs.ya.ru/yacf/replies.xml?item_no=582"&gt;следующий пост&lt;/a&gt;), отдельно утилиты для облегчения работы с кодом.&lt;br/&gt;&lt;br/&gt;Всё что написано в клубе в той или иной мере устарело и будет переписано чуть более чем полностью.&lt;br/&gt;&lt;br/&gt;Мысли без порядка:&lt;ul&gt;&lt;li&gt;префикс l- зло, вместо него испольузется элемент layout внутри блока&lt;/li&gt;&lt;li&gt;префикс h- не нужен&lt;/li&gt;&lt;li&gt;префиксы вообще не нужны (алилуя!)&lt;/li&gt;&lt;li&gt;добавились модификаторы у элементов&lt;/li&gt;&lt;li&gt;global reset зло, он не будет использоваться в библиотеке блоков&lt;/li&gt;&lt;li&gt;каскад в CSS тоже зло, будет использован по минимуму&lt;/li&gt;&lt;li&gt;оптимизируем скорость разработки и скорость работы кода в продакшене&lt;/li&gt;&lt;li&gt;стили для MSIE7- хочется писать в том же файле, что и основные, например, через @media ie6 {…}&lt;/li&gt;&lt;/ul&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 02 Feb 2010 23:32:43 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
      <category>bem</category>
      <category>новости</category>
    </item>
    <item>
      <title>Стили с JS  и без</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:550</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=550</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=550</comments>
      <description>&lt;p&gt;Насколько я понял система сейчас такая: грузится страница и после загрузки (DOMReady), если у юзер-агента включен JS, скрипт в body пишет id="js" (до этого "nojs"), ну и тогда к странице применяются стили и фишки, которые видят почти все. Вопрос: почему нельзя использовать для этих же целей тег &amp;lt;noscript&amp;gt; и подключать внутри него стили без js. Да, понимаю что кармически грузить два файла со стилями - это ай-яй-яй, но всё-таки, мне кажется, это лучше, чем неисчезающие label'ы над инпутами (реализация аттрибута placeholder из HTML5), на каком-нибудь Яндекс.Мэпсе, которые не исчезают, потому что страница долго грузится или просто канал медленный, и это из мелочей, что я на вскидку вспомню. Есть ли минусы, кроме вышеуказанного, у этого подхода, или этот минус решающий в этом вопросе?&lt;br/&gt;&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 19 Jan 2010 23:28:36 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:54530400</category>
    </item>
    <item>
      <title>Премодерация, чистка</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:513</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=513</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=513</comments>
      <description>Я включил обратно премодерацию клуба и удалю все записи, которые не относятся непосредственно к теме клуба. &lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 22 Dec 2009 23:05:26 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
    </item>
    <item>
      <title>Вопрос "знатокам"</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:494</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=494</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=494</comments>
      <description>Если ли смысл ориентироваться на комьюнити?&lt;br/&gt;&lt;br/&gt;Идея блочной верстки хороша, но если мы ее используем и делаем более менее reuse код, если ли особый смысл делать его часть для "открытого использования".&lt;br/&gt;&lt;br/&gt;Если да, то нам надо писать следуя своду достаточно жестких правил, причем, они сильно шире правил уже описанных. Вот например у нас есть свой b-round и у Виталия есть свой b-round, конфликт названий, если использовать неймспейсы hh-b-round, то в рамках проекта вроде как необоснованно раздувается html. И таких ситуации много.&lt;br/&gt;&lt;br/&gt;Если забить на комьюнити, и использовать только идею, что мы сейчас и делаем, обмен "опытом" какой-то скудный.&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 22 Dec 2009 14:28:54 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:14513763</category>
    </item>
    <item>
      <title>Предлагаю универсальное решение для иконок в ссылках</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:493</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=493</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=493</comments>
      <description>&lt;p&gt;Замечаю довольно часто, что не все верстальщики любят делать иконку частью ссылки и выравнивать ее относительно текста, однако пользователю приятно наводить курсор на иконку и видеть активность ссылки.&lt;br/&gt;&lt;br/&gt;У меня в одном проекте было очень много иконок разных размеров, как самих иконок, так и шрифта, в результате чего я решил изобрести велосипед и сделать универсальное решение которым делюсь.&lt;br/&gt;&lt;br/&gt;.b-icons {&lt;br/&gt;    position: relative;&lt;br/&gt;    &lt;br/&gt;    padding-left: 0 0 0 1em; /* отступ на свое усмотрение */&lt;br/&gt;    &lt;br/&gt;    display: inline-block; /* костыль для Opera, в противном случае при ресайзе окна браузера в инлайновых элементах иконки поплывут */&lt;br/&gt;    &lt;br/&gt;    zoom: 1; /* неизбежность для ie6, по учению фреймворка вообще можно вынести в отдельный CSS */&lt;br/&gt;}&lt;br/&gt;.b-icons i {&lt;br/&gt;    position: absolute;&lt;br/&gt;    top: 50%;&lt;br/&gt;    left: 0;&lt;br/&gt;    &lt;br/&gt;    display: block;&lt;br/&gt;    overflow: hidden;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;HTML:&lt;br/&gt;&lt;br/&gt;&amp;lt;a href="#" class="b-icons b-icons_main"&amp;gt;&amp;lt;i&amp;gt;&amp;lt;/i&amp;gt;главная&amp;lt;/a&amp;gt;&lt;br/&gt;&lt;br/&gt;далее индивидуальный код для иконок, хотя если у вас используются все иконки с одинаковыми свойствами ширины, высоты и фона, их можно перенести в код выше или создать отдельный класс например b-icons_16x16, кроме background-position&lt;br/&gt;&lt;br/&gt;.b-icons_main i {&lt;br/&gt;    width: 16px;&lt;br/&gt;    height: 16px;&lt;br/&gt;    margin-top: -8px; /* половина высоты иконки */&lt;br/&gt;    &lt;br/&gt;    background: url(/images/sprite.gif) 0 -20px;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;p.s. сейчас посмотрел как реализованы иконки на главной странице Яндекса, очень похожее решение, но я предлагаю немного другой способ, как универсально выровнять иконку относительно текста, а не конкретное решение реализации иконок. В Яндексе используются спрайты с png-24, ниже немного усложненный вариант для того чтобы можно было в ie6 применить альфа фильтр.&lt;br/&gt;&lt;br/&gt;.b-icons i s {&lt;br/&gt;    display: block;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;.b-icons_main i {&lt;br/&gt;    width: 16px;&lt;br/&gt;    height: 16px;&lt;br/&gt;    margin-top: -8px;&lt;br/&gt;&lt;br/&gt;    display: block;&lt;br/&gt;    overflow: hidden;&lt;br/&gt;}&lt;br/&gt;.b-icons_main i s {&lt;/p&gt;&lt;p&gt;    width: 250px; /* обязательно указать полный размер картинки */&lt;br/&gt;    height: 250px; /* обязательно указать полный размер картинки */&lt;br/&gt;    margin: -12px 0 0 -24px; /* уже позиционирование в спрайте не через background-position, а марджином */&lt;br/&gt;   &lt;br/&gt;    background: url(/images/sprite.png); /* в отдельном CSS для ie6 можно прописать альфа фильтр */&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;HTML:&lt;br/&gt;&lt;br/&gt;&amp;lt;a href="#" class="b-icons b-icons_main"&amp;gt;&amp;lt;i&amp;gt;&amp;lt;s&amp;gt;&amp;lt;/s&amp;gt;&amp;lt;/i&amp;gt;главная&amp;lt;/a&amp;gt;&lt;br/&gt;&lt;br/&gt;единственный косяк с которым я так и не справился — это если изменить font-size в самой ссылке, выравнивание работать не будет, нужно менять размер шрифта в дереве выше.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;предлагаю это решение включить в фреймворк&lt;br/&gt;&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Mon, 21 Dec 2009 20:27:19 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:24471017</category>
    </item>
    <item>
      <title>А не пора ли начать?..</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:465</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=465</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=465</comments>
      <description>&lt;p&gt;Жизнь в клубе совсем затихла. Все ждут очередных статей от Виталия.&lt;/p&gt;&lt;p&gt;Друзья! Не кажется ли вам, что все основные принципы будущего фреймворка уже подробно описаны и рассмотрены на примерах здесь и в субботниках. Мы уже знаем зачем, мы уже знает как.&lt;/p&gt;&lt;p&gt;А не пора ли начать думать над идеями блоков, которые будут полезны не только в конкретном специфичном проекте, но и в других (те самые reuseble), совместно разрабатывать и тестировать их, создавать материальную основу фреймворка.&lt;/p&gt;&lt;p&gt; А быть может уже делиться своими наработками, как это сделал Виталий на примерах b-round, b-icon, g-png?&lt;/p&gt;&lt;p&gt;Примерами таких блоков могут быть используемые почти на каждом сайте - постраничная навигация, "хлебные крошки", облако тегов...&lt;br/&gt;&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Sat, 12 Dec 2009 00:48:48 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:65989347</category>
    </item>
    <item>
      <title>1 http-запрос за стилями</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:434</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=434</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=434</comments>
      <description>&lt;p&gt;Вот просмотрел 2 раза Ваши видео о теории и о практике фреймворка своими руками, но всё равно не понял одной вещи.&lt;/p&gt;&lt;p&gt;Вопрос: запрашивая файл стилей, откуда cgi-скрипт (который, судя по видео, собирает кирпичики в дом) берёт названия нужных ему (точнее даже конкретной странице) кирпичиков, из которых потом выдирает содержимое и заталкавает в один файл? Какой порядок в создании большого стилевого файла?&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Может кривовато выразился, если так, то спрашивайте, я уточню вопрос. Просто тема для меня очень актуальна, т.к. в последнее время очень много крупных проектов пошло.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Спасибо!&lt;br/&gt;&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 10 Nov 2009 20:26:01 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:54097451</category>
    </item>
    <item>
      <title>Универсальный css-класс для блоков с круглыми уголками</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:394</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=394</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=394</comments>
      <description>&lt;p&gt;Приветствую всех! Я новый член вашего клуба и мне, как и всем вам, интересна тема создания универсальных компонентов, для верстки часто встречающихся елементов. Такими элементами, безусловно, являются блоки с круглыми углами. &lt;/p&gt;&lt;p&gt;На апрельском субботнике, Виталий Харисов обещал выложить в клубе супер универсальный метод скругления уголков, и до недавнего времени я терпеливо ждал его появления, используя для текущих проектов способ &lt;a href="http://www.noinimod.ru/3/"&gt;before:/after:&lt;/a&gt;. Но на днях я решил сам поэкспериментировать и попробовать написать нечто подобное и хочу поделиться с вами результатами своей работы. Мой метод основан на седующих решениях:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;изпользование символа &amp;amp;bull; вместо графики, что позволяет менять радиус скругления и цвет уголков из css&lt;/li&gt;&lt;li&gt;все размеры указанны в em, для кроссплатформенности и кроссбраузерности&lt;/li&gt;&lt;li&gt;возможность делать блоки как с фоном так и просто с рамкой например 2px&lt;br/&gt;&lt;/li&gt;&lt;li&gt;не используется ни графика, ни JS, ни expression&lt;/li&gt;&lt;li&gt;используются отдельные стили для IE7 и ниже&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;И так, как вы уже поняли самое главное это то, что вместо картинок и спрайтов я использую символ булета большого размера. &lt;/p&gt;&lt;p&gt;Отличие моего метода от аналогов в том что он не только отлично работает во всех браузерах под Windows(IE6+, Opera, FF2+, Safari3+, Chrome), но и под MacOS и  Linux.&lt;/p&gt;&lt;p&gt;С удовольствием продемонстрирую это на &lt;a href="http://rageteam.org/portfolio/b-radius/"&gt;примере&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Очень интересно ваше мнение, коллеги, особенно Виталия Харисова.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Mon, 19 Oct 2009 02:17:26 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:43709966</category>
    </item>
    <item>
      <guid isPermaLink="false">ya.ru:4611686018427404475:383</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=383</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=383</comments>
      <description>&lt;p&gt;Здравствуйте.&lt;/p&gt;&lt;p&gt;Не так давно начал использовать в своей работе принципы, описанные в данном фреймворке и решил поделиться идеей, которую использую.&lt;/p&gt;&lt;p&gt;Блоки, имена которых используются для выбора через ява-скриптовые фреймворки (jQuery и т.п.) я предваряю префиксом  js-&lt;/p&gt;&lt;p&gt;В скриптах получается что-то вроде $(".js-mp3").bind("click", function() { ...&lt;br/&gt;&lt;/p&gt;&lt;p&gt;Сначала я использовал для этого префикс модификатора m- но потом решил что неправильно использовать префикс, имеющий отношение к CSS в JS. Вот такая мысль.&lt;br/&gt;&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Fri, 18 Sep 2009 15:48:03 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:65989347</category>
    </item>
    <item>
      <title>Скругленные уголки</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:377</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=377</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=377</comments>
      <description>&lt;p&gt;Привет всем, в рамках фреймворка, хотелось бы узнать о решении насущей задачи в текущих случаях и их сочетаниях:&lt;/p&gt;&lt;p&gt; &lt;/p&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;p&gt; &lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 08 Sep 2009 11:33:36 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:60162879</category>
      <category>уголки</category>
    </item>
    <item>
      <title>Проблема: скорость селекторов</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:338</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=338</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=338</comments>
      <description>Браузеры рассматривают селекторы cправа налево. Например, при нахождении элемента &lt;code style="padding: 0 0.2em; background: rgb(247, 247, 231); font: 1em Monaco,monospace; white-space: nowrap;"&gt;&amp;lt;a&amp;gt;&lt;/code&gt; в дереве документа будут выбраны все селекторы с &lt;code style="padding: 0 0.2em; background: rgb(247, 247, 231); font: 1em Monaco,monospace; white-space: nowrap;"&gt;a&lt;/code&gt; или &lt;code style="padding: 0 0.2em; background: rgb(247, 247, 231); font: 1em Monaco,monospace; white-space: nowrap;"&gt;*&lt;/code&gt; на конце и будет осуществлён просмотр вверх по дереву в поисках элементов входящих в селектор до тех пор пока не будут найдены подходящие элементы, не станет понятно, что селектор не применим или не будет достигнут конец документа.&lt;br/&gt;&lt;br/&gt;Т.е. в случае селекторов &lt;code style="padding: 0 0.2em; background: rgb(247, 247, 231); font: 1em Monaco,monospace; white-space: nowrap;"&gt;.b-services li a&lt;/code&gt; и &lt;code style="padding: 0 0.2em; background: rgb(247, 247, 231); font: 1em Monaco,monospace; white-space: nowrap;"&gt;.b-user a&lt;/code&gt; (Tag Rules) оба они будут испробованы для каждой ссылки на странице.&lt;br/&gt;&lt;br/&gt;Источники, подтверждающие это:&lt;br/&gt;&lt;br/&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/Writing_Efficient_CSS#How_the_Style_System_Matches_Rules"&gt;Writing Efficient CSS for use in the Mozilla UI&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vitaly.ya.ru/replies.xml?item_no=4148"&gt;Faster HTML and CSS: Layout Engine Internals for Web Developers&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br/&gt;Наглядный пример: 30 тысяч div'ов на странице, селекторы заканчиваются &lt;a href="http://vitaly.harisov.name/example/perf-test-classes1.html?reflow-meter"&gt;на .text&lt;/a&gt; (рефлоу 5 секунд) и &lt;a href="http://vitaly.harisov.name/example/perf-test-classes2.html?reflow-meter"&gt;на div&lt;/a&gt; (рефлоу 37 секунд, осторожно! браузер замерзает, а потом оттаивает).&lt;br/&gt;&lt;br/&gt;Чем больше Tag Rules на странице, тем медленнее страница отрисовывается. Для того, чтобы вёрстка была масштабируемой, чтобы на одних и тех же подходах можно было сделать и «Home Page для кота» и почту Яндекса надо найти универсальное решение, которое подходит на все случаи жизни.&lt;br/&gt;&lt;br/&gt;Такое решение, на мой взгляд, это использование &lt;a href="http://clubs.ya.ru/yacf/replies.xml?item_no=43"&gt;абсолютно-независимых блоков&lt;/a&gt; для вёрстки всех-всех блоков на странице и отказ от global reset. В этом случае каждый элемент блока получает свой уникальный класс и селекторы отрабатывают максимально быстро.&lt;br/&gt;&lt;br/&gt;Открытым вопросом пока остаётся влияют ли на скорость применения селекторов наличие селекторов которые ничего не матчат, надо написать тесты.&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;hr/&gt;&lt;br/&gt;Другие проблемы вёрстки и их решения в следующих выпусках нашего журнала. Оставайтесь на проводе.&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Mon, 10 Aug 2009 23:51:36 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
      <category>проблемы</category>
    </item>
    <item>
      <title>Monkey Joe</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:326</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=326</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=326</comments>
      <description>Фрейворк будет называться &lt;strong&gt;Monkey Joe&lt;/strong&gt;. Слоган: «Monkey Joe will do the monkey job for you».&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Fri, 17 Jul 2009 23:01:48 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
      <category>как вы лодку назовёте</category>
    </item>
    <item>
      <title>Браузер как виртуальная машина</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:325</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=325</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=325</comments>
      <description>&lt;p&gt;&lt;noindex&gt;&lt;b style="background-color: #ffe5cb; color: #8d5521; line-height: 150%; padding: 0.3em;"&gt;&lt;span class="b-yauser"&gt;&lt;a href="http://vitaly.ya.ru/"&gt;&lt;span style="color:#f00;"&gt;В&lt;/span&gt;италя Харисов&lt;/a&gt;&lt;/span&gt; поделился ссылкой&lt;/b&gt;&lt;/noindex&gt;&lt;/p&gt;&lt;h4&gt;&lt;a href="http://vitaly.ya.ru/replies.xml?item_no=4053"&gt;Браузер как виртуальная машина&lt;/a&gt;&lt;/h4&gt;Я хотел эту запись в клуб написать.&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 07 Jul 2009 22:57:12 +0300</pubDate>
      <category>ya.ru:link</category>
      <category>ya.ru:author:2543</category>
    </item>
    <item>
      <title>Таймаут</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:304</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=304</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=304</comments>
      <description>Я не забил на клуб, но беру таймаут на некоторое время. Мы дорабатываем концепцию. Оставайтесь на линии.&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Thu, 14 May 2009 11:03:25 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
    </item>
    <item>
      <title>Структура блока на файловой системе</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:237</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=237</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=237</comments>
      <description>&lt;p&gt;«Много маленьких файлов лучше, чем мало больших» © &lt;a href="http://veged.ya.ru"&gt;Сергей Бережной&lt;/a&gt;&lt;/p&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Блоки в отдельной директории&lt;/h2&gt;&lt;p&gt;В корне проекта создаётся директория &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;block&lt;/code&gt;, в неё складываются все блоки, используемые на проекте. Во фреймворке аналогично делается директория &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;block&lt;/code&gt;, в которой лежат блоки фреймворка.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Каждому блоку по директории&lt;/h2&gt;&lt;p&gt;Под каждый блок создаём директорию с именем блока. Блок описывается минимум одним файлом: &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-blah.css&lt;/code&gt;&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-round/&lt;br/&gt;        b-round.css&lt;/pre&gt;&lt;p&gt;В этом случае пример HTML-разметки приводится в комментарии в начале файла.&lt;/p&gt;&lt;p&gt;Пример вёрстки блока удобнее класть рядом с его стилями:&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-round/&lt;br/&gt;        b-round.css&lt;br/&gt;        b-round.html&lt;/pre&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Дополнительные стили&lt;/h2&gt;&lt;p&gt;Дополнительные стили выносим в отдельные файлы&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-blah/&lt;br/&gt;        b-blah.optional-styles.css&lt;/pre&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Дополнительные стили: ie&lt;/h2&gt;&lt;p&gt;Если для блока есть исправления под MSIE7- добавляем файл &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-blah.ie.css&lt;/code&gt;.&lt;/p&gt;&lt;br/&gt;&lt;pre style="font:1em Monaco,monospace; padding: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-round/&lt;br/&gt;        b-round.css&lt;br/&gt;        b-round.ie.css&lt;/pre&gt;&lt;p&gt;Внутри этого файла пишем стили для MSIE по следующим правилам&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.b-round&lt;/span&gt; { … } &lt;span style="color:#888"&gt;/* Все MSIE */&lt;/span&gt;&lt;br/&gt;&lt;span style="color:#008"&gt;* html&lt;/span&gt; &lt;span style="color:#008"&gt;.b-round&lt;/span&gt; { … } &lt;span style="color:#888"&gt;/* MSIE 6 */&lt;/span&gt;&lt;br/&gt;[&lt;span style="color:#008"&gt;class&lt;/span&gt;]&lt;span style="color:#008"&gt;.b-round&lt;/span&gt; { … } &lt;span style="color:#888"&gt;/* MSIE 7 */&lt;/span&gt;&lt;/pre&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Дополнительные стили: reset&lt;/h2&gt;&lt;p&gt;По умолчанию блок пишется из расчёта, что использован глобальный reset, но бывают ситуации, когда нужно сделать reset отдельно внутри блока.&lt;/p&gt;&lt;p&gt;Ситуации когда это надо&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt; блок используется на проекте который написан без использования глобального reset (старый проект)&lt;br/&gt;&lt;/li&gt;&lt;li&gt; на проекте невозможно использовать глобальный reset из-за того, что в нем используется любой HTML, который написал пользователь (хороший пример HTML-письма, которые показываются в webmail)&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;&lt;p&gt;Для сброса стилей в умолчальное состояние добавляем файл &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-blah.reset.css&lt;/code&gt; (и/или &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-blah.reset.ie.css&lt;/code&gt; в случае необходимости)&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-round/&lt;br/&gt;        b-round.css&lt;br/&gt;        b-round.reset.css&lt;/pre&gt;&lt;p&gt;Альтернативно есть мысли отказаться от global reset и всегда использовать local reset. Есть подозрения (пока не проверенные), что &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;* { margin: 0 }&lt;/code&gt; замедляет работу брузера. Надо делать тесты.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Вложенные элементы&lt;/h2&gt;&lt;p&gt;Стили вложенных элементов можно выносить в отдельные файлы, чтобы они не путались под ногами. Например, если у блока есть тень, которая реализуется кучей стилей, удобно реализовать её в отдельных файлах и больше к ней не возвращаться.&lt;/p&gt;&lt;p&gt;Под такие стили заводим отдельную директорию с именем вложенного элемента, файлы называем &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-имя-блока.элемент.css&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;На самом деле можно стили для всех вложенных элементов раскладывать по папкам. Это упорядочивает структуру блока в голове и на файловой системе и сразу показывает из каких элементов состоит блок.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-popup/&lt;br/&gt;        shadow/&lt;br/&gt;            b-popup.shadow.css&lt;br/&gt;            b-popup.shadow.ie.css&lt;/pre&gt;&lt;p&gt;В &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-popup.shadow.css&lt;/code&gt; пишем&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#888"&gt;/* Popup: Тень (begin) */ /**/&lt;/span&gt;&lt;br/&gt;    &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt;&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color:#00f"&gt;width&lt;/span&gt;: &lt;span style="color:#00f"&gt;100&lt;/span&gt;&lt;span style="color:#080"&gt;%&lt;/span&gt;;&lt;br/&gt;    }&lt;br/&gt; &lt;br/&gt;    &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt; &lt;span style="color:#008"&gt;.form&lt;/span&gt;&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color:#00f"&gt;margin&lt;/span&gt;: -&lt;span style="color:#00f"&gt;14&lt;/span&gt;&lt;span style="color:#080"&gt;px&lt;/span&gt; -&lt;span style="color:#00f"&gt;7&lt;/span&gt;&lt;span style="color:#080"&gt;px&lt;/span&gt; -&lt;span style="color:#00f"&gt;7&lt;/span&gt;&lt;span style="color:#080"&gt;px&lt;/span&gt;;&lt;br/&gt;    }&lt;br/&gt; &lt;br/&gt;    &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt; &lt;span style="color:#008"&gt;.l&lt;/span&gt;, &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt; &lt;span style="color:#008"&gt;.r&lt;/span&gt;,&lt;br/&gt;    &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt; &lt;span style="color:#008"&gt;.lt&lt;/span&gt;, &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt; &lt;span style="color:#008"&gt;.rt&lt;/span&gt;,&lt;br/&gt;    &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt; &lt;span style="color:#008"&gt;.lb&lt;/span&gt;, &lt;span style="color:#008"&gt;.b-popup .shadow&lt;/span&gt; &lt;span style="color:#008"&gt;.rb&lt;/span&gt;&lt;br/&gt;    {&lt;br/&gt;        &lt;span style="color:#00f"&gt;font&lt;/span&gt;: &lt;span style="color:#00f"&gt;0&lt;/span&gt;/&lt;span style="color:#00f"&gt;0&lt;/span&gt; a;&lt;br/&gt; &lt;br/&gt;        &lt;span style="color:#00f"&gt;width&lt;/span&gt;: &lt;span style="color:#00f"&gt;14&lt;/span&gt;&lt;span style="color:#080"&gt;px&lt;/span&gt;;&lt;br/&gt;        &lt;span style="color:#00f"&gt;height&lt;/span&gt;: &lt;span style="color:#00f"&gt;14&lt;/span&gt;&lt;span style="color:#080"&gt;px&lt;/span&gt;;&lt;br/&gt; &lt;br/&gt;        &lt;span style="color:#00f"&gt;background&lt;/span&gt;: url(b-popup.shadow.png);&lt;br/&gt;    }&lt;br/&gt; &lt;br/&gt;    ...&lt;br/&gt;&lt;span style="color:#888"&gt;/* Popup: Тень (end) */ /**/&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Обратите внимание, что на файловой системе &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.b-popup.shadow.css&lt;/code&gt;, а в файле &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.b-popup .shadow&lt;/code&gt;. Логично и удобно для запоминания.&lt;/p&gt;&lt;p&gt;Если у блока есть необязательная разметка, стили для неё всегда выносим точно так же в отдельные файлы и отдельную директорию.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Модификации классом&lt;/h2&gt;&lt;p&gt;Модификации классом и внутри контекстного блока выносятся в отдельную директорию с именем &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;_тип-модификации&lt;/code&gt;, в которой лежат файлы &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-blah_модификатор.css&lt;/code&gt; (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.ie&lt;/code&gt; и &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.reset&lt;/code&gt; в случае необходимости).&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-round/&lt;br/&gt;        _radius/&lt;br/&gt;            b-round_2.css&lt;br/&gt;            b-round_3.css&lt;br/&gt;            ...&lt;br/&gt;        _border/&lt;br/&gt;            b-round_3a3a3a.css&lt;br/&gt;            b-round_3a3a3a.ie.css&lt;br/&gt;            b-round_ff0000.css&lt;br/&gt;            b-round_ff0000.ie.css&lt;br/&gt;            ...&lt;br/&gt;        b-round.css&lt;br/&gt;        b-round.ie.css&lt;br/&gt;        b-round.html&lt;/pre&gt;&lt;p&gt;Блоку можно задавать только один модификатор определённого типа. Почему? Мы используем xml-описание блока, где модификаторы указываются атрибутами, а двух атрибутов с одним именем быть не может.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span class="hl-xml-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-xml-reserved"&gt;yacf:b-round&lt;/span&gt;&lt;span class="hl-xml-code"&gt; &lt;/span&gt;&lt;span class="hl-xml-var"&gt;yacf:radius&lt;/span&gt;&lt;span class="hl-xml-code"&gt;=&lt;/span&gt;&lt;span class="hl-xml-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-xml-string"&gt;2&lt;/span&gt;&lt;span class="hl-xml-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-xml-code"&gt; &lt;/span&gt;&lt;span class="hl-xml-var"&gt;yacf:border&lt;/span&gt;&lt;span class="hl-xml-code"&gt;=&lt;/span&gt;&lt;span class="hl-xml-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-xml-string"&gt;ff0000&lt;/span&gt;&lt;span class="hl-xml-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-xml-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;span class="hl-xml-brackets"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="hl-xml-reserved"&gt;yacf:b-round&lt;/span&gt;&lt;span class="hl-xml-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Об xml-описании блоков в другой раз.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Модификации внутри конкретного блока&lt;/h2&gt;&lt;p&gt;Модификации внутри конкретного блока делаются по аналогии с вложенными элементами. Создаём папку модифицируемого блока внутри папки родительского блока.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-dropdown/&lt;br/&gt;        b-pseudo-link/&lt;br/&gt;            b-dropdown.b-pseudo-link.css&lt;/pre&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Сводим всё вместе на примере&lt;/h2&gt;&lt;p&gt;В поисковых сервисах Яндекса в шапке есть поисковая форма, блок &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-head-search&lt;/code&gt;. Этот хороший пример всего, что было сказано про структуру выше.&lt;/p&gt;&lt;p&gt;&lt;a href="http://yandex.ru/yandsearch?text=blah"&gt;Поиск Яндекса&lt;/a&gt;&lt;/p&gt;&lt;p&gt;У него есть основные стили, которые используются во всех поисковых шапках&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-head-search/&lt;br/&gt;        b-head-search.css&lt;br/&gt;        b-head-search.ie.css&lt;/pre&gt;&lt;p&gt;Есть модификация с двумя полями ввода&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-head-search/&lt;br/&gt;        _type/&lt;br/&gt;            b-head-search_double.css&lt;/pre&gt;&lt;p&gt;&lt;a href="http://maps.yandex.ru/?route"&gt;Маршруты на Картах&lt;/a&gt;&lt;/p&gt;&lt;p&gt;И есть опциональная разметка, например, ссылка на расширенный поиск:&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-head-search/&lt;br/&gt;        advanced/&lt;br/&gt;            b-head-search.advanced.css&lt;/pre&gt;&lt;p&gt;На &lt;a href="http://images.yandex.ru"&gt;Картинках&lt;/a&gt; есть, на &lt;a href="http://market.yandex.ru"&gt;Маркете&lt;/a&gt; нет.&lt;/p&gt;&lt;p&gt;или пример:&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em; color: #080"&gt;block/&lt;br/&gt;    b-head-search/&lt;br/&gt;        sample/&lt;br/&gt;            b-head-search.sample.css&lt;br/&gt;            b-head-search.sample.ie.css&lt;br/&gt;            b-head-search.sample.reset.css&lt;/pre&gt;&lt;p&gt;На &lt;a href="http://market.yandex.ru"&gt;Маркете&lt;/a&gt; есть, на &lt;a href="http://yandex.ru/yandsearch?text=blah"&gt;Поиске&lt;/a&gt; нет.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Неудобно создавать все эти файлы и директории!&lt;/h2&gt;&lt;p&gt;Неудобно, но мы работаем над этим. Хотим в IDEA добавить поддержку создания блока, элементов и модификаторов. А так же (sic! sic!) переименования блока (вот это реальная проблема, если делать это руками надо переименовать кучу файлов в случае развесистого блока).&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Wed, 15 Apr 2009 19:09:53 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
    </item>
    <item>
      <title>Модификация блоков, префикс m-</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:125</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=125</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=125</comments>
      <description>&lt;p&gt;Один и тот же блок может выглядеть по разному в зависимости от дизайна, местопложения на странице или на разных проектах. Изменение внешнего вида или поведения блока будем называть &lt;strong&gt;модификацией&lt;/strong&gt;. Существует три вида модификации: дополнительным классом, от контекста и файлом.&lt;/p&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Дополнительным классом&lt;/h2&gt;&lt;p&gt;Самый простой тип модификации. Добавляем блоку дополнительный класс и изменение внешнего вида блока описываем в рамках этого класса.&lt;/p&gt;&lt;p&gt;Модификатор записывается через подчёркивание после имени блока: &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;b-имя-блока_модификатор&lt;/code&gt;.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-message"&lt;/span&gt;&amp;gt;&lt;br/&gt;    Normal font-size&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.b-message&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;font-size&lt;/span&gt;: &lt;span style="color:#00f"&gt;100&lt;/span&gt;&lt;span style="color:#080"&gt;%&lt;/span&gt;;&lt;br/&gt;}&lt;/pre&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-message b-message_small"&lt;/span&gt;&amp;gt;&lt;br/&gt;    Small font-size&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.b-message&lt;/span&gt;_&lt;span style="color:#008"&gt;small&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;font-size&lt;/span&gt;: &lt;span style="color:#00f"&gt;85&lt;/span&gt;&lt;span style="color:#080"&gt;%&lt;/span&gt;;&lt;br/&gt;}&lt;/pre&gt;&lt;p&gt;У одного блока может быть одновременно несколько модификаторов.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-message b-message_small b-message_error"&lt;/span&gt;&amp;gt;&lt;br/&gt;    Error message&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.b-message&lt;/span&gt;_&lt;span style="color:#008"&gt;error&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;color&lt;/span&gt;: &lt;span style="color:#008"&gt;red&lt;/span&gt;;&lt;br/&gt;}&lt;/pre&gt;&lt;p&gt;Модификация блока может требовать экстра-разметку внутри блока. Например, в сообщении об ошибке добавляется иконка с восклицательным знаком. &lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-message b-message_small b-message_error"&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span style="color:#008"&gt;i&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"icon"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;i&lt;/span&gt;&amp;gt;Error message&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.b-message&lt;/span&gt;_&lt;span style="color:#008"&gt;error&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;color&lt;/span&gt;: &lt;span style="color:#008"&gt;red&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt; &lt;br/&gt;&lt;span style="color:#008"&gt;.b-message&lt;/span&gt;_&lt;span style="color:#008"&gt;error .icon&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;background&lt;/span&gt;: url(...);&lt;br/&gt;}&lt;/pre&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;От контекста&lt;/h2&gt;&lt;p&gt;Блок будучи помещён в особое окружение может менять свой внешний вид. Например, надо менять цвет текста вложенного блока с зелёного на красный, если он помещён в блок с синим фоном с красными буквами. Это модификация от контекста.&lt;/p&gt;&lt;h3 style="font-size:1.2em; margin-top: 1em; padding: 0"&gt;Внутри конкретного блока&lt;/h3&gt;&lt;p&gt;Блок помещается в другой блок и должен изменить свой внешний вид.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-dropdown"&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span style="color:#008"&gt;a&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-pseudo-link"&lt;/span&gt;&amp;gt;или&amp;lt;/&lt;span style="color:#008"&gt;a&lt;/span&gt;&amp;gt;&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.b-dropdown .b-pseudo-link&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;margin-right&lt;/span&gt;: &lt;span style="color:#00f"&gt;8&lt;/span&gt;&lt;span style="color:#080"&gt;px&lt;/span&gt;;&lt;br/&gt;}&lt;/pre&gt;&lt;h3 style="font-size:1.2em; margin-top: 1em; padding: 0"&gt;Внутри контекстного блока&lt;/h3&gt;&lt;p&gt;Иногда бывает надо сделать контекстную модификацию блока без привязки к какому-то конкретному блоку. Например, поменять цветовую схему группе блоков (скины). Для этого вводим специальный блок с префиксом &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;m-&lt;/code&gt;, который задаёт контекст, а в стилях конкретных блоков пляшем от этого контекста.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;body&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"m-theme_red"&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-logo"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-service-name"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;body&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;p&gt;Причём не обязательно задавать контекстный класс для &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;body&lt;/code&gt;, контекстным блоком можно оборачивать в любом месте страницы, создавая таким образом локальный контекст в нужном месте.&lt;/p&gt;&lt;p&gt;Имя контекстного блока строится так: &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;m-тип-модификации_модификация&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Тоже самое можно записать через модификацию классом:&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;body&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-logo b-logo_red"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"b-service-name b-service-name_red"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;body&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;p&gt;Если не экономить байтики, можно для любой модификации классом предусматривать одновременно и контекстную модификацию и использовать тот вариант, который наиболее удобен в каждом конкретном случае.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.b-message&lt;/span&gt;_&lt;span style="color:#008"&gt;error&lt;/span&gt;, &lt;span style="color:#008"&gt;.m-type&lt;/span&gt;_&lt;span style="color:#008"&gt;error .b-message&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;color&lt;/span&gt;: &lt;span style="color:#008"&gt;red&lt;/span&gt;;&lt;br/&gt;}&lt;/pre&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Модификация файлами&lt;/h2&gt;&lt;p&gt;Блок может выглядеть на разных проектах по разному. При этом его общая часть лежит в одном файле (например, в репозитории фреймворка), а частная для проекта в другом (в репозитории проекта). Это модификация файлами. Никаких дополнительных классов не вводится, блок до(пере-)определяется дополнительными проектными стилями.&lt;/p&gt;&lt;p&gt;Например, все шапки Яндекса состоят из двух частей: общая часть, реализующая взаимное расположение элементов, лежит в одном месте, а конкретика проекта (цвета, как правило) в другом.&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Wed, 15 Apr 2009 01:37:50 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
      <category>блоки</category>
      <category>префиксы</category>
      <category>теория</category>
    </item>
    <item>
      <title>Префикс g-</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:113</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=113</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=113</comments>
      <description>&lt;p&gt;Префикс &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;g-&lt;/code&gt; (global) используется для создания глобальных модификаторов, которые при добавлении их к любому блоку как-то меняют его поведение.&lt;/p&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;p&gt;Необходимость в глобальных модификаторах небольшая, мы за несколько лет разработки выделили всего четыре штуки.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;g-png&lt;/h2&gt;&lt;p&gt;Поддержка PNG-24 в MSIE. Добавляется элементу, в котором лежит картинка.&lt;/p&gt;&lt;p&gt;Есть мысли вообще отказаться от &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;g-png&lt;/code&gt; и вешать expression прямо на &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;img&lt;/code&gt;, в котором проверять расширение картинки и выставлять фильтр при необходимости.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;g-line&lt;/h2&gt;&lt;p&gt;&lt;a href="http://www.positioniseverything.net/easyclearing.html"&gt;Easy Clearing&lt;/a&gt;. Добавляется элементу, в котором все другие элементы плывут. Использует &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;:after&lt;/code&gt; для нормальных браузеров и hasLayout для MSIE.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;g-hidden&lt;/h2&gt;&lt;p&gt;Скрывает элемент, к которому он добавлен, через &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;display: none&lt;/code&gt;.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;g-js&lt;/h2&gt;&lt;p&gt;Блок «оживляемый» скриптом. Скрипт выбирает все такие элементы, берёт параметры из &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;onclick&lt;/code&gt; и вызывает соответствующий этому блоку обработчик. &lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;g-round&lt;/h2&gt;&lt;p&gt;Если бы было реализовано универсальное и работающее решение для скругления углов любого блока, которое можно выразить простым добавленим класса к блоку, это был бы &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;g-round&lt;/code&gt;. У меня такого нет.&lt;/p&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 14 Apr 2009 19:52:13 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
      <category>блоки</category>
      <category>префиксы</category>
      <category>теория</category>
    </item>
    <item>
      <title>Префикс l-</title>
      <guid isPermaLink="false">ya.ru:4611686018427404475:100</guid>
      <link>http://clubs.ya.ru/yacf/replies.xml?item_no=100</link>
      <comments>http://clubs.ya.ru/yacf/replies.xml?item_no=100</comments>
      <description>&lt;p&gt;Префикс &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-&lt;/code&gt; (layout) используется для явного выделения блоков, которые используются для раскладки других блоков и ни для чего более. В стилях l-блока должны использоваться только правила для расположения (position, display, margin, padding, width, etc), но не для формления (font, background, border, etc).&lt;/p&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;p&gt;&lt;em&gt;Пока открытым остаётся вопрос, как же быть если ячейке раскладочной таблицы надо задать фон. Это какбэ идеологически не верно, но какбэ надо. Неверно, но надо. Неверно. Но надо.&lt;/em&gt;&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Раскладка таблицами&lt;/h2&gt;&lt;p&gt;Раскладку можно делать разными способами (position, float, таблицы). Мы для себя приняли раскладку таблицами, как единственно работающую без оговорок в современных браузерах. Всё, что  написано ниже про именование классов применимо к любому способу раскладки, не обязательно использовать табличный.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Любое содержимое&lt;/h2&gt;&lt;p&gt;Содержимое раскладочных блоков может быть любым, поэтому раскладочные блоки всегда &lt;a href="http://clubs.ya.ru/4611686018427404475/replies.xml?item_no=43"&gt;неискажающие&lt;/a&gt;.&lt;/p&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Единая схема именования&lt;/h2&gt;&lt;p&gt;В ходе нескольких лет разработки мы пришли к следующей схеме именования раскладочных блоков (на примере раскладки страницы, &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page&lt;/code&gt;):&lt;/p&gt;&lt;ol&gt;&lt;li&gt; В именование этих блоков мы сознательно вносим визуальную информацию: левый (l) / центральный (c) / правый (r).&lt;br/&gt;&lt;/li&gt;&lt;li&gt; Промежутки между раскладочными частями называем gap (g).&lt;br/&gt;&lt;/li&gt;&lt;li&gt; При раскладке из одного элемента именуем его центральным (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__c&lt;/code&gt;).&lt;br/&gt;&lt;/li&gt;&lt;li&gt; Из двух именуем левым (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__l&lt;/code&gt;) и правым (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__r&lt;/code&gt;).&lt;br/&gt;&lt;/li&gt;&lt;li&gt; Из трёх левым (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__l&lt;/code&gt;), центральным (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__c&lt;/code&gt;) и правым (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__r&lt;/code&gt;).&lt;br/&gt;&lt;/li&gt;&lt;li&gt; Больше трёх даём центральным индексы (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__c1&lt;/code&gt;, &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__c2&lt;/code&gt;,  &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;l-page__c3&lt;/code&gt;, etc), левый и правый всегда в единственном числе.&lt;br/&gt;&lt;/li&gt;&lt;li&gt; Если нужно получить доступ к ячейке в конкретной строке раскладки, то вводим для строки классы c номером в порядке появления строки сверху вниз&lt;br/&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;tr&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"l-page__1"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;tr&lt;/span&gt;&amp;gt;&lt;br/&gt;&amp;lt;&lt;span style="color:#008"&gt;tr&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"l-page__2"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;tr&lt;/span&gt;&amp;gt;&lt;br/&gt;&amp;lt;&lt;span style="color:#008"&gt;tr&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"l-page__3"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;tr&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;p&gt;И в стилях уточняем селектор для искомой ячейки&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.l-page&lt;/span&gt;__1 &lt;span style="color:#008"&gt;.l-page&lt;/span&gt;__&lt;span style="color:#008"&gt;c&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;padding-bottom&lt;/span&gt;: &lt;span style="color:#00f"&gt;1&lt;/span&gt;&lt;span style="color:#080"&gt;em&lt;/span&gt;;&lt;br/&gt;}&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br/&gt;&lt;table style="border-collapse: collapse"&gt;&lt;caption style="font-size: 1.3em; padding: 0.5em"&gt;l-page&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em"&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__1&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__g&lt;br/&gt;2%&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__l&lt;br/&gt;24%&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__c&lt;br/&gt;48%&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__r&lt;br/&gt;24%&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__g&lt;br/&gt;2%&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em"&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__2&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="4"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em"&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__3&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="4"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em"&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__4&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="5"&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em"&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__5&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c1&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__c1&lt;br/&gt;16%&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c2&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__c2&lt;br/&gt;16%&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c3&lt;/strong&gt;&lt;div style="font-size: 85%; color: #aaa"&gt;l-page__c3&lt;br/&gt;16%&lt;/div&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Внутренние обёртки&lt;/h2&gt;&lt;p&gt;Иногда требуется внутренняя обёртка, чтобы сделать отступы внутри элемента раскладки и избежать проблемы боксовой модели при указании ширины и отступа. Для этого вкладывается inner-элемент, который именуется по имени ячейки + постфикс &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;-i&lt;/code&gt; и уже ему задаётся отступ.&lt;/p&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&amp;lt;&lt;span style="color:#008"&gt;td&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"l-page__l"&lt;/span&gt;&amp;gt;&lt;br/&gt;    &amp;lt;&lt;span style="color:#008"&gt;div&lt;/span&gt; &lt;span style="color:#00f"&gt;class=&lt;/span&gt;&lt;span style="color:#080"&gt;"l-page__l-i"&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#008"&gt;div&lt;/span&gt;&amp;gt;&lt;br/&gt;&amp;lt;/&lt;span style="color:#008"&gt;td&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre style="font:1em Monaco,monospace; margin: 0.7em 1.2em"&gt;&lt;span style="color:#008"&gt;.l-page&lt;/span&gt;__&lt;span style="color:#008"&gt;l&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;width&lt;/span&gt;: &lt;span style="color:#00f"&gt;16&lt;/span&gt;&lt;span style="color:#080"&gt;%&lt;/span&gt;;&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;span style="color:#008"&gt;.l-page&lt;/span&gt;__&lt;span style="color:#008"&gt;l-i&lt;/span&gt;&lt;br/&gt;{&lt;br/&gt;    &lt;span style="color:#00f"&gt;margin-right&lt;/span&gt;: &lt;span style="color:#00f"&gt;20&lt;/span&gt;&lt;span style="color:#080"&gt;px&lt;/span&gt;;&lt;br/&gt;}&lt;/pre&gt;&lt;h2 style="font-size:1.3em; margin-top: 1.5em; padding: 0"&gt;Внутренние отступы&lt;/h2&gt;&lt;p&gt;&lt;a href="http://vitaly.harisov.name/example/columns.html"&gt;Яндексовая макетная сетка&lt;/a&gt; содержит отступы слева и справа по 2% (или 20px, для чего в ячейку добавляем распорку 20px шириной), им мы даём класс &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__g&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;Внутренние gap-ячейки именуем по той же схеме, что и колонки:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt; если gap-ячейка находится между левой (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__l&lt;/code&gt;) и правой (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__r&lt;/code&gt;), то она именуется центральной (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__gc&lt;/code&gt;)&lt;br/&gt;&lt;/li&gt;&lt;li&gt; если если несколько gap-ячеек находятся между левой (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__l&lt;/code&gt;) и правой (&lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__r&lt;/code&gt;), то они именуются &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__gc1&lt;/code&gt;, &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__gc2&lt;/code&gt; и так далее&lt;br/&gt;&lt;/li&gt;&lt;li&gt; если gap-ячейка стоит после &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__l&lt;/code&gt;, то она именуется &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__gl&lt;/code&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt; если gap-ячейка стоит перед &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__r&lt;/code&gt;, то она именуется &lt;code style="font:1em Monaco,monospace;padding:0 0.2em;white-space:nowrap;background:#f7f7e7"&gt;.l-page__gr&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;&lt;p&gt;Если в дизайне есть большие отступы слева или справа от центральной колонки, то лучше делать их не через gap, а через обычную layout-ячейку, ибо завтра туда обязательно захотят что-то положить.&lt;/p&gt;&lt;table style="width: 75%; border-collapse: collapse"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 50%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gc&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 50%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;table style="width: 75%; border-collapse: collapse"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 25%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gl&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 50%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gr&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 25%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;table style="width: 75%; border-collapse: collapse"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 20%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gl&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 30%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c1&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gc&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 30%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c2&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gr&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 20%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br/&gt;&lt;table style="width: 75%; border-collapse: collapse"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 20%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;l&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gl&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 20%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c1&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gc1&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 20%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c2&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gc2&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 20%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;c3&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red" colspan="3"&gt;&lt;strong style="color: red"&gt;gr&lt;/strong&gt;&lt;/td&gt;&lt;td style="width: 20%; padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;&lt;td style="padding: 0.5em 1em; text-align: center; border: 1px solid red"&gt;&lt;strong&gt;g&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;noindex&gt;&lt;/noindex&gt;</description>
      <pubDate>Tue, 14 Apr 2009 02:17:34 +0300</pubDate>
      <category>ya.ru:text</category>
      <category>ya.ru:author:2543</category>
      <category>блоки</category>
      <category>префиксы</category>
      <category>теория</category>
    </item>
    <yx:navigation xmlns:yx="urn:yandex-functions">
      <yx:previous>http://clubs.ya.ru/yacf/rss/posts-without-imported.xml?tb=20</yx:previous>
    </yx:navigation>
    <ppb:more xmlns:ppb="http://blogs.yandex.ru/schema/rss">http://clubs.ya.ru/yacf/rss/posts-without-imported.xml?tb=20</ppb:more>
  </channel>
</rss>
