<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>css / Поиск по тегам / Русский клуб Joomla</title>
        <link>http://joomclub.net/tag/css/</link>
        <description><![CDATA[Сайт посвящен Joomla во всех ее проявлениях, мы рассказываем о шаблонах, расширениях, компонентах, плагинах и модулях]]></description>
        <language>ru</language>
        <managingEditor>tena2000@mail.ru</managingEditor>
        <webMaster>tena2000@mail.ru</webMaster>
        <generator>Alto CMS v.1.1.13</generator>
                    <item>
                <title>Первые шаги в LESS - примешивания</title>
                <guid isPermaLink="true">http://joomclub.net/t/29/</guid>
                <link>http://joomclub.net/blog/verstka/29.html</link>
                <author>idm.box@gmail.com</author>
                <description><![CDATA[<p>Доброе время суток.</p>
<p>Продолжаю цикл статей по LESS и мы с вами подошли к самой интересной части данного языка стилевой разметки, как примешивания. С помощью этих примешиваний мы можем сэкономить достаточное количество нервов и времени на этапе верстки. Долой CSS-ные портянки. Итак, сразу в бой.</p>
<p>Для примера я решил использовать CSS свойство border-radius и показать вам, как я (а в скором времени и вы) экономлю время.</p>
<p>Вот такие блоки я хочу увидеть в итоге:</p>
<p><img title="Скругленные блоки на LESS/CSS" src="http://joomclub.net/uploads/images/00/00/10/2012/09/16/86f48e1f2b.jpg" alt="Скругленные блоки на LESS/CSS"></p>
<p>html:</p>
<pre class="prettyprint"><code>&lt;div class=&quot;divOne&quot;&gt;&lt;/div&gt;<br /> &lt;div class=&quot;divTwo&quot;&gt;&lt;/div&gt;<br /> &lt;div class=&quot;divThree&quot;&gt;&lt;/div&gt;<br /> &lt;div class=&quot;divFour&quot;&gt;&lt;/div&gt; </code></pre>
<p>При использовании LESS я создаю одно свойство с 4 переменными, которые при примешивании мы будем использовать. По умолчанию значения переменных равно нулю.</p>
 <a name="cut" rel="nofollow"></a> 
<pre class="prettyprint"><code>.radius(@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) {<br /> -webkit-border-top-right-radius: @topright;<br /> -webkit-border-bottom-right-radius: @bottomright;<br /> -webkit-border-bottom-left-radius: @bottomleft;<br /> -webkit-border-top-left-radius: @topleft;<br /> -moz-border-radius-topright: @topright;<br /> -moz-border-radius-bottomright: @bottomright;<br /> -moz-border-radius-bottomleft: @bottomleft;<br /> -moz-border-radius-topleft: @topleft;<br /> border-top-right-radius: @topright;<br /> border-bottom-right-radius: @bottomright;<br /> border-bottom-left-radius: @bottomleft;<br /> border-top-left-radius: @topleft;<br /> -moz-background-clip: padding;<br /> -webkit-background-clip: padding-box;<br /> background-clip: padding-box;<br /> } </code></pre> Далее я примешиваю данное свойство к любому нашему блоку и указываю значения переменных — а это радиус скругления угла. <pre class="prettyprint"><code>.div {<br /> &amp;One {.radius(30px,0,30px,0);}<br /> &amp;Two {.radius(0,30px,0,30px);}<br /> &amp;Three {.radius(30px,30px,30px,0);}<br /> &amp;Four {.radius(0,0,0,60px);}<br /> } </code></pre> Что аналогично следующему коду CSS: <pre class="prettyprint"><code>divOne {<br /> -webkit-border-top-right-radius: 30px;<br /> -webkit-border-bottom-right-radius: 0;<br /> -webkit-border-bottom-left-radius: 30px;<br /> -webkit-border-top-left-radius: 0;<br /> -moz-border-radius-topright: 30px;<br /> -moz-border-radius-bottomright: 0;<br /> -moz-border-radius-bottomleft: 30px;<br /> -moz-border-radius-topleft: 0;<br /> border-top-right-radius: 30px;<br /> border-bottom-right-radius: 0;<br /> border-bottom-left-radius: 30px;<br /> border-top-left-radius: 0;<br /> -moz-background-clip: padding;<br /> -webkit-background-clip: padding-box;<br /> background-clip: padding-box;<br /> }<br /> .divTwo {<br /> -webkit-border-top-right-radius: 0;<br /> -webkit-border-bottom-right-radius: 30px;<br /> -webkit-border-bottom-left-radius: 0;<br /> -webkit-border-top-left-radius: 30px;<br /> -moz-border-radius-topright: 0;<br /> -moz-border-radius-bottomright: 30px;<br /> -moz-border-radius-bottomleft: 0;<br /> -moz-border-radius-topleft: 30px;<br /> border-top-right-radius: 0;<br /> border-bottom-right-radius: 30px;<br /> border-bottom-left-radius: 0;<br /> border-top-left-radius: 30px;<br /> -moz-background-clip: padding;<br /> -webkit-background-clip: padding-box;<br /> background-clip: padding-box;<br /> }<br /> .divThree {<br /> -webkit-border-top-right-radius: 30px;<br /> -webkit-border-bottom-right-radius: 30px;<br /> -webkit-border-bottom-left-radius: 30px;<br /> -webkit-border-top-left-radius: 0;<br /> -moz-border-radius-topright: 30px;<br /> -moz-border-radius-bottomright: 30px;<br /> -moz-border-radius-bottomleft: 30px;<br /> -moz-border-radius-topleft: 0;<br /> border-top-right-radius: 30px;<br /> border-bottom-right-radius: 30px;<br /> border-bottom-left-radius: 30px;<br /> border-top-left-radius: 0;<br /> -moz-background-clip: padding;<br /> -webkit-background-clip: padding-box;<br /> background-clip: padding-box;<br /> }<br /> .divFour {<br /> -webkit-border-top-right-radius: 0;<br /> -webkit-border-bottom-right-radius: 0;<br /> -webkit-border-bottom-left-radius: 0;<br /> -webkit-border-top-left-radius: 60px;<br /> -moz-border-radius-topright: 0;<br /> -moz-border-radius-bottomright: 0;<br /> -moz-border-radius-bottomleft: 0;<br /> -moz-border-radius-topleft: 60px;<br /> border-top-right-radius: 0;<br /> border-bottom-right-radius: 0;<br /> border-bottom-left-radius: 0;<br /> border-top-left-radius: 60px;<br /> -moz-background-clip: padding;<br /> -webkit-background-clip: padding-box;<br /> background-clip: padding-box;<br /> }<br /> </code></pre>
<p>Вот собственно и отличный пример, как сокращать код-время-трату нервов. Есть один замечательный человек, который уже сделал большинство необходимых в нашем быту примешиваний. Можете использовать <a href="http://lesselements.com" rel="nofollow">его готовые решения</a> ну и естественно писать свои.</p>
<p>Есть вопросы? — Задавайте.</p>]]></description>
                <pubDate>Sun, 16 Sep 2012 11:16:54 +0400</pubDate>
                            </item>
                    <item>
                <title>Первые шаги в LESS - переменные</title>
                <guid isPermaLink="true">http://joomclub.net/t/15/</guid>
                <link>http://joomclub.net/blog/verstka/15.html</link>
                <author>idm.box@gmail.com</author>
                <description><![CDATA[<p>Я в предыдущем топике хотел рассказать про примешивания, но еще рано, т.к. сперва я должен рассказать вам про переменные, а уже следующий топик будет про примешивания.</p>
<p>По своей сути переменные в LESS это ничто иное, как обычные константы. Но да шут (фиг и т.д.) с ними. Решил создатель леса сказать что это переменные — будут переменные, но мы то знаем, что это константы. По опыту работы все эти константы действительно становятся раз в месяц переменными, т.к. редко какой сайт мы сделали и забыли и постоянно вносим правки.</p>
<p>Переменные нам нужны для того, чтобы определить их в одном месте, а затем использовать их в любом другом месте нашего стиля.<br>
Например, создав переменную @green: #0a3; Мы можем потом использовать эту переменную в значениях таких свойств, как цвет текста, цвет фона, рамки, градиента и еще чего-нибудь.<br>
Все, кто слушает мои <a name="cut" rel="nofollow"></a> «лекции» про LESS, сразу начинают говорить, что зачем везде писать @green если проще написать #0a3?<br>
Объясняю: @green — очевидная переменная, #0a3 — абсолютно неочевидное значение. Конечно ясно, что это какой-то цвет, но коллеги, кто из вас на лету скажет, что за цвет #84ccf9? А переменная @blue — вполне понятна.</p>
<p>Использовать переменные нужно. Ниже выкладываю наглядные примеры использование переменной.</p>
<p>LESS</p>
<pre class="prettyprint"><code>@green: #0a3;<br /> @blue: #84ccf9;<br /> @darkBlue: @blue - #222; /* 84ccf9 - 222222 = 62aad7 *- см. примечание */<br /> @small: 10px;<br /> @normal: 16px;<br /> @big: 24px;<br /><br /> header {<br /> h1 {color: @green; border: @small solid @green; font-size: @big; padding:@normal;}<br /> p {color: @blue;font-size: @small;<br /> &amp;:first-letter {color:@darkBlue; font-size: @normal;}<br /> }<br /> }<br /></code></pre>
<blockquote>Примечание: ff+11=ff f0+11=ff, т.к. в hex максимальное значение ff (с минимумом тоже самое) сколько вы не прибавляйте (отбавляйте) — 00-min ff-max</blockquote><p>CSS</p>
<pre class="prettyprint"><code>header h1 {color: #00aa33; border: 10px solid #00aa33; font-size: 24px; padding: 16px;}<br /> header p {color: #84ccf9;font-size: 10px;}<br /> header p:first-letter {color: #62aad7; font-size: 16px;} </code></pre>
<p>Можете злорадствовать, противники, что тут кода LESS гораздо больше, но когда вы накатаете портянку на пяток пэйдждаунов и вам прийдется вставить в какое-либо свойство значение зеленого цвета, то не прийдется скроллить вверх для поиска этого цвета, а просто написать @green (Если вы писали CSS-портянки, тогда вы отлично понимаете о чем я).</p>
<p>А, например, как вам такие переменные:</p>
<pre class="prettyprint"><code>@sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;<br /> @serif: Georgia, 'Times New Roman';<br /> @mono: Monaco, Courier,'Courier New';</code></pre>
<p>Согласитесь, такие переменные, необходимы.</p>
<pre class="prettyprint"><code>body {font-family: @sans;}<br /> blockquote {font-family: @serif;}<br /> code {font-family: @mono;} </code></pre>
<p>Особенно удобно, работая с LESS, объявить все переменные в одном файлике, не путая его со стилями.</p>
<p>Если я вас еще не убедил, то перейдем к следущему этапу — примешиванию.</p>]]></description>
                <pubDate>Wed, 12 Sep 2012 09:41:20 +0400</pubDate>
                            </item>
                    <item>
                <title>Первые шаги в LESS - вложенные правила</title>
                <guid isPermaLink="true">http://joomclub.net/t/13/</guid>
                <link>http://joomclub.net/blog/verstka/13.html</link>
                <author>idm.box@gmail.com</author>
                <description><![CDATA[<p>Итак. Первое упрощение, с которым я хочу вас познакомить — это вложенные правила. По сути своей они облегчают процесс как написания, так и чтения кода. Сразу приведу пример на верстке шапки сайта:</p>
<p>Код CSS</p>
<pre class="prettyprint"><code>#header {background: #333;}<br /> #header h1 {font-size: 36px;}<br /> #header p {font-size: 24px;}<br /> #header p a {color: #fff;}<br /> #header p a:hover {color: yellow;}<br /></code></pre>
<p>Код LESS</p>
<pre class="prettyprint"><code>#header {background: #333;<br /> &nbsp; h1 {font-size: 36px;}<br /> &nbsp; p {font-size: 24px;<br /> &nbsp; &nbsp; a {color: #fff;<br /> &nbsp; &nbsp; &nbsp; &amp;:hover {color: yellow;}<br /> &nbsp; &nbsp; }<br /> &nbsp; }<br /> }</code></pre>
<p>Объясню теперь подробнее. Хотя по коду уже должно быть все понятно.</p>
<p>В коде LESS первый селектор #header имеет свойство цвета фона и затем фигурная кавычка не закрывается, это значит что все последующие селекторы имеют вложенность в данный селектор. Эта вложенность может быть многоуровневая. Хороший пример многоуровневой вложенности показывает 5 строка (кстати, строки в коде CSS и LESS соответствуют друг другу).</p>
<p>Где здесь удобство:</p>
<ul> <a name="cut" rel="nofollow"></a> <li>Наглядность кода — в LESS очевидно видна вложенность, не надо указывать явное наследование, просто вкладываем одни правила внутрь других… всё «прозрачно».</li><li>Количество символов — в LESS их меньше, меньше печатать всегда приятнее.</li></ul><p>Что тут непонятного в коде было? Возможно вам будет непонятен символ & перед :hover — этот символ «склеил» предыдущий и следующий селектор, тоесть в нашем примере он склеил в одну строчку a:hover. Это очень удобно использовать для похожих селекторов, например:</p>
<p>CSS</p>
<pre class="prettyprint"><code>.column1 {width: 100px;}<br />.column2 {width: 120px;}<br />.column3 {width: 130px;}</code></pre>
<p>LESS</p>
<pre class="prettyprint"><code>.column {<br /> &amp;1 {width: 100px;}<br /> &amp;2 {width: 120px;}<br /> &amp;3 {width: 130px;}<br /> }</code></pre>
<p>Попробуйте, вам понравится.</p>
<p>В следующей статье я расскажу вам про примешивания, которые позволяют сократить написание кода не менее чем вполовину!!!</p>]]></description>
                <pubDate>Mon, 10 Sep 2012 17:31:58 +0400</pubDate>
                            </item>
                    <item>
                <title>Компиляция LESS в CSS</title>
                <guid isPermaLink="true">http://joomclub.net/t/12/</guid>
                <link>http://joomclub.net/blog/verstka/12.html</link>
                <author>idm.box@gmail.com</author>
                <description><![CDATA[<p>Итак, в предыдущем топике я слегка описал, что такое LESS, а сейчас я расскажу вам как начать использовать LESS вместо CSS.</p>
<p>Первое что мы сделаем, это переименуем наш css файл в less</p>
<pre class="prettyprint"><code>styles.css = styles.less</code></pre>
<p>Далее нам необходимо откомпилировать наш LESS файл и дать браузеру CSS (тоесть сделать почти обратное действие переименованию). И только после этого мы сможем полноценно использовать динамику в наших таблицах стилей. Есть несколько вариантов компиляции:</p>
Локальная компиляция LESS:
<ul><li><p>Специальной программой (компилятором) компилируем LESS в CSS. После этого вставляем готовый файл на сайт.<br>
минус — надо сначала писать — потом компилировать — заливать и проверять на рабочем сайте<br>
Но иногда именно локально и требуется. Я попробовал три приложения, 1,3 и 4 и оставил 4… но это уже на ваш личный выбор.</p>
<p>Ссылки:</p>
<ul><li><a href="http://incident57.com/less/" rel="nofollow">LESS.app</a> (для Mac OS)</li><li><a href="http://winless.org" rel="nofollow">WinLESS</a> (для Windows)</li><li><a href="http://www.proving-ground.be/less/" rel="nofollow">LESS parser</a> (для Adobe AIR — значит кросплатформенное)</li><li><a href="http://crunchapp.net" rel="nofollow">Crunch</a> (для Adobe AIR — значит кросплатформенное) — есть компрессия <a name="cut" rel="nofollow"></a> выходного CSS</li></ul></li></ul>Клиентский вариант:
<ul><li><p>less.js — если в браузере отключены скрипты (а они отключены только у верстальщиков, которые смотрят, как выглядит сайт без скриптов, остальные 99,999% людей не отключают их) — то, к сожалению, браузер не получит скомпилированный файл, этот способ советуют сами разработчики LESS, принцип работы простой, в секции &lt;head&gt; подключаем наш LESS файл и после него подключаем скрипт для компиляции. Скрипт <a href="http://code.google.com/p/lesscss/downloads/list" rel="nofollow">тут</a>, качаем последнюю версию.  </p>
<pre class="prettyprint"><code>&lt;link rel=&quot;stylesheet/less&quot; type=&quot;text/css&quot; href=&quot;styles.less&quot;&gt;<br /> &lt;script src=&quot;less-1.3.0.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</code></pre></li></ul>Серверный вариант: 
<ul><li>node.js — этим способом пользуется мой коллега, я сам вообще не разбираюсь в серверах, поэтому <a href="http://adw0rd.com/2012/processing-less-via-nginx-and-nodejs/" rel="nofollow">вот ссылка</a>, которую загуглил:</li><li>rhino — про этот способ я ничего не знаю, но вот <a href="http://caffeinelab.net/blog/2011/07/18/lesscss-and-rhino.html" rel="nofollow">ссылка</a></li><li><a href="http://leafo.net/lessphp/" rel="nofollow">lessphp</a> — этим способом пользуюсь я. Качаем исходники с сайта. Пишем в секции &lt;head&gt; нашего шаблона следующие записи  <pre class="prettyprint"><code>&lt;?php include('lessphpcomp.php'); ?&gt;<br /> &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;&lt;?php echo $this-&gt;baseurl ;?&gt;/templates/&lt;?php echo $this-&gt;template ;?&gt;/css/styles.css&quot;&gt;</code></pre>
<p>Первая строчка — подключает наш файл, который компилирует наш LESS в CSS, вторая строчка подключает скомпилированный CSS в шаблон.</p>
<p>Сами файлы должны быть созданы нами, нашими руками. Вот пример файла lessphpcomp</p>
<pre class="prettyprint"><code>&lt;?php<br /> require 'lessc.inc.php';<br /> $docroot = rtrim($_SERVER['DOCUMENT_ROOT'], '\\/');<br /> $less = new lessc($docroot.'/templates/mytemplate/less/styles.less');<br /> file_put_contents($docroot.'/templates/mytemplate/css/styles.css', $less-&gt;parse());</code></pre>
<p>Этот файлик делает следующее (построчно):</p>
<ol><li>с помощью less.inc.php (который мы скачали с официального и залили в корень шаблона) компилирует… далее стр.3</li><li>создаем переменную докрут</li><li>… компилирует наш LESS</li><li>в CSS файл</li></ol><p>Который мы и подключили в шаблоне (сам этот файлик styles.css нам необходимо создать вручную и дать права 755).</p>
<p>Теперь изменяем наш LESS файл — открываем сайт и видим изменения, прям как работать с обычным CSS файлом. </p>
<p>Прошу обратить внимание, что нам сама компиляция нужна только во время разработки, в остальное время строчку подключения нашего файлика-компилятора надо закомментировать, чтобы не создавать лишнюю нагрузку на хостинг.</p>
<pre class="prettyprint"><code>&lt;?php //include('lessphpcomp.php'); ?&gt;</code></pre></li></ul>]]></description>
                <pubDate>Mon, 10 Sep 2012 11:59:11 +0400</pubDate>
                            </item>
                    <item>
                <title>Использование LESS</title>
                <guid isPermaLink="true">http://joomclub.net/t/11/</guid>
                <link>http://joomclub.net/blog/verstka/11.html</link>
                <author>idm.box@gmail.com</author>
                <description><![CDATA[Добрый день.
<p>Я использую при верстке шаблонов для Joomla не CSS, а LESS. Кто знаком с этим динамическим языком стилевой разметки (динамическим CSS), можете пропустить данный топик и сразу написать комментарий, остальным советую обратить внимание на текст ниже. Я планирую написать так сказать «цикл» статей по данной тематике, надеюсь у меня хватит сил, терпения, времени и т.д.</p>
<p>Есть всякие официальные текстовки (<a href="http://lesscss.org" rel="nofollow">en</a> <a href="http://lesscss.ru" rel="nofollow">ru</a>) но я расскажу все по своему.</p>
<p><strong><em>Что такое LESS и чем он отличается от CSS?</em></strong></p>
<ul><li>LESS это тот-же самый CSS, в который добавили динамики.</li></ul><p><strong><em>Что за динамика?</em></strong></p>
<ul><li>Это когда вы можете сделать какое-либо условие, смешать свойства, пользоваться переменными.</li></ul><p><strong><em>Для чего это?</em></strong></p>
<ul><li>Самый простой пример — вы указали цвет ссылки, и при наведении хотите сделать ее темнее. Вместо того, чтобы открывать какие-нибудь графические программы для подбора цвета, вам нужно в свойстве <a name="cut" rel="nofollow"></a> наведенной ссылки написать, что она должна быть темнее.<br>
Пример:<br>
<pre class="prettyprint"><code>@link: #08c;&nbsp;/* Создаем переменную цвета ссылки */<br /> a {color: @link;}&nbsp;/* Указываем, что цвет ссылки = переменной @link &nbsp;*/<br /> a:hover {darken(@link, 20%);}&nbsp;/* Указываем, что цвет наведенной ссылки = переменная @link на 20% темнее */ </code></pre></li></ul><p><strong><em>Для чего нужны переменные?</em></strong></p>
<ul><li>Примером выше, я показал, что можно создать переменную, потом, при верстке сайта, эту переменную можно использовать, например в оформлении рамки блока: <pre class="prettyprint"><code>.linkborder {border: 1px solid @link;} &nbsp;/* Указываем, что цвет рамки = переменная @link */</code></pre> и если вы почему-то решили ссылки сделать в зеленых тонах (а заодно и обводку), то вам нужно всего-лишь сменить 1 запись — переменную: <pre class="prettyprint"><code>@link: #08c; =&nbsp;@link: #6e7;</code></pre></li></ul><p><strong><em>А что значит «смешать свойства»?</em></strong></p>
<ul><li>Это когда вы захотите сделать еще один блок с рамкой и сделать его фон тоже зеленый (в примере выше мы сменили цвет), но светлее: <pre class="prettyprint"><code>.linkborderback {.linkborder; background-color: lighten(@link, 40%);}&nbsp;/* Указываем, что тут мы берем все свойства и значения из селектора .linkborder и добавляем цвет фона = переменная @link на 40% светлее */</code></pre></li></ul><p><strong><em>Не — ну это понятно, а вообще к чему это все, мне нетрудно и руками все поменять?</em></strong></p>
<ul><li>Мне тоже нетрудно, но при использовании LESS при переделках сайтов я экономлю ведро нервов и тележку времени.</li></ul><p><strong><em>А я вообще не слышал, чтобы этот самый LESS кто-то использует.</em></strong></p>
<ul><li>Ну я обычно в таких случаях ссылаюсь на известный фреймворк — Бутстрап. Они его используют.</li></ul><p><strong><em>Не — я скачал бутстрап — там CSS.</em></strong></p>
<ul><li>Это для всех — CSS, для особо избранных там на сайте есть ссылка — <a href="http://twitter.github.com/bootstrap/extend.html" rel="nofollow">extend</a> — кликните.</li></ul><p><em><strong>А как браузер LESS — то как воспримет?</strong></em></p>
<ul><li>Для этого я создам отдельный топик, но на скорую руку сразу скажу — по обычному, т.к. браузеру мы будем давать не LESS, а уже скомпилированный CSS (как выше упомянул — об этом будет отдельный топик).</li></ul>]]></description>
                <pubDate>Sat, 08 Sep 2012 15:06:19 +0400</pubDate>
                            </item>
            </channel>
    </rss>
