<?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>CssHover &#187; CSS</title>
	<atom:link href="http://csshover.pl/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://csshover.pl</link>
	<description>CSS jQuery Wordpress</description>
	<lastBuildDate>Wed, 23 Nov 2011 16:59:43 +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>Opera, @font-face i błędy JS</title>
		<link>http://csshover.pl/css/opera-font-face-i-bledy-js/</link>
		<comments>http://csshover.pl/css/opera-font-face-i-bledy-js/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 19:49:41 +0000</pubDate>
		<dc:creator>Wojciech Świderski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Przeglądarki]]></category>

		<guid isPermaLink="false">http://csshover.pl/?p=302</guid>
		<description><![CDATA[Ostatnio robiąc testy działania projektu pod Joomla, zostałem zadziwiony tym, że pod Operą formularz z aiContactSafe leży i kwiczy, dokładnie nie ładuje się z powodu błędów JS. Po kilkugodzinnych oględzinach, usuwaniu i minimalizowaniu kodu, natknąłem się na ostrzeżenia o nie rozpoznanych czcionkach ładowanych przez @font-face. Po krótkiej zabawie okazało się, że psują czcionki EOT, czyli ]]></description>
			<content:encoded><![CDATA[<p>Ostatnio robiąc testy działania projektu pod Joomla, zostałem zadziwiony tym, że pod Operą formularz z aiContactSafe leży i kwiczy, dokładnie nie ładuje się z powodu błędów JS. Po kilkugodzinnych oględzinach, usuwaniu i minimalizowaniu kodu, natknąłem się na ostrzeżenia o nie rozpoznanych czcionkach ładowanych przez <code>@font-face</code>. Po krótkiej zabawie okazało się, że psują czcionki EOT, czyli te robione dla IE. Prostym więc stało się, że trzeba ładować je tak aby były niewidoczne dla Opery.<span id="more-302"></span></p>
<p>Do tej pory zawsze wszystkie czcionki ładowałem do jednego pliku CSS i robiłem ich wersje normalną i dla IE, o tak:</p>
<pre class="brush: css; title: ; notranslate">@font-face {
    font-family: Czcionka1;
    font-style:  normal;
    font-weight: bold;
    src: url(czcionka.ttf);
}
@font-face {
    font-family: Czcionka2;
    font-style:  normal;
    font-weight: bold;
    src: url(czcionka2.ttf);
}
@font-face {
    font-family: Czcionka1IE;
    font-style:  normal;
    font-weight: bold;
    src: url(czcionka.eot);
}
@font-face {
    font-family: Czcionka2IE;
    font-style:  normal;
    font-weight: bold;
    src: url(czcionka2.eot);
}</pre>
<p>A następnie używałem ich przez definiowanie najpierw normalnej, a potem IE czcionki:</p>
<pre class="brush: css; title: ; notranslate">elem{
    font-family: Czcionka1,Czcionka1IE, Verdana;
}</pre>
<p>Do tej pory nie wiem dlaczego tylko pod Operą powodowało to błędy, ale przyniosło to takie usprawnienia, że przestałem ładować EOTy do każdej przeglądarki, oraz to, że mogłem zacząć definiować czcionki tylko jedną nazwą, gdyż w stylach tylko dla IE, nadpisuje tylko nazwę:</p>
<pre class="brush: xml; title: ; notranslate">&lt;link rel=&quot;stylesheet&quot; href=&quot;/fonts/fonts.css&quot; type=&quot;text/css&quot; /&gt;
&lt;!--[if IE ]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;/fonts/fontsIE.css&quot; type=&quot;text/css&quot; /&gt;
&lt;![endif]--&gt;</pre>
<pre class="brush: css; title: ; notranslate">/*** PLIK fontsIE.css ***/

@font-face {
    font-family: Czcionka1;
    font-style:  normal;
    font-weight: bold;
    src: url(czcionka.eot);
}</pre>
<pre class="brush: css; title: ; notranslate">/*** Stosowanie(tylko jedna nazwa czcionki, zadnych dubli IE) ***/

elem{
    font-family: Czcionka1, Verdana;
}</pre>
<p>To już jakieś usprawnienie!:-) Jednak doszedłem do wniosku, że lepiej stosować coś innego. Z uwagi, że to co odtwarzają przeglądarki z osadzanych czcionek, nie zawsze jest takie jakbyśmy chcieli, postanowiłem najpierw próbować załączyć oryginalną czcionkę a dopiero potem osadzaną.</p>
<pre class="brush: css; title: ; notranslate">/*** PLIK fonts.css ***/

@font-face {
    font-family: CzcionkaWEB;
    font-style:  normal;
    font-weight: bold;
    src: url(czcionka.ttf);
}</pre>
<pre class="brush: css; title: ; notranslate">/*** PLIK fontsIE.css ***/

@font-face {
    font-family: CzcionkaWEB;
    font-style:  normal;
    font-weight: bold;
    src: url(czcionka.eot);
}</pre>
<pre class="brush: css; title: ; notranslate">/***  Stosowanie - 'Czcionka' to oryginalna nazwa czcionki w systemie ***/
elem{
    font-family: Czcionka, CzcionkaWEB, Verdana;
}</pre>
<p>Jak widać nawet błędy Opery się do czegoś przydają:-) Obyście jak najmniej utykali!</p>
]]></content:encoded>
			<wfw:commentRss>http://csshover.pl/css/opera-font-face-i-bledy-js/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Animowanie border-radius, czasy nowoczesne :-)</title>
		<link>http://csshover.pl/css/animowanie-border-radius-czasy-nowoczesne/</link>
		<comments>http://csshover.pl/css/animowanie-border-radius-czasy-nowoczesne/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 22:21:01 +0000</pubDate>
		<dc:creator>Wojciech Świderski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[border-radius]]></category>
		<category><![CDATA[CSS Circles]]></category>

		<guid isPermaLink="false">http://csshover.pl/?p=294</guid>
		<description><![CDATA[Od kiedy pisałem artykuł o CSS CIRCLES troszkę się pozmieniało. Mamy FireFoxa 5, Opere 11, Chrome 12, Internet Explorer 9 ogólnie, lepszy świat:-) Jak się okazało to pójście w przyszłość zdeaktualizowało moją technikę, ale na szczęście update już jest dostępny pod powyższym linkiem. Ogólnie zmiany są takie, że unormował się sposób animacji. Zmiany to: Używamy ]]></description>
			<content:encoded><![CDATA[<p>Od kiedy pisałem artykuł o <a title="Css Circles" href="http://csshover.pl/css/css-circles-czyli-radykalne-naduzycie-border-radius/">CSS CIRCLES</a> troszkę się pozmieniało. Mamy FireFoxa 5, Opere 11, Chrome 12, Internet Explorer 9 ogólnie, lepszy świat:-) Jak się okazało to pójście w przyszłość zdeaktualizowało moją technikę, ale na szczęście update już jest dostępny pod powyższym linkiem. Ogólnie zmiany są takie, że unormował się sposób animacji.</p>
<p>Zmiany to:</p>
<ul>
<li> Używamy <strong>notacji CSS 3</strong></li>
<li>Ustawiamy <strong>style inline dla każdego rogu</strong>, aby przeglądarka nie resetowała naszych ustawień podczas animacji</li>
<li><strong>Animujemy każdy róg osobno</strong>(w jednej animacji, ale rozpisujemy kolejno).</li>
<li>I śmiga :-)!</li>
</ul>
<p>Przykład:</p>
<pre class="brush: jscript; title: ; notranslate">$(this).css({
 borderTopLeftRadius: '0',
 borderTopRightRadius: '0',
 borderBottomLeftRadius: '0',
 borderBottomRightRadius: '0'})
.animate({
 borderTopLeftRadius: '50',
 borderTopRightRadius: '50',
 borderBottomLeftRadius: '50',
 borderBottomRightRadius: '50'
},500);</pre>
<p><a href="http://csshover.pl/css/css-circles-czyli-radykalne-naduzycie-border-radius/">Żywy przykład w oryginalnym artykule.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://csshover.pl/css/animowanie-border-radius-czasy-nowoczesne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE 7(Internet Explorer 7) i jego CSS zoom: 1 usuwa wszystkie błędy:-)</title>
		<link>http://csshover.pl/css/ie-7internet-explorer-7-i-jego-css-zoom-1-usuwa-wszystkie-bledy/</link>
		<comments>http://csshover.pl/css/ie-7internet-explorer-7-i-jego-css-zoom-1-usuwa-wszystkie-bledy/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 14:53:03 +0000</pubDate>
		<dc:creator>Wojciech Świderski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Przeglądarki]]></category>

		<guid isPermaLink="false">http://csshover.pl/?p=290</guid>
		<description><![CDATA[Czasy robienia stron pod IE 6 są już szczęśliwie za nami, więc większość koderów może rozłożyć skrzydła i zacząć choćby używać pseudo klasy :hover na każdym elemencie. Z odejściem do lamusa każdej kolejnej przeglądarki IE będziemy mogli w standardzie używać coraz większego zestawu ciekawostek CSS. O ile nie pamiętam kiedy ostatnio poprawiałem jakiś błąd pod ]]></description>
			<content:encoded><![CDATA[<p>Czasy robienia stron pod IE 6 są już szczęśliwie za nami, więc większość koderów może rozłożyć skrzydła i zacząć choćby używać pseudo klasy <code>:hover</code> na każdym elemencie. Z odejściem do lamusa każdej kolejnej przeglądarki IE będziemy mogli w standardzie używać coraz większego zestawu ciekawostek CSS. O ile nie pamiętam kiedy ostatnio poprawiałem jakiś błąd pod IE 8, o tyle pod IE 7 zdarza się to przy każdym zleceniu. Szacunkowo jeszcze przez około 1.5 roku będzie potrzeba walki z IE 7, więc warto się dowiedzieć jak się nie męczyć :-)<span id="more-290"></span></p>
<p>Ostatnio robię dość duży projekt składający się z ponad 30 różnych podstron, więc możliwości walki z IE7 mam aż nadto. Oczywiście byłem na to gotowy więc od razu zaopatrzyłem się w wpis z warunkowym komentarzem:</p>
<pre class="brush: xml; title: ; notranslate">&lt;!--[if lte IE 7]&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;ie7.css&quot; type=&quot;text/css&quot; /&gt;
&lt;![endif]--&gt;</pre>
<p>Znając magiczne właściwości <code>zoom: 1;</code> konsekwentnie ją dodawałem (w stylach dla IE) dla elementów, które się sypały i osiągnąłem coś takiego:</p>
<pre class="brush: css; title: ; notranslate">.box, box &gt; div, .actionBar,div.singleRes .result,
div.forum .buttons, .action, .result,
.collection, .borders3{
    zoom: 1;
}</pre>
<p>Gdy dziś w połowie projektu odkryłem, że na hoverach cała strona tańczy pod IE 7, to troszkę się zirytowałem. Mimo, że konsekwentnie testowałem każdą podstronę, to takie coś wyszło nagle. Miałem już kiedyś ochotę to zrobić, ale trochę się obawiałem. Tym razem jednak nic mnie nie powstrzymało i dodałem:</p>
<pre class="brush: css; title: ; notranslate">*{
    zoom: 1;
}</pre>
<p>Efekt? Jak ręką odjął :-) Wszystko działa doskonale!</p>
<h2>Co robi zoom: 1; ?</h2>
<p><code>zoom: 1;</code> powoduje, że elementy dostają legendarne <code>hasLayout</code> co automatycznie sprawia, że IE zaczyna poprawnie wyliczać wszelkie wartości naszych ostylowanych elementów. Dzięki temu nie ma wszelakich podwójnych paddingów, marginesów, żadnych efektów peek a boo(znikającego contentu, borderów), źle wyliczanych pozycji absolutnych&#8230; Ogólnie masa błędów automatycznie znika :-) Zostają jeszcze problemy z błędną implementacją <code>float</code> (flotowanie w prawo w elemencie floatującym w lewo ;-) ), ale to są rzeczy które zawsze można załatwić na kilka sposobów i to dość łatwych.</p>
<h2>Dlaczego bałem się stosować zoom: 1 z gwiazdką?</h2>
<p>Obawiałem się może naprawić za dużo :-) Póki co nie stwierdziłem efektów ubocznych tej magicznej pigułki, ale używajcie tego na własną odpowiedzialność, bo nie było jeszcze testowane na ludziach:-) W razie problemów można zastosować wyjątki od reguły w następujący sposób</p>
<pre class="brush: css; title: ; notranslate">*{
    zoom: 1;
}
dl dd{
    zoom: 0;
}</pre>
<p>Miłego kodowania!</p>
]]></content:encoded>
			<wfw:commentRss>http://csshover.pl/css/ie-7internet-explorer-7-i-jego-css-zoom-1-usuwa-wszystkie-bledy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS 2/3 text-shadow</title>
		<link>http://csshover.pl/css/css-23-text-shadow/</link>
		<comments>http://csshover.pl/css/css-23-text-shadow/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 18:52:51 +0000</pubDate>
		<dc:creator>Wojciech Świderski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Przeglądarki]]></category>

		<guid isPermaLink="false">http://csshover.pl/?p=250</guid>
		<description><![CDATA[text shadow &#8211; co i po co text-shadow pozwala realizować prosto te sprawy, które od dawna szykowali graficy, a których implementacja na stronie, wymagała użycia grafik, bądź też rozwiązań javascriptowych, albo dublowania tekstu wraz z użyciem przemyślnego(no dobra, prostego) stylu opartego na pozycjonowaniu absolutnym. Czyli mowa o cieniu pod tekstem. Ponieważ jednak, sam cień w ]]></description>
			<content:encoded><![CDATA[<h2>text shadow &#8211; co i po co</h2>
<p><strong>text-shadow</strong> pozwala realizować prosto te sprawy, które od dawna szykowali graficy, a których implementacja na stronie, wymagała użycia grafik, bądź też rozwiązań javascriptowych, albo dublowania tekstu wraz z użyciem przemyślnego(no dobra, prostego) stylu opartego na pozycjonowaniu absolutnym. Czyli <strong>mowa o cieniu pod tekstem</strong>. Ponieważ jednak, sam cień w sobie nie ma wartości informacyjnych a estetyczne, był on też po prostu często ignorowany przez koderów. Obecnie jednak rynek przeglądarek wygląda tak, że większość userów może zobaczyć już cienie dodawane z poziomu CSS, a reszta będzie mogła je podziwiać niedługo wraz z premierą IE 9( choć patrząc na<a href="http://msdn.microsoft.com/en-us/library/cc351024%28VS.85%29.aspx"> tabelę obsługiwanych właściwości</a>, zapis przy <em>text-shadow</em> nie nastraja optymistycznie). Wydaje mi się, że można więc porzucić wszelkie zastępcze techniki i zacząć stosować najzwyklejsze w świecie <em>text-shadow</em>.<span id="more-250"></span>  </p>
<h2>Jak to działa ?</h2>
<div id="ex1" class="exempel">
<span>Najprostszy przykład cienia</span>
</div>
<p>Kod CSS:</p>
<pre class="brush: css; title: ; notranslate">
span{
 text-shadow: 1px 2px 3px #fff;
}</pre>
<p><strong>Pierwszy parametr(1px) to przesunięcie cienia względem tekstu po osi X, drugi(2px) po osi Y, trzeci(3px) to rozmycie(blur), a czwarty(#fff) to kolor cienia.</strong> O ile inne są dość zrozumiałe, to z <strong>blurem</strong> trzeba poeksperymentować, żeby zobaczyć jakie efekty można uzyskać.</p>
<p>Kolejną możliwością są tak zwane multi cienie(<strong>Multiple shadows</strong>), czyli definiowanie kilku cieni dla jednego elementu. Tu posłużę się przykładem z <a href="http://www.css3.info/preview/text-shadow/">css3.info</a> :</p>
<div id="ex2" class="exempel">
<span>Multiple shadows a po polsku multi cienie :-)</span>
</div>
<p>Kod CSS:</p>
<pre class="brush: css; title: ; notranslate">
span{
 font-size: 20px;
 color: #fff;
 text-shadow: 0 0 4px white, 0 -5px 4px #FFFF33, 2px -10px 6px #FFDD33, -2px -15px 11px #FF8800, 2px -25px 18px #FF2200;
}</pre>
<p>Prawda, że piękne i genialne ? I jakie proste. Jedna sprawa odnośnie multi cieni: <strong>najbardziej na wierzchu jest cień zdefiniowany jako pierwszy, każdy kolejny ma niższy priorytet</strong>, czy jak kto woli <strong>z-index</strong>.<br />
Teraz mały przykład odnośnie pseudoklasy <strong>:hover</strong> i cienia:</p>
<div id="ex3" class="exempel">
<span>Multiple shadows i :hover</span>
</div>
<p>Chyba nie o to nam chodziło, ale i tak kod CSS:</p>
<pre class="brush: css; title: ; notranslate">
span{
 font-size: 20px;
 color: #fff;
 text-shadow: 0 0 4px white, 0 -5px 4px #FFFF33, 2px -10px 6px #FFDD33;
}
span:hover{
 text-shadow: -2px -15px 11px #FF8800, 2px -25px 18px #FF2200;
}</pre>
<p>Żadne dopisywanie cieni na <em>:hover</em> nie ma miejsca. Normalnie trzeba zapisać całą linię dla <em>text-shadow</em> od nowa, czyli tak:</p>
<pre class="brush: css; title: ; notranslate">
span{
 font-size: 20px;
 color: #fff;
 text-shadow: 0 0 4px white, 0 -5px 4px #FFFF33, 2px -10px 6px #FFDD33;
}
span:hover{
 text-shadow:  0 0 4px white, 0 -5px 4px #FFFF33, 2px -10px 6px #FFDD33, -2px -15px 11px #FF8800, 2px -25px 18px #FF2200;
}</pre>
<p>aby uzyskać:</p>
<div id="ex4" class="exempel">
<span>Multiple shadows i :hover</span>
</div>
<h2>Animowanie i jQuery a text-shadow</h2>
<p>Mówiąc krótko nie ma obsługi dla animowania <em>text-shadow</em> w jQuery. Możliwe, że jest to spowodowane tym, że właściwość <em>text-shadow</em> dopuszcza definiowanie wielu cieni, albo nie jest to coś co powinno być obsługiwane domyślnie. Problemem jest też niemożność rozczłonkowania <em>text-shadow</em> na poszczególne składowe(text-shadow-blur, text-shadow-x, text-shadow-y, text-shadow-color), ale to ponownie wiąże się z multi cieniami, bo jakby to wtedy miałoby być zapisane? Jakkolwiek <a href="http://www.uize.com/">framework UIZE</a> poradził sobie z tym zadaniem całkiem ładnie, co <a href="http://www.uize.com/examples/hover-fader-text-shadow-animation.html">można sprawdzić tu</a>.</p>
<h3>Co jednak w tym temacie ma do powiedzenia jQuery?</h3>
<p>Wraz z jQuery 1.4.3 pojawiły się <strong>cssHooks</strong>. Co to i jak to działa to sprawa na osobny artykuł, ważne że umożliwia rozbudowywanie funkcjonalności dostępnych przez <strong>.css()</strong> i.<strong>animate()</strong> poprzez napisanie odpowiednich pluginów. Tak się szczęśliwie składa, że znalazła się ekipa, która takie pluginy już szykuje. Na <a href="https://github.com/brandonaaron/jquery-cssHooks">tej stronie</a> dostępne są ich najnowsze <strong>pluginy umożliwiające animacje wielu właściwości css, w tym właśnie text-shadow</strong>. Przykład poniżej:</p>
<div id="ex5" class="exempel">
<span>Animujemy Cienie &lt;- klinij tu</span>
</div>
<p>aby ten przykład zadziałał tak jak działa, potrzebne są pluginy <em>color.js</em> i <em>textshadow.js</em> (muszą być załączane w tej kolejności) z ww. strony oraz poniższy kod:</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#ex5 span&quot;).click(function(){
  $(this)
  .animate({ textShadowX: 88 }, 1000)
  .animate({ textShadowY: 18 }, 1000)
  .animate({ textShadowColor: 'rgb(255, 0, 0)' }, 1000)
  .animate({ textShadowBlur: 13 }, 300);
 });
</pre>
<p>Niestety, nie działa to multi cienie, ale może coś jeszcze zmieni się w tej kwestii. Co do animacji pojedynczego cienia, to oczywiście można wykonywać wszystkie ruchy naraz, o tak:</p>
<div id="ex6" class="exempel">
<span>Animujemy Cienie &lt;- klinij tu</span>
</div>
<p>Kod do tego:</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;#ex6 span&quot;).click(function(){
 $(this)
  .animate({ 	textShadowX: 88,
   textShadowY: 18,
   textShadowColor: 'rgb(255, 0, 0)',
   textShadowBlur: 13  }
  , 1000);
});
</pre>
<p>Hura! Czyli <strong>udało nam się animować text-shadow w jQuery</strong>. Wielkie propsy dla pulgino twórców ;-)</p>
<p>PS. To, że cały wpis nie wywiera wrażenia na IE to zrozumiałe, ale nie bardzo rozumiem dlaczego Opera 10.63 ma problemy i z multi cieniami i z animacją. Tajemnicza sprawa.</p>
]]></content:encoded>
			<wfw:commentRss>http://csshover.pl/css/css-23-text-shadow/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS Circles, czyli radykalne nadużycie border-radius(UPDATE 07.2011)</title>
		<link>http://csshover.pl/css/css-circles-czyli-radykalne-naduzycie-border-radius/</link>
		<comments>http://csshover.pl/css/css-circles-czyli-radykalne-naduzycie-border-radius/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 21:42:48 +0000</pubDate>
		<dc:creator>Wojciech Świderski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[border-radius]]></category>
		<category><![CDATA[CSS Circles]]></category>
		<category><![CDATA[hover]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://csshover.pl/?p=41</guid>
		<description><![CDATA[O Css Circles Css Cirlces(inaczej zwane przeze mnie techniką planet) to po prostu stosowanie okręgów/kół zamiast standardowych czworokątów( z mniej lub bardziej zaokrąglonymi rogami) w roli pojemników na treść. Technika Css Circles opiera się głównie o właściwość CSS 3 jaką jest border-radius. Tak naprawdę pojemnikami są nadal zwykłe kwadratowe divy, paragrafy czy inne HTMLowe obiekty, ]]></description>
			<content:encoded><![CDATA[<h2>O Css Circles</h2>
<p><strong>Css Cirlces</strong>(inaczej zwane przeze mnie techniką planet) to po prostu stosowanie <strong>okręgów/kół</strong> zamiast standardowych czworokątów( z mniej lub bardziej zaokrąglonymi rogami) w roli pojemników na treść.</p>
<p>Technika <strong>Css Circles</strong> opiera się głównie o właściwość CSS 3 jaką jest <code>border-radius</code>. Tak naprawdę pojemnikami są nadal zwykłe kwadratowe divy, paragrafy czy inne HTMLowe obiekty, tyle że ich rogi <strong>zaokrąglone są do maksimum</strong>. Dokładniej do połowy długości boku i należy uwzględnić <code>border-width</code>. Zaokrąglając każdy róg w ten sposób otrzymujemy okrąg :).<span id="more-41"></span></p>
<p>Zacznijmy od przykładu, po lewej gotowe kółko, po prawej dowód, że wcześniej był to kwadratowy <code>div</code>:</p>
<div id="ex1" class="exempel">
<div class="circle"><span>Tu kółko gotowe</span></div>
<div class="hoverCircle"><span>Najedź Myszką</span></div>
</div>
<p>Tak to wygląda w Firefoxie:</p>
<p style="text-align: left;"><a href="http://csshover.pl/wp-content/uploads/2010/01/ff-border-radius.gif"><img class="aligncenter size-full wp-image-77" title="Firefox border-radius" src="http://csshover.pl/wp-content/uploads/2010/01/ff-border-radius.gif" alt="Firefox border-radius" width="547" height="230" /></a>Kod CSS:</p>
<pre class="brush: css; title: ; notranslate">.circle{
 border: 5px solid #fff;
 width: 200px;
 height: 200px;
 -moz-border-radius: 105px;
 -webkit-border-radius: 105px;
 border-radius: 105px;
}</pre>
<h2>Jak jest z dostępnością techniki?</h2>
<h3>Jak działa w Internet Explorer?</h3>
<p>Mówiąc krótko: <strong>NIE działa</strong>. Od wciąż obecnej wersji 6 przeglądarki Internet Explorer po obecną w wersji 8, nie ma żadnych oznak jakiejkolwiek obsługi zaokrąglania rogów. <span style="text-decoration: line-through;">Wypadałoby wierzyć ,że Internet Explorer 9 będzie posiadał jakieś powiązanie z border-radius… ale to dopiero przyszłość.</span> <a title="An Early Look At IE9 for Developers" href="http://beta.blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx"><strong>Internet Explorer 9</strong> będzie miał obsługę <code>border-radius</code></a>, w dodatku w czystym CSS 3. Nareszcie!</p>
<h3>Jak działa w Operze?</h3>
<p>Tu wielki zawód, ponieważ nie działa. Wcześniejsze wersje opery obsługiwały rozszerzenie <code>-o-border-radius</code>, jednak wersja 9 wycofała obsługę tego rozszerzenia. <strong>Obsługa wróci około wersji 10.5</strong>(moje spekulacje z października, które okazały się <a title="CSS3 borders, backgrounds and box-shadows" href="http://dev.opera.com/articles/view/css3-border-background-boxshadow/">prawdziwe</a>) wraz z Presto 2.4. Co najlepsze, obsługa wróci już w wersji CSS 3 <code>border-radius</code> czyli bez własnych rozszerzeń w stylu <code>o-border-radius</code>.</p>
<h3>Jak działa w Google Chrome?</h3>
<p>Chrome(wersja 3) obsługuje <code>border-radius</code> w swoim rozszerzeniu <code>-webkit-border-radius</code>, ma jednak dwa zasadnicze problemy. <strong>Brak antialiasingu</strong>, przez co zaokrąglone rogi są postrzępione, co wygląda dość niezachęcająco. Drugim problemem jest łatwość zepsucia zaokrągleń poprzez przekroczenie maksymalnego możliwego promienia zaokrąglenia, czyli połowy wysokości pojemnika. Z tego co zauważyłem nie występuje to zawsze, albo po prostu zostało naprawione w jakimś cichym update chrome 3.x. Jakkolwiek należy zachować ostrożność. Na szczęście wersja 4 będzie obsługiwać <code>border-radius</code> bez rozszerzenia oraz pojawi się antialiasing!</p>
<p style="text-align: center;"><a href="http://csshover.pl/wp-content/uploads/2010/01/ff-vs-chrome.gif"><img class="aligncenter size-full wp-image-78" title="Firefox vs chrome border-radius" src="http://csshover.pl/wp-content/uploads/2010/01/ff-vs-chrome.gif" alt="Firefox vs chrome" width="533" height="225" /></a></p>
<h3>Jak działa w Safari?</h3>
<p>Ponieważ Safari (wersja 4) korzysta z tego samego silnika co chrome(WebKit), więc dostępne jest to samo rozszerzenie -webkit-border-radius. Safari jednak, w odróżnieniu od chrome <strong>obsługuje antialiasing</strong> i wszystko wygląda estetycznie. Z drugiej strony jednak otrzymuje w spadku łatwość zepsucia efektu okręgu. Również należy zachować ostrożność.</p>
<h3>Jak działa w Firefoxie?</h3>
<p>Firefox od wersji 3(wersja 2 ma problem z zaokrąglaniem teł) to <strong>wzór jeśli chodzi o poprawną obsługę</strong> właściwości <code>border-radius</code>, choć wciąż jako własne rozszerzenie <code>-moz-border-radius</code>. Obsługa antialiasingu, oraz brak problemu przekroczenia maksymalnego promienia sprawia, że technika ta jest najbardziej zalecana do stosowania w firefoxie.</p>
<h3>Gdzie jeszcze jest dostępne border-radius?</h3>
<p>Jest jeszcze obsługa w Konqueror  poprzez użycie <code>-khtml-border-radius</code>. Z tego co mi wiadomo, działa to bez problemu w wersji Linuxowej.</p>
<h2>Jak animować border-radius?</h2>
<p>Kwestia animacji jest dość istotna. Animujemy kolejno każdy róg, ale najpierw <strong>musimy przypisać style inline dla każdego rogu</strong></p>
<pre class="brush: jscript; title: ; notranslate">$(this).css({
 borderTopLeftRadius: '0',
 borderTopRightRadius: '0',
 borderBottomLeftRadius: '0',
 borderBottomRightRadius: '0'});</pre>
<p>Teraz animujemy każdy róg osobno:</p>
<pre class="brush: jscript; title: ; notranslate">$(this).stop().animate({
 borderTopLeftRadius: '50',
 borderTopRightRadius: '50',
 borderBottomLeftRadius: '50',
 borderBottomRightRadius: '50'
},500)</pre>
<p>Dopiero teraz wszystko działa jak należy :).</p>
<p><em><strong>(Tabela tyczy się czasów zamierzchłych, obecnie wszystkie nowe browsery używaj notacji CSS 3)</strong></em><br />
Jest jeszcze jedna istotna sprawa w konwencji zapisu, jeśli chodzi o rogi. <strong>Konwencja mozilli jest odmienna</strong> od tej przyjętej w CSS 3 i trzeba zwrócić na to uwagę. Poniżej tabelka z właściwościami.</p>
<table class="smallTab" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th colspan="5">konwencja CSS</th>
</tr>
<tr>
<th>-</th>
<th>CSS3</th>
<th>Mozilla</th>
<th>WebKit</th>
<th>KHTML</th>
</tr>
<tr>
<th>Wszystkie rogi</th>
<td>border-radius</td>
<td>-moz-border-radius</td>
<td>-webkit-border-radius</td>
<td>-khtml-border-radius</td>
</tr>
<tr>
<th>Górny lewy róg</th>
<td>border-top-left-radius</td>
<td>-moz-border-radius-topleft</td>
<td>-webkit-border-top-left-radius</td>
<td>-khtml-border-top-left-radius</td>
</tr>
<tr>
<th>Górny prawy róg</th>
<td>border-top-right-radius</td>
<td>-moz-border-radius-topright</td>
<td>-webkit-border-top-right-radius</td>
<td>-khtml-border-top-right-radius</td>
</tr>
<tr>
<th>Dolny lewy róg</th>
<td>border-bottom-left-radius</td>
<td>-moz-border-radius-bottomleft</td>
<td>-webkit-border-bottom-left-radius</td>
<td>-khtml-border-bottom-left-radius</td>
</tr>
<tr>
<th>Dolny prawy róg</th>
<td>border-bottom-right-radius</td>
<td>-moz-border-radius-bottomright</td>
<td>-webkit-border-bottom-right-radius</td>
<td>-khtml-border-bottom-right-radius</td>
</tr>
<tr>
<th colspan="5">konwencja DOM</th>
</tr>
<tr>
<th>-</th>
<th>CSS3</th>
<th>Mozilla</th>
<th>WebKit</th>
<th>KHTML</th>
</tr>
<tr>
<th>Wszystkie rogi</th>
<td>BorderRadius</td>
<td>MozBorderRadius</td>
<td>WebkitBorderRadius</td>
<td>KhtmlBorderRadius</td>
</tr>
<tr>
<th>Górny lewy róg</th>
<td>BorderTopLeftRadius</td>
<td>MozBorderRadiusTopleft</td>
<td>WebkitBorderTopLeftRadius</td>
<td>KhtmlBorderTopLeftRadius</td>
</tr>
<tr>
<th>Górny prawy róg</th>
<td>BorderTopRightRadius</td>
<td>MozBorderRadiusTopright</td>
<td>WebkitBorderTopRightRadius</td>
<td>KhtmlBorderTopRightRadius</td>
</tr>
<tr>
<th>Dolny lewy róg</th>
<td>BorderBottomLeftRadius</td>
<td>MozBorderRadiusBottomleft</td>
<td>WebkitBorderBottomLeftRadius</td>
<td>KhtmlBorderBottomLeftRadius</td>
</tr>
<tr>
<th>Dolny prawy róg</th>
<td>BorderBottomRightRadius</td>
<td>MozBorderRadiusBottomright</td>
<td>WebkitBorderBottomRightRadius</td>
<td>KhtmlBorderBottomRightRadius</td>
</tr>
</tbody>
</table>
<h2>Stronę najlepiej oglądać w rozdzielczości 1024 x 768 w przeglądarce…</h2>
<p>Czy zatem jeśli chcemy użyć tej techniki to wracamy do kierowania stron tylko pod konkretne przeglądarki?</p>
<p>Absolutnie nie. Podobnie jak zaokrąglone rogi, tak i same kółka to tylko „fajny bajer”, który <strong>zobaczą użytkownicy przeglądarek obsługujących ciut(przyszłości) ponad obecne standardy</strong> tworzenia stron WWW.</p>
<p>Czy to dyskryminacja? Raczej przedsmak przyszłych standardów…</p>
]]></content:encoded>
			<wfw:commentRss>http://csshover.pl/css/css-circles-czyli-radykalne-naduzycie-border-radius/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>css:hover</title>
		<link>http://csshover.pl/css/csshover/</link>
		<comments>http://csshover.pl/css/csshover/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 16:23:04 +0000</pubDate>
		<dc:creator>Wojciech Świderski</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[hover]]></category>

		<guid isPermaLink="false">http://csshover.pl/?p=20</guid>
		<description><![CDATA[Zgrzeszyłem, że ten artykuł nie ukazał się jako pierwszy na tym blogu. W końcu domena do czegoś zobowiązuje, nieprawdaż? Tym artykułem zamierzam się poprawić, więc zaczynajmy czym prędzej! Dla tych, którzy nie mają żadnego pojęcia o CSSie, polecam artykuł o tym jak go powiązać z plikiem HTML. Jak to się zaczęło? Pamiętam jak sam pierwszy ]]></description>
			<content:encoded><![CDATA[<p>Zgrzeszyłem, że ten artykuł nie ukazał się jako pierwszy na tym blogu. W końcu domena do czegoś zobowiązuje, nieprawdaż? Tym artykułem zamierzam się poprawić, więc zaczynajmy czym prędzej!</p>
<p><span id="more-20"></span></p>
<p>Dla tych, którzy nie mają żadnego pojęcia o CSSie, polecam artykuł o tym <a title="Łączenie CSS z HTML-em" href="http://webmade.org/porady/osadzanie-laczenie-css-html.php">jak go powiązać z plikiem HTML</a>.</p>
<h2>Jak to się zaczęło?</h2>
<p>Pamiętam jak sam pierwszy raz dowiedziałem się o CSSie. Był to jakiś artykuł w Strefie WWW, która była kącikiem zamieszczanym na płytce CD-ACTION. To co mnie przyciągnęło do artykułu to kolorowe suwaczki w IE 5.5(ehh wtedy to tylko czekałem kiedy pojawi się IE 6 :D ), oraz linki, które podkreślały się dopiero gdy na pojawił się na nich kursor myszki! W tamtych czasach ledwo znałem HTML, więc JS był dla mnie tajemniczy i nieprzystępny (zwłaszcza gdy przeglądałem kilkudziesięcio kilo bajtowe kody JSowych zegarków) , dlatego możliwość <strong>dynamicznego podkreślania linków</strong> była dla mnie czymś cudownym.</p>
<p>Tak wyglądał kod CSS</p>
<pre class="brush: css; title: ; notranslate">a{
   text-decoration: none;
}
a:hover{
   text-decoration: underline;
}</pre>
<p>Co w efekcie daje nam podkreślanie linków po najeździe:</p>
<div id="ex1" class="exempel"><a title="css:hover" href="http://csshover.pl/css/csshover">Przykładowy link do artykułu css:hover</a></div>
<p>Zamiast <strong>podkreślenia</strong>, można też <strong>przekreślić</strong>, <strong>&#8216;nadkreślić&#8217;</strong>, bądź <strong>zmienić kolor</strong>. Nabrudźmy trochę i zróbmy wszystko naraz:)</p>
<p>Kod CSS(zmieniamy tylko definicje <em>a:hover</em>)</p>
<pre class="brush: css; title: ; notranslate">a:hover{
   text-decoration: underline overline line-through;
   color: #ff0000;
}</pre>
<div id="ex2" class="exempel"><a title="css:hover" href="http://csshover.pl/css/csshover">Przykładowy link do artykułu css:hover</a></div>
<p>Oczywiście magia pseudo-klasy <strong>hover</strong> nie ogranicza się do linków. Te same rzeczy można wykonywać ze <strong>zwykłym tekstem</strong>, czy to w <code>span</code>, <code>p</code>, <code>div</code>, czy zawartym w dowolnym innym znaczniku(<code>body</code>!). Jednak wykonywanie podkreślenia zwykłego tekstu przy najeździe było by mylące dla użytkowników(no k%$@, klikam ten link i NIC!!), dlatego też nie zalecam takich zabaw.</p>
<h2>Zabawy z innymi znacznikami + :hover</h2>
<p>Manipulacja stylami tekstu to dziecinne sztuczki. Prawdziwa zabawa z <em>:hover</em> zaczyna się dopiero przy manipulacji takimi właściwościami jak <code>background-position</code>, <code>display</code>, <code>position</code> czy <code>z-index</code>.</p>
<p>Np. Prosty przykład z rollover&#8217;em &#8211; kod CSS</p>
<pre class="brush: css; title: ; notranslate">div{
   height: 100px; /*Wysokość obrazka*/
   width: 150px; /* połowa szerokości obrazka*/
   background: transparent url(rollover.jpg) 0 0 no-repeat;
}
div:hover{
   background-position: -150px 0;
}
</pre>
<div id="ex3" class="exempel">
<div>.</div>
</div>
<p>Jedyne co robimy w tym przykładzie to przesuwamy tło diva, ale nadal używamy jednego obrazka(jak widać poniżej). Ten efekt, <strong>rollover</strong> często stosowany jest na rozmaitych przyciskach dla uzyskania efektu wciśnięcia klawisza. Dobry przykład hoverowanych ikon do portali społecznościowych(wraz z kodem CSS) znajduje się pod adresem <a href="http://benjaminsterling.com/accessible-and-search-engine-friendly-image-rollover-with-css-and-sprites/">http://benjaminsterling.com/accessible-and-search-engine-friendly-image-rollover-with-css-and-sprites/</a> .</p>
<div id="ex4" class="exempel">
<div>.</div>
</div>
<h2>Hover&#8217;owane menu</h2>
<p>Menu oparte o hovery to kolejna ciekawa rzecz. Inaczej zwie się je <strong>rozwijanym menu CSS</strong>. Co prawda menu poniżej nie wymaga działającego JS, ale IE 6 i niżej bez pomocy JS nie obsłuży takiego menu prawidłowo. Zacznijmy od kodu HTML:</p>
<pre class="brush: xml; title: ; notranslate">&lt;ul&gt;
 &lt;li&gt;Pozycja 1
 &lt;ul&gt;
 &lt;li&gt;Pozycja 1.1&lt;/li&gt;
 &lt;li&gt;Pozycja 1.2&lt;/li&gt;
 &lt;li&gt;Pozycja 1.3&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;Pozycja 2
 &lt;ul&gt;
 &lt;li&gt;Pozycja 2.1&lt;/li&gt;
 &lt;li&gt;Pozycja 2.2&lt;/li&gt;
 &lt;li&gt;Pozycja 2.3&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
&lt;/ul&gt;</pre>
<p>Do tego kod CSS:</p>
<pre class="brush: css; title: ; notranslate">li &gt; ul{
 display: none;
}
li:hover &gt; ul{
 display: block;
}</pre>
<p>Efekt:</p>
<div id="ex5" class="exempel">
<ul>
<li>Pozycja 1
<ul>
<li>Pozycja 1.1</li>
<li>Pozycja 1.2</li>
<li>Pozycja 1.3</li>
</ul>
</li>
<li>Pozycja 2
<ul>
<li>Pozycja 2.1</li>
<li>Pozycja 2.2</li>
<li>Pozycja 2.3</li>
</ul>
</li>
</ul>
</div>
<p>Jak widać coś się dzieje, ale nie bardzo ma to ręce i nogi. Zasadniczo chciałem pokazać jak <strong>mała porcja CSS wystarczy do osiągnięcia efektu</strong>. Teraz szybciutko dołożymy kilka linijek stylu aby to wszystko jakoś wyglądało:</p>
<pre class="brush: css; title: ; notranslate">li{
 float: left;
 min-height: 20px;
 padding: 5px 0 0;
 text-align: center;
 background-image: none;
 background-color: #444;
 border: 1px solid #ff0000;
 margin-right: 10px;
 min-width: 120px;
}
li:hover{
 background-color: #111;
}
li &gt; ul li{
 float: none;
 margin-right: 0;
 border: none;
}
li &gt; ul li:hover{
 background-color: #1a1a1a;
}
li &gt; ul{
 display: none;
 margin: 0;
}
li:hover &gt; ul{
 display: block;
}</pre>
<div id="ex6" class="exempel">
<ul>
<li>Pozycja 1
<ul>
<li>Pozycja 1.1</li>
<li>Pozycja 1.2</li>
<li>Pozycja 1.3</li>
</ul>
</li>
<li>Pozycja 2
<ul>
<li>Pozycja 2.1</li>
<li>Pozycja 2.2</li>
<li>Pozycja 2.3</li>
</ul>
</li>
</ul>
</div>
<h2>Ciekawa galeria zdjęć oparta o sam CSS</h2>
<p>Ostatnią rzeczą dotyczącą <em>:hover</em>, jaką chciałem pokazać jest <strong>galeria</strong>. Najpierw zobaczmy jak to wygląda, potem kodzik i omówionko ;)</p>
<div id="ex7" class="exempel">
<div class="galeria">
<div class="miniatury"><span class="male-foto"><img src="/custom-images/nuns-s.jpg" alt="" /><span class="duze-foto nuns"></span></span><span class="male-foto"><img src="/custom-images/pm-s.jpg" alt="" /><span class="duze-foto pm"></span></span><span class="male-foto"><img src="/custom-images/shut-s.jpg" alt="" /><span class="duze-foto shut"></span></span></div>
</div>
</div>
<p>Na początek powiem, że w tym kodzie jest za dużo klas i osobiście unikam wszelkiej nadmiarowości, jednak aby kod był bardziej zrozumiały owe nadmiarowe klasy musiałem dodać. A teraz do meritum.</p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;galeria&quot;&gt;
 &lt;div class=&quot;miniatury&quot;&gt;
 &lt;span class=&quot;male-foto&quot;&gt;&lt;img src=&quot;/custom-images/nuns-s.jpg&quot; alt=&quot;&quot; /&gt;&lt;span class=&quot;duze-foto nuns&quot;&gt;&lt;/span&gt;&lt;/span&gt;
 &lt;span class=&quot;male-foto&quot;&gt;&lt;img src=&quot;/custom-images/pm-s.jpg&quot; alt=&quot;&quot; /&gt;&lt;span class=&quot;duze-foto pm&quot;&gt;&lt;/span&gt;&lt;/span&gt;
 &lt;span class=&quot;male-foto&quot;&gt;&lt;img src=&quot;/custom-images/shut-s.jpg&quot; alt=&quot;&quot; /&gt;&lt;span class=&quot;duze-foto shut&quot;&gt;&lt;/span&gt;&lt;/span&gt;
 &lt;/div&gt;
&lt;/div&gt;</pre>
<p>Do tego kod CSS</p>
<pre class="brush: css; title: ; notranslate">.galeria{
 padding-top: 470px; /* tu ustawiamy miejsce na duże zdjęcie. Po najeździe tu pojawi się span */
 position: relative; /* nasz span będzie się pozycjonował względem tego elementu bo jako ostatni ma position inne od static
}
.miniatury{
 padding-left: 35px; /* Tylko wygląd */
}
.miniatury &gt; span{
 float: left; /* Tylko wygląd */
 margin-right: 35px; /* Tylko wygląd */
}
.miniatury &gt; span &gt; span{
 position: absolute; /* pozycjonujemy */
 left: 0; /* w lewy */
 top: 0; /* górny róg diva .galeria */
 display: none; /* normlanie span jest ukryty */
 width: 505px; /* jakas szerokosc */
 height: 450px; /* jakas wyskosc */
 border: 1px solid #fff; /* Tylko wygląd */
}
.miniatury &gt; span:hover img{
 background-color: #999; /* Tylko wygląd */
}
.miniatury &gt; span:hover &gt; span{
 display: block; /* kiedy nadrzędny span jest hoverowany, pokazujemy naszego spana z duzym zdjeciem */
}
span.pm{
 background: transparent url(../custom-images/pm.jpg) 50% 50% no-repeat; /* ustawienie dużego zdjęcia */
}
span.nuns{
 background: transparent url(../custom-images/nuns.jpg) 50% 50% no-repeat; /* ustawienie dużego zdjęcia */
}
span.shut{
 background: transparent url(../custom-images/shut.jpg) 50% 50% no-repeat; /* ustawienie dużego zdjęcia */
}</pre>
<p>Większość kodu omówiona jest w komentarzach. Cała sprawa opiera się na tym, że mamy znaczniki <code>span</code>, które zawierają w sobie <code>img</code>,czyli zdjęcie miniaturkę, oraz kolejny <code>span</code>, który jako tło ma ustawione duże zdjęcie. W tym przykładzie do pokazania jakie duże zdjęcie ma być tłem danego spana użył klas(pm, nuns, shut), ale zamiast tego można by użyć np. atrybutu <code>id</code> lub atrybutu <code>style</code>(inline-style).</p>
<p>Jedna uwaga na koniec. Obecnie przykłady 2,3 i 4 nie działają w <abbr title="Internet Explorer 6">IE 6</abbr>. Możliwe jest jednak sprawienie aby działały. Krótko mówiąc wszystkie elementy, które mają zdefiniowaną <strong>pseudo-klasę :hover</strong>, trzeba zamienić na puste linki, czyli takie bez atrybutu <code>href</code>(np. w drugim przykładzie <code>div</code> zamieniamy na <code>a</code> &#8211; zmiana W HTML i CSS). W wypadku rozwijanego menu, wymaga to większej ilości zmian. Jeśli będzie potrzeba napiszę o tym osobny artykuł.</p>
<p>Na tym kończę te klika przykładów użycia <strong>pseudo-klasy :hover</strong>. Życzę Wam sukcesów w zabawach z hoverowaniem :)</p>
]]></content:encoded>
			<wfw:commentRss>http://csshover.pl/css/csshover/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

