<?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>Michał Środek &#187; CSS</title>
	<atom:link href="http://srodek.info/category/css/feed" rel="self" type="application/rss+xml" />
	<link>http://srodek.info</link>
	<description>Mój osobisty blog</description>
	<lastBuildDate>Mon, 15 Aug 2011 19:00:06 +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>Kompilatory CSS</title>
		<link>http://srodek.info/blog/457/kompilatory-css</link>
		<comments>http://srodek.info/blog/457/kompilatory-css#comments</comments>
		<pubDate>Mon, 15 Aug 2011 18:54:28 +0000</pubDate>
		<dc:creator>Michał Środek</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Organizacja pracy]]></category>

		<guid isPermaLink="false">http://srodek.info/?p=457</guid>
		<description><![CDATA[Witaj Świecie po raz n-ty! Kilka miesięcy temu miałem wrócić, a na blogu w dalszym ciągu cisza. No cóż, od kilku miesięcy pracuję na rynku zagranicznym i czasu mam coraz mniej. Ostatnio jednak wziąłem się za porządkowanie własnej pracy i udaje mi się znaleźć kilka wieczorów na napisanie paru zdań. Wróćmy jednak na chwilę do [...]]]></description>
			<content:encoded><![CDATA[<p>Witaj Świecie po raz n-ty! Kilka miesięcy temu miałem wrócić, a na blogu w dalszym ciągu cisza. No cóż, od kilku miesięcy pracuję na rynku zagranicznym i czasu mam coraz mniej. Ostatnio jednak wziąłem się za porządkowanie własnej pracy i udaje mi się znaleźć kilka wieczorów na napisanie paru zdań.</p>
<p>Wróćmy jednak na chwilę do pracy. Porównując to co aktualnie robię z tym czym zajmowałem się na etacie mogę śmiało powiedzieć, że różnica poziomów jest fenomenalna. O ile w poprzedniej pracy nauczyłem się naprawdę dużo, to jako freelancer pochłaniam wiedzę dużo szybciej. W kolejnych kilku artykułach chciałbym napisać jak przebiega mój standardowy dzień oraz jakich używam narzędzi oraz technik aby usprawnić swoją pracę. Temat na dzisiaj to kompilator CSS.<br />
<span id="more-457"></span></p>
<h2>Czym jest kompilator CSS?</h2>
<p>Kompilatory CSS to proste programy wprowadzające różnego rodzaju ulepszenia do języka arkuszy stylów. Dodają one nowe elementy do CSS, które po procesie kompilacji są zamieniane na zwykłe reguły rozumiane przez przeglądarki internetowe.</p>
<p>Prosty przykład:</p>
<p>Najbardziej przydatnym elementem wszystkich kompilatorów jest zagnieżdżanie reguł. Dzięki temu wizualnie widzimy, który element znajduje się wewnątrz innego.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#element</span><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;">16px</span><span style="color: #00AA00;">;</span>
    strong<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> <span style="color: #00AA00;">&#125;</span>
    em<span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>W tym przypadku posiadamy element o id #element który może posiadać wewnątrz siebie elementy strong i em. Kod ten zostanie przekompilowany do postaci:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#element</span><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;">16px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#element</span> strong<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>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#element</span> em<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<h2>Dlaczego warto?</h2>
<p>Przede wszystkim skraca się czas tworzenia strony, a w przypadku jej przyszłej modyfikacji praca nad arkuszem jest dużo prostsza. Podczas tworzenia małych stronek się tego nie odczuwa jednak przy większych projektach moim zdaniem kompilator CSS jest niezbędny. Aktualnie tworzę szablony do WordPressa i klienci często chcą aby dodać im jakąś funkcjonalność albo zgłaszają problemy kompatybilności szablonu z różnymi egzotycznymi wtyczkami(często pojawiają się konflikty CSS). W przypadku odpowiedniego kompilatora zarządzanie tym wszystkim nawet po upływie miesiąca jest dużo prostsze. Co więcej, kompilatory często zgłaszają błędy składni, niektóre wymagają idealnego porządku(np. średnika na końcu każdej reguły), udostępniają kompresowanie kodu i dużo, dużo więcej.</p>
<h2>Dostępne rozwiązania</h2>
<p>Kompilatorów CSS jest na prawdę sporo. Ja ograniczę się do czterech najbardziej popularnych. Praktycznie wszystkie spośród przedstawionych przeze mnie aplikacji udostępniają podstawowe funkcje kompilatora CSS np:</p>
<ul>
<li>Zagnieżdżanie elementów</li>
<li>Zmienne(w tym możliwość użycia zmiennych do nazw parametrów)</li>
<li>Operacje arytmetyczne</li>
<li>Obsługa importowania</li>
<li>Mieszanie reguł</li>
<li>Wiele wbudowanych funkcji np. zaogkrąglanie liczb, rozjaśnianie kolorów, czy zmiana koloru na szary odpowiednik</li>
</ul>
<p>Oczywiście różne kompilatory obsługują wymienione opcje w różnym stopniu. Pozostawiam to wam do dokładniejszego przetestowania.</p>
<h2>Sass</h2>
<p>Mój faworyt. Lekki, napisany w Ruby kompilator działający w czasie rzeczywistym.</p>
<p>Dodatkowo obsługiwane opcje:</p>
<ul>
<li>Instrukcje sterujące: @if, @while, @for oraz @each</li>
<li>Tryb interaktywny</li>
<li>Praca w czasie rzeczywistym</li>
<li>Dwa rodzaje składni: klasyczna, kompatybilna z CSS oraz oparta na wcięciach(podobna jak w plikach YAML, Pythonie lub Ruby)</li>
<li>Wsparcie dla Eclipse oraz NetBeans(poprzez nieoficjalne wtyczki)</li>
</ul>
<p>Strona projektu: <a href="http://sass-lang.com">http://sass-lang.com</a></p>
<h2>Less</h2>
<p>Bardzo potężny kompilator napisany w JavaScript. Jego ogromnym atutem jest działanie na dwóch płaszczyznach — po stronie klienta oraz po stronie serwera. Pierwsze rozwiązanie możemy zastosować podczas pracy nad stroną, drugie aby skompilować ostateczny plik i umieścić na serwerze.</p>
<p>Ciekawe opcje:</p>
<ul>
<li>Podwójny tryb pracy: po stronie klienta oraz poprzez konsolę</li>
<li>Przestrzenie nazw</li>
<li>Bardzo fajna składnia CSS-podobna</li>
<li>Możliwość umieszczania kodu JavaScript wewnątrz arkusza stylów</li>
<li>Bardzo fajna dokumentacja</li>
</ul>
<p>Strona projektu: <a href="http://lesscss.org">http://lesscss.org</a></p>
<h2>CleverCSS</h2>
<p>Trzeci na mojej osobistej liście. Lekki, napisany w Pythonie(lub w Haskellu). Posiada podstawową funkcjonalność i obsługuje tylko składnię opartą na wcięciach. </p>
<p>Przykład użycia:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#main</span> p<span style="color: #00AA00;">:</span>
  font-<span style="color: #00AA00;">&gt;</span>
    family<span style="color: #00AA00;">:</span> Verdana<span style="color: #00AA00;">,</span> <span style="color: #993333;">sans-serif</span>
    <span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1.1em</span>
    style<span style="color: #00AA00;">:</span> <span style="color: #993333;">italic</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#main</span> p <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> Verdana<span style="color: #00AA00;">,</span> <span style="color: #993333;">sans-serif</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1.1em</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">font-style</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">italic</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>CleverCSS w Pyhonie: <a href="http://sandbox.pocoo.org/clevercss/">http://sandbox.pocoo.org/clevercss/</a></p>
<p>CleverCSS w Haskellu: <a href="http://sandbox.pocoo.org/clevercss-hs/">http://sandbox.pocoo.org/clevercss-hs/</a></p>
<h2>Hss</h2>
<p>Ostatni komplator umieszczam ze względu na sentyment do niego(oraz referer ale o tym za chwilę). Był on pierwszym kompilatorem, którego używałem i ze względu na jego prostotę jest ciekawym rozwiązaniem na początek. Jest to francuska produkcja na potrzeby firmy Motion-Twin(jeżeli ktoś zajmuje się programowaniem gier to zapewne ich zna) — firmy, która stworzyła bardzo przyjemną grę typu „Arkanoid“ — <a href="http://aphabounce.com">Alpha Bounce</a> (Jeżeli chcesz się zarejestrować możesz podać mój nick jako referer — „Hellson“).</p>
<p>Niestety HSS jest bardzo sztywnym kompilatorem. Jego jedynym plusem jest wsparcie dla tzw. „CSS hacks“. Wpisując np. <em>opacity: 0.6</em> kompilator sam doda odpowiednie filtry dla IE. Oczywiście nie zawsze jest to plus. Wiele osób(w tym ja) stara się tworzyć czyste pliki css a wszelkiego rodzaju sztuczki dla IE umieszczać w oddzielnych plikach.</p>
<p>Strona projektu: <a href="http://ncannasse.fr/projects/hss">http://ncannasse.fr/projects/hss</a></p>
<p>W następnym artykule postaram się zaprezentować kilka najważniejszych elementów kompilatora SASS. Jeżeli jednak to was nie interesuje(np. jeżeli wolicie sami poczytać dokumentację), to proszę piszcie. Zajmę się wtedy artykułem na temat kolejnych ciekawych elementów mojej codziennej pracy.</p>
]]></content:encoded>
			<wfw:commentRss>http://srodek.info/blog/457/kompilatory-css/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Użycie sprite’ów w CSS</title>
		<link>http://srodek.info/blog/314/uzycie-spriteow-w-css</link>
		<comments>http://srodek.info/blog/314/uzycie-spriteow-w-css#comments</comments>
		<pubDate>Tue, 18 May 2010 16:49:32 +0000</pubDate>
		<dc:creator>Michał Środek</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://srodek.info/?p=314</guid>
		<description><![CDATA[Podczas tworzenia animacji do mojej gry, nie zawsze będę używał kształtów generowanych przez JavaScript. Dobrze byłoby czasami stworzyć jakąś bardziej zaawansowaną animację w oparciu o grafiki rastrowe. W tym celu używa się tzw. Sprite’ów, czyli plików z poszczególnymi klatkami animacji umieszczonymi obok siebie. Zanim jednak przejdziemy do dalszego pisania gry, chciałbym przedstawić jak w prosty [...]]]></description>
			<content:encoded><![CDATA[<p>Podczas tworzenia animacji do mojej gry, nie zawsze będę używał kształtów generowanych przez JavaScript. Dobrze byłoby czasami stworzyć jakąś bardziej zaawansowaną animację w oparciu o grafiki rastrowe. W tym celu używa się tzw. <a href="http://pl.wikipedia.org/wiki/Sprite">Sprite’ów</a>, czyli plików z poszczególnymi klatkami animacji umieszczonymi obok siebie. Zanim jednak przejdziemy do dalszego pisania gry, chciałbym przedstawić jak w prosty sposób użyć sprite’ów do optymalizacji stron internetowych.</p>
<p><span id="more-314"></span></p>
<p>Klasycznym przykładem jest menu oparte o grafikę. Zawsze jest problem ze zdarzeniem najechania myszki. Podczas pierwszego najechania grafika musi się załadować co powoduje opóźnienie zmiany tła.</p>
<p><a href="http://srodek.info/examples/css-sprites/example1.html">Przykład</a></p>
<p> Programiści różnie sobie z tym radzą, często w bardzo dziwny sposób(np. tworząc preloadery w JavaScript). Rozwiązanie jest dużo, dużo prostsze.</p>
<h3>Tworzymy Sprite</h3>
<p>Pierwszym krokiem jest stworzenie grafiki zawierającej wszystkie elementy.</p>
<p style="text-align:center"><a href="http://srodek.info/wp-content/uploads/2010/05/menu.png"><img src="http://srodek.info/wp-content/uploads/2010/05/menu.png" alt="" title="menu" width="400" height="70" /></a></p>
<p>Zamiast operować na kilku plikach modyfikujemy położenie tła.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#menu</span> li<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#491312</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'images/menu.png'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#menu</span> li<span style="color: #3333ff;">:hover</span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#820403</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'images/menu.png'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span> <span style="color: #933;">35px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#menu</span> li.active<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#261f1f</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'images/menu.png'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span><span style="color: #933;">200px</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#menu</span> li<span style="color: #6666ff;">.active</span><span style="color: #3333ff;">:hover</span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#000</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'images/menu.png'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span><span style="color: #933;">200px</span> <span style="color: #933;">35px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p><a href="http://srodek.info/examples/css-sprites/example2.html">Zobacz efekt</a></p>
<p>Poza widocznym gołem okien usprawnieniem menu, dodatkowo odciążyliśmy serwer. Pierwsza wersja strony generowała aż 4 zapytania do serwera, druga tylko jedno. W prostych projektach jest to mało ważne, lecz w przypadku np. google.com jest to ogromny wyciek transferu. Sprawdzaliście kiedyś kod html google.com i ilość odwołań strony głównej do oddzielnych plików? Grafika w google.com jest upchana do 2 plików. Pierwszym jest logo, drugim zestaw ikon przycisków itp. Wygląda to <a href="http://www.google.pl/images/srpr/nav_logo13.png">tak</a>. </p>
<p>W jakich sytuacjach używać sprite’ów? Zdecydowanie gdy mamy do czynienia z ikonami oraz drobnymi elementami wyglądu strony. Nie ma sensu łączyć dużych grafik lub zdjęć.</p>
]]></content:encoded>
			<wfw:commentRss>http://srodek.info/blog/314/uzycie-spriteow-w-css/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Zaokrąglone krawędzie</title>
		<link>http://srodek.info/blog/115/zaokraglone-krawedzie</link>
		<comments>http://srodek.info/blog/115/zaokraglone-krawedzie#comments</comments>
		<pubDate>Tue, 13 Oct 2009 19:19:07 +0000</pubDate>
		<dc:creator>Michał Środek</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://srodek.info/?p=115</guid>
		<description><![CDATA[CSS3 wprowadza nową — moim zdaniem — przełomową funkcjonalność, która znacznie ułatwi kreowanie stron internetowych. Jest to parametr umożliwiający tworzenie zaokrągleń. Co ciekawe, zaokrąglenia są na tyle inteligentne, że wpływają także na obramowania oraz cienie. Składnia jest bardzo prosta: border-radius: promień zaokrąglenia; Przykład: border-radius: 20px; Lorem ipsum dolor sit amet… Oczywiście możemy zdefiniować różne wartości [...]]]></description>
			<content:encoded><![CDATA[<p>CSS3 wprowadza nową — moim zdaniem — przełomową funkcjonalność, która znacznie ułatwi kreowanie stron internetowych. Jest to parametr umożliwiający tworzenie zaokrągleń. Co ciekawe, zaokrąglenia są na tyle inteligentne, że wpływają także na obramowania oraz cienie.</p>
<p><span id="more-115"></span></p>
<p>Składnia jest bardzo prosta:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">border-radius<span style="color: #00AA00;">:</span> promień zaokrąglenia<span style="color: #00AA00;">;</span></pre></div></div>

<p>Przykład:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span></pre></div></div>

<div class="example" style="-moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px;">Lorem ipsum dolor sit amet…</div>
<p>Oczywiście możemy zdefiniować różne wartości dla poszczególnych narożników:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">border-radius<span style="color: #00AA00;">:</span> przekątna-od-górnego-lewego przekątna-od-górnego-prawego<span style="color: #00AA00;">;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span></pre></div></div>

<div class="example" style="-moz-border-radius: 20px 0px; -webkit-border-radius: 20px 0px; border-radius: 20px 0px;">Lorem ipsum dolor sit amet…</div>
<p>Przykład 2:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">border-radius<span style="color: #00AA00;">:</span> góra-lewy góra-prawy dół-prawy dół-lewy<span style="color: #00AA00;">;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">20px</span> <span style="color: #933;">0px</span> <span style="color: #933;">50px</span><span style="color: #00AA00;">;</span></pre></div></div>

<div class="example" style="-moz-border-radius: 5px 20px 0px 50px; -webkit-border-radius: 5px 20px 0px 50px; border-radius: 5px 20px 0px 50px;">Lorem ipsum dolor sit amet…</div>
<p>Możemy również określić stopień zaokrąglenia pionowego i poziomego każdego z narożników. Trzeba jednak użyć do tego standardowej nazwy parametrów dla kazdego z narożników tj. <em>border-top-right-radius</em>, <em>border-bottom-right-radius</em>, <em>border-bottom-left-radius</em>, <em>border-top-left-radius</em>. Każdy z tych parametrów posiada 2 opcje — promień poziomy oraz promień pionowy.</p>
<p>Przykład:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">border-top-left-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">50px</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span></pre></div></div>

<div class="example" style="-moz-border-radius-topleft: 50px 20px; -webkit-border-top-left-radius: 50px 20px; border-top-left-radius: 50px 20px;">Lorem ipsum dolor sit amet…</div>
<h3>Obsługa w różnych przeglądarkach</h3>
<p>Niestety składnia nie jest ujednolicona. W przypadku przeglądarek opartych o silnik WebKit wystarczy dodać <em>–webkit–</em> na początku kazdego z parametrów, dla firefoxa są to:</p>
<ul style="margin-left:40px">
<li>–moz-border-radius,</li>
<li>–moz-border-radius-topleft,</li>
<li>–moz-border-radius-topright,</li>
<li>–moz-border-radius-bottomleft,</li>
<li>–moz-border-radius-bottomright</li>
</ul>
<p>Opera nie obsługuje zaokrągleń lecz można użyć SVG do emulacji tego efektu(pamiętajmy jednak, że nie będzie on posiadał tych samych właściwości).</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span>  <span style="color: #993333;">silver</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">&quot;border.svg&quot;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">1em</span><span style="color: #00AA00;">;</span>
-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">1em</span><span style="color: #00AA00;">;</span> border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">1em</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>Plik border.svg</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;rect</span> <span style="color: #000066;">fill</span>=<span style="color: #ff0000;">&quot;white&quot;</span>  <span style="color: #000066;">x</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">y</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;rect</span> <span style="color: #000066;">fill</span>=<span style="color: #ff0000;">&quot;silver&quot;</span>  <span style="color: #000066;">x</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">y</span>=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">rx</span>=<span style="color: #ff0000;">&quot;1em&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>O formacie SVG jednak napiszę kilka oddzielnych notek ponieważ technologia ta bardzo mi się podoba a jest pomijana w artykułach oraz pracach tworzonych przez współczesnych programistów stron internetowych.</p>
]]></content:encoded>
			<wfw:commentRss>http://srodek.info/blog/115/zaokraglone-krawedzie/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cienie w CSS3</title>
		<link>http://srodek.info/blog/56/cienie-w-css3</link>
		<comments>http://srodek.info/blog/56/cienie-w-css3#comments</comments>
		<pubDate>Mon, 21 Sep 2009 10:48:17 +0000</pubDate>
		<dc:creator>Michał Środek</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://srodek.info/?p=56</guid>
		<description><![CDATA[Wczoraj pokazałem w jaki sposób dodać cień dla tekstu. W jaki sposób uzyskać cień dla znaczników HTML? Służy do tego parametr box-shadow. Niestety nie jest to jeszcze zatwierdzony parametr CSS. Znajduje się on w kategorii „Working Drafts“. Dlatego też jego użycie wymaga od nas wykorzystania prefiksów dla różnych przeglądarek. Składnia jest następująca: 1 box-shadow: przesuniecie-poziome [...]]]></description>
			<content:encoded><![CDATA[<p>Wczoraj pokazałem w jaki sposób dodać cień dla tekstu. W jaki sposób uzyskać cień dla znaczników HTML? Służy do tego parametr box-shadow. Niestety nie jest to jeszcze zatwierdzony parametr CSS. Znajduje się on w kategorii „Working Drafts“. Dlatego też jego użycie wymaga od nas wykorzystania prefiksów dla różnych przeglądarek. Składnia jest następująca:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">box-shadow<span style="color: #00AA00;">:</span> przesuniecie-poziome przesuniecie-pionowe promien-rozmycia zasieg kolor <span style="color: #993333;">inset</span></pre></td></tr></table></div>

<p><span id="more-56"></span></p>
<p>Niestety parametr ten obsługują jedynie przeglądarki w oparciu o silnik gecko(Firefox 3.5) oraz WebKit(Safari, Chrome):</p>
<p>Przykład zastosowania:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">5px</span> <span style="color: #cc00cc;">#bbb</span><span style="color: #00AA00;">;</span>
-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #933;">10px</span> <span style="color: #933;">5px</span> <span style="color: #cc00cc;">#bbb</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="box-shadow: 5px 10px 10px 5px #bbb;-moz-box-shadow: 5px 10px 10px 5px #bbb;">Lorem ipsum dolor sit amet</p>
<p>Zasięg możemy również określić jako ujemny co spowoduje kurczenie się cienia.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">15px</span> <span style="color: #933;">20px</span> <span style="color: #933;">10px</span> <span style="color: #933;">-10px</span> <span style="color: #cc00cc;">#bbb</span><span style="color: #00AA00;">;</span>
-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">15px</span> <span style="color: #933;">20px</span> <span style="color: #933;">10px</span> <span style="color: #933;">-10px</span> <span style="color: #cc00cc;">#bbb</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="box-shadow: 15px 20px 10px -10px #bbb;-moz-box-shadow: 15px 20px 10px -10px #bbb;">Lorem ipsum dolor sit amet</p>
<p>Umyślnie pominąłem deklaracje dla silnika WebKit ponieważ nie uwzględnia on zasięgu i cień byłby po prostu niewidoczny. Zalecam więc użycie wersji z 4 parametrami.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span>
-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span>
-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="box-shadow: 5px 5px 10px #ccc;-moz-box-shadow: 5px 5px 10px #ccc;-webkit-box-shadow: 5px 5px 10px #ccc;">Lorem ipsum dolor sit amet</p>
<p>Zastosowanie cieni bez efektu rozmycia:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">-5px</span> <span style="color: #933;">-5px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span>
-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">-5px</span> <span style="color: #933;">-5px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span>
-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">-5px</span> <span style="color: #933;">-5px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="box-shadow: -5px -5px 0px #ccc;-moz-box-shadow: -5px -5px 0px #ccc;-webkit-box-shadow: -5px -5px 0px #ccc;">Lorem ipsum dolor sit amet</p>
<h2>Cień wewnętrzny:</h2>
<p>Słowo kluczowe <em>inset</em>(uwaga w szkicu W3C jest zapytanie o zmianę nazwy na <em>inner</em>) zmienia zachowanie cienia. Po jego zastosowaniu cień będzie wewnątrz boksu a nie na zewnątrz.</p>
<p>Niestety <em>inset</em> działa jedynie w przeglądarce FireFox 3.5.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#ddd</span><span style="color: #00AA00;">;</span>
box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span> <span style="color: #993333;">inset</span><span style="color: #00AA00;">;</span>
-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#fff</span> <span style="color: #993333;">inset</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="background:#ddd;box-shadow: 5px 5px 10px #fff inset;-moz-box-shadow: 5px 5px 10px #fff inset;">Lorem ipsum dolor sit amet</p>
<h2>Cienie wielokrotne</h2>
<p>Dla każdego elementu możemy określić kilka róznych cieni. Odzielamy je przecinkami.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">-5px</span> <span style="color: #933;">-5px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">,</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span>
-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">-5px</span> <span style="color: #933;">-5px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">,</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span>
-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #933;">-5px</span> <span style="color: #933;">-5px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">,</span> <span style="color: #933;">5px</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="box-shadow: -5px -5px 0px #ccc, 5px 5px 10px #ccc; -moz-box-shadow: -5px -5px 0px #ccc, 5px 5px 10px #ccc;-webkit-box-shadow: -5px -5px 0px #ccc, 5px 5px 10px #ccc;">Lorem ipsum dolor sit amet</p>
]]></content:encoded>
			<wfw:commentRss>http://srodek.info/blog/56/cienie-w-css3/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cienie dla tekstu w CSS</title>
		<link>http://srodek.info/blog/15/cienie-dla-tekstu-w-css</link>
		<comments>http://srodek.info/blog/15/cienie-dla-tekstu-w-css#comments</comments>
		<pubDate>Sun, 20 Sep 2009 11:03:15 +0000</pubDate>
		<dc:creator>Michał Środek</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://srodek.info/?p=15</guid>
		<description><![CDATA[CSS już od dłuższego czasu(zostało to zaproponowane w CSS2) udostępnia bardzo ciekawą funkcjonalność. Tekst możemy udekorować ładnym cieniem. Problemem była implementacja tej opcji w znanych przeglądarkach. Przez długi czas jedynie Safari(już od pierwszej wersji) pokazywało klasę. Na szczęście minęło trochę czasu i prawie wszystkie przeglądarki(pozdrowienia dla zespołu IE!) obsługują sprawnie cienie a składnia jest ujednolicona. [...]]]></description>
			<content:encoded><![CDATA[<p>CSS już od dłuższego czasu(zostało to zaproponowane w CSS2) udostępnia bardzo ciekawą funkcjonalność. Tekst możemy udekorować ładnym cieniem. Problemem była implementacja tej opcji w znanych przeglądarkach. Przez długi czas jedynie Safari(już od pierwszej wersji) pokazywało klasę. Na szczęście minęło trochę czasu i prawie wszystkie przeglądarki(pozdrowienia dla zespołu IE!) obsługują sprawnie cienie a składnia jest ujednolicona.<span id="more-15"></span></p>
<h2>text-shadow</h2>
<p>Aby dodać cień do naszego tekstu wystarczy zdefiniować jego właściwości za pomocą text-shadow.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> przesuniecie-poziome przesuniecie-pionowe rozmycie kolor<span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p>Przykład użycia</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">14px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-10px</span> <span style="color: #933;">5px</span> <span style="color: #933;">2px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="font-size:14px; text-shadow: -10px 5px 2px #f00;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam et nunc id erat tempus iaculis. Phasellus congue nunc quis nibh congue rutrum sit amet eu velit. Etiam non ligula convallis tortor scelerisque consectetur at nec nunc. Integer eu purus odio, ac placerat erat</p>
<p>Przy umiejętnym zastosowaniu efekty mogą być zadziwiające. Można np. ustawiając wysokie rozmycie zemulować efekt podświetlanego tła.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#111</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">18px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">4px</span> <span style="color: #cc00cc;">#999</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#f90</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="background:#111; font-size:18px; text-shadow: 0px 0px 4px #999; color:#f90;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam et nunc id erat tempus iaculis. Phasellus congue nunc quis nibh congue rutrum sit amet eu velit. Etiam non ligula convallis tortor scelerisque consectetur at nec nunc. Integer eu purus odio, ac placerat erat</p>
<h3>Cienie wielokrotne</h3>
<p>Dla każdego napisu możemy zdefiniować kilka róznych cieni oddzielając je przecinkiem.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span><span style="color: #933;">40px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">18px</span><span style="color: #00AA00;">;</span>
<span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-6px</span> <span style="color: #933;">-6px</span> <span style="color: #933;">6px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">,</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #933;">6px</span> <span style="color: #cc00cc;">#00f</span><span style="color: #00AA00;">,</span> <span style="color: #933;">6px</span> <span style="color: #933;">6px</span> <span style="color: #933;">6px</span> <span style="color: #cc00cc;">#f90</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p class="example" style="line-height:40px; font-size:18px; text-shadow: -6px -6px 6px #f00, 0px 0px 6px #00f, 6px 6px 6px #f90;">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<h2>Internet Explorer</h2>
<p>Okłamałbym was gdybym nie napisał, że w Internet Explorerze da się uzyskać podobny efeket. Microsoft udostępnił parametr filter: shadow, który działa nawet w IE5(sic!). Użycie wygląda mniej więcej tak:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">filter<span style="color: #00AA00;">:</span> Shadow<span style="color: #00AA00;">&#40;</span>Color<span style="color: #00AA00;">=</span><span style="color: #cc00cc;">#333</span><span style="color: #00AA00;">,</span> Direction<span style="color: #00AA00;">=</span><span style="color: #cc66cc;">135</span><span style="color: #00AA00;">,</span> Strength<span style="color: #00AA00;">=</span><span style="color: #cc66cc;">5</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<p>Nie będę jednak zagłębiał się w ten temat, gdyż nie jest to poprawne ze standardami W3C.</p>
]]></content:encoded>
			<wfw:commentRss>http://srodek.info/blog/15/cienie-dla-tekstu-w-css/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

