<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Codeline &#187; css</title>
	<atom:link href="http://codeline.richmd.ru/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://codeline.richmd.ru</link>
	<description>Веб созидание</description>
	<lastBuildDate>Thu, 22 Apr 2010 09:01:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>CSS Шаблоны</title>
		<link></link>
		<comments>http://codeline.richmd.ru/2009/06/css-template/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 13:25:43 +0000</pubDate>
		<dc:creator>Павел Антонов</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://codeline.richmd.ru/?p=120</guid>
		<description><![CDATA[Популярная в последнее время тема CSS шаблонов. Уж если вставать на рельсы автоматизации процесса веб-разработки, то автоматизировать все и вся. В том числе и CSS. Если уж заговорили про &#171;рельсы&#187;, то первым пусть будет претендент написанный на Ruby: LESS. Шаблонизатор использует синтаксис CSS, расширяя его вложенностью и переменными: 1 2 3 4 5 6 7 [...]]]></description>
			<content:encoded><![CDATA[<p>Популярная в последнее время тема CSS шаблонов. Уж если вставать на рельсы автоматизации процесса веб-разработки, то автоматизировать все и вся. В том числе и CSS.<br />
<span id="more-120"></span></p>
<p>Если уж заговорили про &laquo;рельсы&raquo;, то первым пусть будет претендент написанный на Ruby: <a href="http://lesscss.org/">LESS</a>. Шаблонизатор использует синтаксис CSS, расширяя его вложенностью и переменными:</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre>
</td>
<td class="code">
<pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#header</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
  a <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">bold</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
  <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #a1a100;">@a_border: 1px;</span>
&nbsp;
<span style="color: #cc00cc;">#header</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">border-top</span><span style="color: #00AA00;">:</span> <span style="color: #a1a100;">@a_border;</span>
  <span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span> <span style="color: #a1a100;">@a_border + 1;</span>
  <span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span> <span style="color: #a1a100;">@a_border + 3;</span>
  <span style="color: #000000; font-weight: bold;">border-bottom</span><span style="color: #00AA00;">:</span> <span style="color: #a1a100;">@a_border * 5;</span>
<span style="color: #00AA00;">&#125;</span></pre>
</td>
</tr>
</table>
</div>
<p>Что получится, я думаю объяснять не нужно, все абсолютно прозрачно. Смущает несколько название. С учетом того что разработчики предлагают компилятор для коммандной строки, можно и с коммандой (less) перепутать. Еще один странный момент &#8211; включение классов:</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre>
</td>
<td class="code">
<pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.rounded_corners</span> <span style="color: #00AA00;">&#123;</span>
  -moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
  -webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
  border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#header</span> <span style="color: #00AA00;">&#123;</span>
  .rounded_corners<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#footer</span> <span style="color: #00AA00;">&#123;</span>
  .rounded_corners<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre>
</td>
</tr>
</table>
</div>
<p>По данному коду будет сгенерировано следующие:</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
</pre>
</td>
<td class="code">
<pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#header</span> <span style="color: #00AA00;">&#123;</span>
  -moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
  -webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
  border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#footer</span> <span style="color: #00AA00;">&#123;</span>
  -moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
  -webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
  border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre>
</td>
</tr>
</table>
</div>
<p>Что выглядит странно. Ну хорошо &#8211; включили код класса, но почему класс-то из результатов пропал? Странно.</p>
<p><a href="http://sandbox.pocoo.org/clevercss/">CleverCSS</a> написан на Python что не может не радовать, но разработчики решили принести синтаксис Python в CSS &#8211; что настораживает. Одно дело когда ты работаешь с расширенным синтаксисом CSS, и совсем уже другое, когда надо изучать/применять некий чужеродный синтаксис:</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre>
</td>
<td class="code">
<pre class="python" style="font-family:monospace;">ul<span style="color: #808080; font-style: italic;">#comments, ol#comments:</span>
  margin: <span style="color: #ff4500;">0</span>
  padding: <span style="color: #ff4500;">0</span>
&nbsp;
  li:
    padding: 0.4em
    margin: 0.8em <span style="color: #ff4500;">0</span> 0.8em
&nbsp;
    h3:
      font-size: 1.2em
    p:
      padding: 0.3em
    p.<span style="color: black;">meta</span>:
      text-align: right
      color: <span style="color: #808080; font-style: italic;">#ddd</span></pre>
</td>
</tr>
</table>
</div>
<p>Данный код будет соответствовать CSS-коду:</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
</pre>
</td>
<td class="code">
<pre class="css" style="font-family:monospace;">ul<span style="color: #cc00cc;">#comments</span><span style="color: #00AA00;">,</span>
ol<span style="color: #cc00cc;">#comments</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
ul<span style="color: #cc00cc;">#comments</span> li<span style="color: #00AA00;">,</span>
ol<span style="color: #cc00cc;">#comments</span> li <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0.4em</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0.8em</span> 0 <span style="color: #933;">0.8em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
ul<span style="color: #cc00cc;">#comments</span> li h3<span style="color: #00AA00;">,</span>
ol<span style="color: #cc00cc;">#comments</span> li h3 <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1.2em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
ul<span style="color: #cc00cc;">#comments</span> li p<span style="color: #00AA00;">,</span>
ol<span style="color: #cc00cc;">#comments</span> li p <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0.3em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
ul<span style="color: #cc00cc;">#comments</span> li p.meta<span style="color: #00AA00;">,</span>
ol<span style="color: #cc00cc;">#comments</span> li p<span style="color: #6666ff;">.meta</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#dddddd</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre>
</td>
</tr>
</table>
</div>
<p>Возможности схожи с тем что умеет <a href="http://lesscss.org/">LESS</a>: вложенность, переменные и операции. Вложенность можно применять и к наборам атрибутов:</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
</pre>
</td>
<td class="code">
<pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#main p:</span>
  font-<span style="color: #66cc66;">&gt;</span>
    family: Verdana, sans-serif
    size: 1.1em
    style: italic</pre>
</td>
</tr>
</table>
</div>
<p>При вычислении может приводить величины. Например, складывать cm и mm. Все это приятно, но на мой взгляд ценность представляет только вложенность и переменные/вычислений. Остальное уже не очень обязательно.</p>
<p>С одной стороны CSS-шаблоны это здорово. Но если посмотреть на цикл разработки, верстка выполняется на момент когда еще нет никаких систем (cms/шаблонных движков). А использовать верстальщику компилятор CSS, по-моему, будет 5-м колесом в телеге. Переводить после верстальщика CSS в CSS-шаблон, для использования в системе, то же мало оправдано.</p>
<p>Поскольку я никогда не применял CSS-Шаблоны в своей практике, может кто-нибудь прокомментировать полезность подобных механизмов? </p>
]]></content:encoded>
			<wfw:commentRss>http://codeline.richmd.ru/2009/06/css-template/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

