<?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>Code42 &#187; css</title>
	<atom:link href="http://code42.pl/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://code42.pl</link>
	<description>Wielkie Pytanie o Życie, Kod i całą resztę</description>
	<lastBuildDate>Wed, 25 Jan 2012 14:16:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Dlaczego frameworki CSS ssą?</title>
		<link>http://code42.pl/2010/01/29/dlaczego-frameworki-css-ssa/</link>
		<comments>http://code42.pl/2010/01/29/dlaczego-frameworki-css-ssa/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 13:07:16 +0000</pubDate>
		<dc:creator>Piotrek Reinmar Koszuliński</dc:creator>
				<category><![CDATA[HTML + CSS]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://code42.pl/?p=453</guid>
		<description><![CDATA[Sesja się już dla mnie skończyła, można więc coś napisać. Dzisiaj będzie jednak krótko, bo i temat prosty. Cóż to takiego framework CSS? No właśnie. Każdy wie co to są frameworki programistyczne, ale CSSowy? Według wiki: A CSS framework, also known as a web design framework is a pre-prepared library that is meant to allow [...]


Podobne wpisy:<ol><li><a href='http://code42.pl/2009/11/23/zen-coding-snippety-do-kosza/' rel='bookmark' title='Zen Coding &#8211; snippety do kosza'>Zen Coding &#8211; snippety do kosza</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Sesja się już dla mnie skończyła, można więc coś napisać. Dzisiaj będzie jednak krótko, bo i temat prosty.</p>
<h2>Cóż to takiego framework CSS?</h2>
<p>No właśnie. Każdy wie co to są frameworki programistyczne, ale CSSowy? Według <a href="http://en.wikipedia.org/wiki/CSS_framework">wiki</a>:</p>
<blockquote><p>A CSS framework, also known as a web design framework is a pre-prepared library that is meant to allow for easier, more standards-compliant styling of a webpage using the Cascading Style Sheets language. Just like programming and scripting language libraries, CSS frameworks (usually packaged as external .css sheets inserted into the header) package a number of ready-made options for designing and outlaying a webpage.</p>
</blockquote>
<p>Czyli, tak jak w językach programowania, framework jest biblioteką (w tym wypadku grupą reguł CSS) która ułatwia implementowanie jakichś standardowych, często powtarzających się funkcjonalności (w tym wypadku pewnych schematów w layoutcie).</p>
<p><span id="more-453"></span></p>
<p>Co, według mnie, frameworkiem CSS nie jest? Pisałem w listopadzie o <a href="http://blog.koszulinski.pl/2009/11/26/write-less-do-more-czyli-pimp-my-css/">parserze/kompilatorze/procesorze CSS &#8211; LESS</a>, który rozszerza składnię CSS o kilka świetnych rzeczy. Między innymi &#8211; zmienne, zagnieżdżone reguły, obliczenia, wielokrotne wykorzystywanie reguł. Jakby nie było &#8211; nie podchodzi to pod definicję z <a href="http://en.wikipedia.org/wiki/CSS_framework">Wikipedii</a>, ale niestety znajduje się w linkach do przykładowych frameworków. Dla ustalenia uwagi &#8211; <a href="http://lesscss.org/">LESS</a> nie jest frameworkiem.</p>
<h2>Czemuż ssie?</h2>
<p>Pod mą lupę wziąłem pierwsze linki zwrócone przez Google. Przyjrzałem się chwilkę frameworkom: <a href="http://www.blueprintcss.org/">Blueprint</a>, <a href="http://elasticss.com/">Elastic CSS</a>, <a href="http://developer.yahoo.com/yui/grids/">YUI 2 Grids</a>. Prawdopodobnie są lepsze rozwiązania od tych i z chęcią się im przyjrzę jeśli linki pojawią się w komciach :).</p>
<h3>Słówko o nieudanym porodzie</h3>
<p>Wypada jeszcze wtrącić, dla niezorientowanych, co to za poroniony pomysł ten <a href="http://960.gs/">Grid system</a>. Otóż wpadł ktoś na pomysł, że wygodnie będzie wszystkim (grafikom, programistom) jak ustalimy sobie, że strona składa się z X kolumn po Ypx szerokości każda, między którymi są marginesy po Zpx. Przyznam, że obaj z grafikiem byliśmy zachwyceni, aż do&#8230; pierwszego projektu. Życzę np. sporo zabawy z cieniami wychodzącymi poza granice kolumn, w przypadku kiedy nie możemy użyć <code>box-shadow</code>. Szlag trafia wszystkie piękne, okrągłe wartości.</p>
<h3>Koniec wtrącenia</h3>
<p>Najpierw kawałek kodu z <a href="http://developer.yahoo.com/yui/examples/grids/grids-gg.html">YUI 2 Grids</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;yui-main&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-b&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-g&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-g first&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-u first&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-u&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-g&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-u first&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;yui-u&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
         <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Tyle się kiedyś mówiło o semantyce kodu i oddzieleniu wyglądu od treści. Ponad pięć lat temu, kiedy zaczynałem naukę HTMLa i CSSa, trwała walka o to aby programiści zaczęli pisać porządny kod. Wydawało mi się, że teraz już nie powinno być z tym problemów, a tu zonk. Patrzę na ten przykład i co widzę?</p>
<ul>
<li>Prezentacja zbita razem z HTMLem &#8211; żeby zmienić układ strony zmieniamy HTMLa, a nie CSS,</li>
<li>Kompletnie bezznaczeniowe nazwy klas i identyfikatorów &#8211;  jedno wielkie semantyczne szambo. Wybrałem akurat framework od YUI, bo jest w tym najgorszy (choć Blueprint mu nie ustępuje). Elastic CSS wygląda trochę lepiej,</li>
<li>Divitis. W przypadku YUI można chyba akurat dowolnie zmieniać użyte tagi, bo framework resetuje marginesy i paddingi dla wszystkich elementów (co też, tak na marginesie, uważam za kiepską praktykę). Kiedy jednak używając Blueprinta postanowimy zawrzeć którąś kolumnę w listę, to wszystko szlag trafia, bo uwaga&#8230; niektóre selektory zawierają nazwę tagu :O</li>
<li>Narzucona struktura i kolejność elementów w kodzie HTML. Ja akurat poświęcam sporo uwagi temu aby każdy element nawigacyjny był w sensownym miejscu, aby nie używać niepotrzebnych tagów, a wykorzystując framework nie mam tej elastyczności,</li>
<li>I wreszcie &#8211; przecież to wszystko co oferuje framework można w czasie, który jest bez znaczenia w stosunku do całego projektu, napisać ręcznie. To jest kilka reguł, które doświadczona osoba pisze na raz i to od razu z ewentualnym hackiem dla IE6. Tak, wiem, że nie wszyscy mają taką wiedzę, ale wykorzystując framework nigdy jej nie pogłębią.</li>
</ul>
<p>Tak więc w żadnym wypadku nie widzę sensu w używaniu frameworków do budowy układu strony. Żeby jednak nie było, że w ogóle nie umiem wykorzystywać zewnętrznego kodu &#8211; uważam, że przydatne są frameworki poprawiające typografię, bądź też pod niektórymi względami formularze. Muszą jednak bazować na selektorach używających tagów, a nie klas, czy nie daj Boże identyfikatorów.</p>


<p>Podobne wpisy:<ol><li><a href='http://code42.pl/2009/11/23/zen-coding-snippety-do-kosza/' rel='bookmark' title='Zen Coding &#8211; snippety do kosza'>Zen Coding &#8211; snippety do kosza</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://code42.pl/2010/01/29/dlaczego-frameworki-css-ssa/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Zen Coding &#8211; snippety do kosza</title>
		<link>http://code42.pl/2009/11/23/zen-coding-snippety-do-kosza/</link>
		<comments>http://code42.pl/2009/11/23/zen-coding-snippety-do-kosza/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 08:15:57 +0000</pubDate>
		<dc:creator>Piotrek Reinmar Koszuliński</dc:creator>
				<category><![CDATA[HTML + CSS]]></category>
		<category><![CDATA[Vim]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[zen]]></category>

		<guid isPermaLink="false">http://code42.pl/?p=430</guid>
		<description><![CDATA[Snippety do htmla? Nieeee. Zobaczcie Zen Coding. W skrócie działa to tak. Wpisuję w edytorze CSSową składnią: div#content&#38;gt;h1+p Wciskam jakąś kombinację klawiszy i dostaję: &#60;div id=&#34;content&#34;&#62; &#60;h1&#62;&#60;/h1&#62; &#60;p&#62;&#60;/p&#62; &#60;/div&#62; Sprytne, nie? :) Ale to jeszcze mało. Spróbujcie tego: div#top&#62;h1&#62;a&#91;title=Do strony głównej&#93;&#123;Moja strona&#125;&#60;ul#menu&#62;li.pos$*3&#62;a &#60;div id=&#34;top&#34;&#62; &#60;h1&#62; &#60;a href=&#34;&#34; title=&#34;Do strony głównej&#34;&#62;Moja strona&#60;/a&#62; &#60;/h1&#62; &#160; &#60;ul id=&#34;menu&#34;&#62; [...]


Podobne wpisy:<ol><li><a href='http://code42.pl/2010/01/29/dlaczego-frameworki-css-ssa/' rel='bookmark' title='Dlaczego frameworki CSS ssą?'>Dlaczego frameworki CSS ssą?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Snippety do htmla? Nieeee. Zobaczcie <a href="http://www.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/">Zen Coding</a>. W skrócie działa to tak. Wpisuję w edytorze CSSową składnią:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#content</span>&amp;gt<span style="color: #00AA00;">;</span>h1<span style="color: #00AA00;">+</span>p</pre></div></div>

<p>Wciskam jakąś kombinację klawiszy i dostaję:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h1<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/h1<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;/p<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Sprytne, nie? :) Ale to jeszcze mało. Spróbujcie tego:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #cc00cc;">#top</span><span style="color: #00AA00;">&gt;</span>h1<span style="color: #00AA00;">&gt;</span>a<span style="color: #00AA00;">&#91;</span>title<span style="color: #00AA00;">=</span>Do strony głównej<span style="color: #00AA00;">&#93;</span><span style="color: #00AA00;">&#123;</span>Moja strona<span style="color: #00AA00;">&#125;</span>&lt;ul<span style="color: #cc00cc;">#menu</span><span style="color: #00AA00;">&gt;</span>li.pos$<span style="color: #00AA00;">*</span><span style="color: #cc66cc;">3</span><span style="color: #00AA00;">&gt;</span>a</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;top&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h1<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">&quot;Do strony głównej&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>Moja strona<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/h1<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;ul</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;menu&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;pos1&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;pos2&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;li</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">&quot;pos3&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/a<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/li<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/ul<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Chyba nie muszę mówić jak bardzo taka pomoc przyspiesza pracę. Napisanie z palca kodu z drugiego przykładu zajęłoby mi przypuszczalnie więcej niż 2 minuty. Gdybym użył snippetów (do których przy HTMLu nie mogę się przyzwyczaić) może skróciłbym ten czas dwukrotnie. Zaś używając wynalazku Zen Coding całość naklepałem w 20s (i to nie mając wprawy). Tak więc gorąco polecam.</p>
<p>Gdyby ktoś szukał wtyczki do VIMa, to powstał <a href="http://github.com/rstacruz/sparkup" title="VIM zen coding plugin">plugin</a>, którego twórca zainspirował się Zen Codingiem.</p>
<p>Wpis ten opublikowałem też na <a href="http://reinmar.jogger.pl" title="Zapiski na koszulce - html, css, usability i nowe technologie">swoim prywatnym blogu</a>.</p>


<p>Podobne wpisy:<ol><li><a href='http://code42.pl/2010/01/29/dlaczego-frameworki-css-ssa/' rel='bookmark' title='Dlaczego frameworki CSS ssą?'>Dlaczego frameworki CSS ssą?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://code42.pl/2009/11/23/zen-coding-snippety-do-kosza/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Refaktoryzacja CSS — jednak coś można</title>
		<link>http://code42.pl/2009/03/05/refaktoryzacja-css-%e2%80%94-jednak-cos-mozna/</link>
		<comments>http://code42.pl/2009/03/05/refaktoryzacja-css-%e2%80%94-jednak-cos-mozna/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 09:57:07 +0000</pubDate>
		<dc:creator>zergu</dc:creator>
				<category><![CDATA[Różne]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[refaktoryzacja]]></category>

		<guid isPermaLink="false">http://code42.pl/?p=255</guid>
		<description><![CDATA[Mówi się, i to raczej nie bez powodu, że refaktoryzowanie arkuszy stylów jest bardzo trudne. Jednak na szczęcie da się znaleźć przynajmniej jedno narzędzie bardzo usprawniające ten proces. Zwie się ono Dust-Me Selectors i jest dostarczane jako rozszerzenie do Firefoksa. Dust-Me Selectors robi właściwie „tylko” jedną rzecz — znajduje nieużywane selektory CSS. Jednak właśnie jest to jedna [...]


Podobne wpisy:<ol><li><a href='http://code42.pl/2009/04/17/jak-przycinac-i-skalowac-obrazki/' rel='bookmark' title='Jak przycinać i skalować obrazki?'>Jak przycinać i skalować obrazki?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Mówi się, i to raczej nie bez powodu, że refaktoryzowanie arkuszy stylów jest bardzo trudne. Jednak na szczęcie da się znaleźć przynajmniej jedno narzędzie bardzo usprawniające ten proces. Zwie się ono <a href='http://www.sitepoint.com/dustmeselectors/'>Dust-Me Selectors</a> i jest dostarczane jako rozszerzenie do <a href='http://firefox.com'>Firefoksa</a>.</p>
<p>Dust-Me Selectors robi właściwie „tylko” jedną rzecz — znajduje nieużywane selektory <abbr title='Cascading Style Sheets'>CSS</abbr>. Jednak właśnie jest to jedna z najtrudniejszych rzeczy do wykonania manualnie, szczególnie w przypadku dużych, długo rozwijanych projektów.</p>
<p>Rozszerzenie może działać na dwa sposoby:</p>
<ul>
<li>przeszukiwanie jednej strony (przydatne raczej w niewielu przypadkach),</li>
<li>tzw. <em>Spider Search</em>, czyli przeszukiwanie wszystkich linków z mapy strony.</li>
</ul>
<p>Mapa strony może być stroną HTML lub sitemapą w XML zgodną ze <a href='http://www.sitemaps.org/protocol.php'>standardem</a>. W tym pierwszym przypadku są pewne ograniczenia. Otóż domyślnie potrafi on wyskoczyć na inne, zewnętrzne domeny i je sprawdzać. Nie udało nam się znaleźć opcji zabraniającej tego, jedynie da się ograniczyć omijanie odnośników z rel=&#8221;external&#8221; i/lub rel=&#8221;nofollow&#8221;. Problem jest, gdy nasz serwis na to nie jest przygotowany. Wtedy pozostaje wygenerowanie lub napisanie sitemapy (która przecież i tak się przyda).</p>
<p>Samo działanie programu już jest bardzo proste. Wybieramy „Automation → Spider Search”, podajemy adres sitemapy lub strony HTML i czekamy na wyniki, które wyglądają na przykład tak:</p>
<div id="attachment_254" class="wp-caption aligncenter" style="width: 418px"><img src="http://code42.pl/wp-content/uploads/2009/03/dust-meresults.png" alt="Okno wyników Dust-me Selectors" title="dustmeresults" width="408" height="419" class="size-full wp-image-254" /><p class="wp-caption-text">Okno wyników Dust-me Selectors</p></div>
<p>Oczywiście znalezione selektory nie powinny trafiać od razu do kosza, bo narzędzie nie potrafi (i raczej wątpliwe żeby kiedykolwiek potrafiło) wziąć pod uwagę manipulacji dokonywanych przez JavaScript. Ponadto mogą istnieć specyficzne widoki, które nie będą mogły się znaleźć w mapie strony. Dlatego też wyniki należy traktować tylko jako listę podejrzanych. Warto dodać, że narzędzie pomogło nam szybko pozbyć się prawie dwustu linii z arkuszy CSS (przy kolejnych do dokładniejszego sprawdzenia).</p>


<p>Podobne wpisy:<ol><li><a href='http://code42.pl/2009/04/17/jak-przycinac-i-skalowac-obrazki/' rel='bookmark' title='Jak przycinać i skalować obrazki?'>Jak przycinać i skalować obrazki?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://code42.pl/2009/03/05/refaktoryzacja-css-%e2%80%94-jednak-cos-mozna/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

