<?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>Athlan • Piotr Pelczar • blog programisty &#187; XHTML</title>
	<atom:link href="http://athlan.pl/kategoria/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://athlan.pl</link>
	<description>Napisać kod zrozumiały dla komputera potrafi byle głupek. Dobrzy programiści tworzą kod zrozumiały dla człowieka...</description>
	<lastBuildDate>Sat, 17 Jul 2010 18:54:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>jQuery Animate i Easing</title>
		<link>http://athlan.pl/jquery-animate-i-easing/</link>
		<comments>http://athlan.pl/jquery-animate-i-easing/#comments</comments>
		<pubDate>Sat, 08 May 2010 08:17:41 +0000</pubDate>
		<dc:creator>Athlan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[JS/Ajax]]></category>
		<category><![CDATA[Planeta]]></category>
		<category><![CDATA[Publikacje]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://athlan.pl/?p=457</guid>
		<description><![CDATA[Nie można kwestionować faktu, że jQuery.animate() jest jednym z najbardziej potężnych narzędzi jQuery. Służy on do animowania atrybutów CSS (czyli zmiany ich wartości w czasie od obecnego stanu A do definiowanego stanu B). Najprostszą implementacją jQuery Animate jest podanie zbioru atrybutów CSS, które mają ulec zmianie oraz czasu, w jakim ta zmiana ma nastąpić. Nie będę się [...]]]></description>
			<content:encoded><![CDATA[<p>Nie można kwestionować faktu, że <code><a href="http://api.jquery.com/animate/">jQuery.animate()</a></code> jest jednym z najbardziej potężnych narzędzi <strong>jQuery</strong>. Służy on do animowania <strong>atrybutów CSS</strong> (czyli zmiany ich wartości w czasie od obecnego stanu A do definiowanego stanu B). Najprostszą implementacją <strong>jQuery Animate</strong> jest podanie zbioru atrybutów CSS, które mają ulec zmianie oraz czasu, w jakim ta zmiana ma nastąpić. Nie będę się zagłębiał w najprostsze przykłady użycia, <a rel="nofollow" href="http://api.jquery.com/animate/">są one dostępne w oficjalnej dokumentacji</a> jQuery.</p>
<p>Należy pamiętać, że dzięki jQuery jesteśmy w stanie nie tylko płynnie zmieniać kolory, wielkość czcionki, obramowanie, ale także pozycje elementów, nadając stronie dynamicznego kształtu. Domyślnym sposobem animowania (<em>easing</em>) jest płynne przechodzenie. Istnieje natomiast sposób na zmianę adaptera animowania. Robert Penner &#8211; autor pluginu <a rel="nofollow" href="http://gsgd.co.uk/sandbox/jquery/easing/"><strong>jQuery Easing</strong></a> dostarczył nam niewiarygodnie efektowne i proste w implementacji narzędzie. Na oficjalnej stronie pluginu można znaleźć <a rel="nofollow" href="http://gsgd.co.uk/sandbox/jquery/easing/">wiele przykładów animacji</a>, które dostarcza nam dodatek. Efekty widoczne są zwłaszcza przy animowaniu pozycji i wymiarów obiektu, ale następują także w przypadku zmiany koloru &#8211; czyli są aplikowane do zmiany stanu każdego z atrybutów CSS.</p>
<p>Dziś postaram się pokazać efekty, jakie można uzyskać za pomocą <strong>jQuery Animate</strong> rozszerzonego o <strong>jQuery Interface</strong> oraz <strong>Easing</strong>.</p>
<ul>
<li><a href="http://athlan.pl/code/jQueryAnimateEasing/">Przykład różnego rodzaju easingu</a>.</li>
</ul>
<p>Pierwszym krokiem jest wygenerowanie własnej biblioteki <a href="http://jqueryui.com/download">jQuery Interface</a>. Dzięki generatorowi, jesteśmy w stanie ściągnąć tylko te części Interface, które są nam de facto potrzebne, zmniejszając jednocześnie ilość kodu. Klikamy &#8216;deselect all components&#8217;, a w sekcji <em>Effects</em> wybieramy efekty, których będziemy używać. Mnie w tej chwili interesuje <em>Bounce</em> i <em>Slide</em>. W paczce otrzymamy wersję deweloperską (z wcięciami) oraz <em>minified</em>, gotową do publikacji na serwerze.</p>
<p>Do wykorzystania efektu slideowania a&#8217;la iPhone (elastyczne odbicie od krawędzi ściany ekranu) sprowadza się drobny kawałek kodu, w którym istotnym jest parametr <em>easing</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#example'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> left<span style="color: #339933;">:</span> <span style="color: #CC0000;">500</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span> duration<span style="color: #339933;">:</span> <span style="color: #CC0000;">1000</span><span style="color: #339933;">,</span> easing<span style="color: #339933;">:</span> <span style="color: #3366CC;">'easeOutElastic'</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>Na pewno komuś się przyda.</p>
]]></content:encoded>
			<wfw:commentRss>http://athlan.pl/jquery-animate-i-easing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>10 przykazań XHTML</title>
		<link>http://athlan.pl/10-przykazan-xhtml/</link>
		<comments>http://athlan.pl/10-przykazan-xhtml/#comments</comments>
		<pubDate>Tue, 06 Feb 2007 17:24:20 +0000</pubDate>
		<dc:creator>Athlan</dc:creator>
				<category><![CDATA[Publikacje]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://athlan.vgroup.pl/10-przykazan-xhtml/</guid>
		<description><![CDATA[XHTML 1.1 jest już standardem, jednak wielu młodych internautów korzysta z amatorskich poradników. Wiele książek narzuca stara, niemodną składnię tworzenia stron www, która może być w przyszłości źle interpretowana przez różnego rodzaju przeglądarki. Ok, zanim przejdziemy do omówienia najczęstszych błędów, warto zapoznać się z podstawowymi wiadomościami na temat XHTML. Aby nasza strona na bieżąco spełniała [...]]]></description>
			<content:encoded><![CDATA[<p>XHTML 1.1 jest już standardem, jednak wielu młodych internautów korzysta z amatorskich poradników. Wiele książek narzuca stara, niemodną składnię tworzenia stron www, która może być w przyszłości źle interpretowana przez różnego rodzaju przeglądarki. Ok, zanim przejdziemy do omówienia najczęstszych błędów, warto zapoznać się z podstawowymi wiadomościami na temat XHTML.</p>
<p>Aby nasza strona na bieżąco spełniała standardy XHTML, musimy ją sprawdzać w walidatorze. Zamieszczony jest on pod adresem <a href="http://validator.w3.org/">http://validator.w3.org</a>. Narzędzie jest bardzo proste w obsłudze, nasz kod XHTML możemy sprawdzać na kilka sposobów:</p>
<ul>
<li>Podając URL do strony</li>
<li>Wklejając kod źródłowy do pola tekstowego</li>
<li> Uploadując plik z kodem XHTML</li>
</ul>
<h3><strong>1. DOCTYPE</strong></h3>
<p>Aby w ogóle zacząć pracę z XHTML, przed jakimikolwiek znacznikami należy podać przeglądarce informację o tym, iż ma doczynienia z dokumentem XHTML. Informujemy ją o tym podając na samym początku dokumentu kod:</p>
<p>[html]< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">[/html]</p>
<h3><strong>2. Zakaz krzyżowania znaczników</strong></h3>
<p>Zasada znana już od wieków. Prawidłowymi przykładami są linie:</p>
<p>[html]<b><i>some text</i></b><br />
<i><b>some text</b></i>[/html]</p>
<p>ale nie linia, w której znaczniki krzyżują się:</p>
<p>[html]<b><i>some text</i></b>[/html]</p>
<p>NOTE: (powyzsze listingi sa tylko przykladami, zamiast b uzywa sie strong, a tagowi i odpowiada em)</p>
<h3><strong>3. Wszystkie znaczniki muszą być prawidlowo zamknięte.</strong></h3>
<p>Każdy otwarty znacznik który reprezentuje w sobie jakąś treść (contents) musi być odpowiednio zamknięty, dajmy dla przykładu [html]<br />
<h1>&#8230;</h1>
<p>,
<p>&#8230;</p>
<p>[/html]. Są jednak wyjątki, znaczniki nie mające w sobie żadnej treści, na przykład obrazek, linia pozioma, znacznik załamania linii. Takie znaczniki zamykane są bezpośrednio przed kończącym znakiem tagu >, dla przykładu: [html]<img ... />, <br />[/html]</p>
<h3><strong> 4. Nazwy znaczników piszemy małymi literami.</strong></h3>
<p>Wszystkie nazwy tagów, jego parametry piszemy zawsze małą literą, jeżeli tego nie zrobimy, validator uzna to jako błąd. Dodatkowo wszystkie parametry muszą znajdować się pomiędzy znakiem cudzysłowia &#8220;.</p>
<h3><strong>5. Nie używaj auto generatorów FrontPage</strong></h3>
<p>Linki FrontPage,  generowany przez niego DHTML, formularze, liczniki wejść, foto galerie i wiele innych skryptów tworzonych automatycznie poprzez FrontPage często nie są zgodne z XHTML.Kod najlepiej pisac własnoręcznie.</p>
<h3><strong>6. Wszystkie obrazy i linki mają opis!</strong></h3>
<p>Każdy obraz ma wymagany atrybut alt=&#8221;" (dla linków jest to title=&#8221;"), który zawiera opis obrazka. Po co? Wykorzystywany jest przeglądarki w momencie, gdy obraz nie zostanie prawidłowo załadowany, lub jako alternatywa w przypadku przeglądarek tekstowym. Minimalny prawidłowy kod dla umieszczenia obrazka:</p>
<p>[html]<img src="image.jpg" alt="my image" />[/html]</p>
<h3><strong> 7. Elementy liniowe w elementach blokowych.</strong></h3>
<p>Jest kilka elementów, które stanowią ciało dla treści strony (dla contentu): h1 (nagłówki), p (paragrafy, akapity), blockquote oraz hr. Te elementy mogą występować bezpośrednio w body, resztę tagów (z wyjątkami) należy umieścić w owych znacznikach. Prawidłowym zagnieżdżeniem tekstu jest:</p>
<p>[html]<body>
<p>Text in a page</p>
<p></body>[/html]</p>
<p>ale niedopuszczalny jest taki sposób:</p>
<p>[html]<body>Text in a page</body>[/html]</p>
<h3><strong>8. Poprawny amperstand w tekście </strong></h3>
<p>Niewątpliwie częstym błędem programistów jest błędne stosowanie amperstandów w treści strony. Zamiast &amp; należy użyć znaku specialnego &amp;. Poniżej znajduje się błęda interpraetacja:</p>
<p>[html]<a href="index.php?page=1&#038;state=ready&#038;login=passive" title="Next step">Next</a>[/html]</p>
<p>czas na przeróbkę:</p>
<p>[html]<a href="index.php?page=1&amp;state=ready&amp;login=passive" title="Next step">Next</a>[/html]</p>
<h3><strong>9. Blokowe skryptowanie kodu.</strong></h3>
<p>Nauczeni jestesmy uzywac komentarzy w JavaScript oraz CSS w taki sposób: <!-- ... //-->. Jest to sposób przestarzały, najlepiej wykorzystać ponyższy przykład:</p>
<p>[html]<br />
<style type="text/css">
< ![CDATA[
stylesheet code went here
]]&gt;
</style>
<p><script type="text/javascript">
< ![CDATA[
scripting went here
]]&gt;
</script>[/html]</p>
<h3><strong>10. Pozbywamy się starych sposobów </strong></h3>
<p>Jest kilka przestarzałych elementów pochodzących jeszcze za czasów HTML, poniżej wypunktuję które elementy zastąpić prawidłowymi:</p>
<ul>
<li><code>&lt;script <strong>language="javascript"</strong>&gt; zamienić na </code><code>&lt;script <strong>type="text/javascript"</strong>&gt;</code></li>
<li><code>&lt;body <strong>topmargin="0" marginwidth="0" marginheight="0" leftmargin="0"</strong>&gt;</code> zamienić na styl CSS: <code>body { margin: 0px; padding: 0px; }</code></li>
<li><code>&lt;img src="picture.jpg" <strong>border="0"</strong> width="10" height="10" alt="Picture" /&gt;</code> (brak elementu border) zmienic na <code>&lt;img src="picture.jpg" width="10" height="10" alt="Picture" /&gt;</code> i w stylu dodać <code>img { border: 0px; }</code></li>
<li><code>&lt;img src="picture.jpg" <strong>hspace="5"</strong> width="10" height="10" alt="Picture" /&gt;</code>, brak elementu HSPACE i WSPACE, zastąpić w css: <code>img { margin-left: 5px; margin-right: 5px; }</code></li>
<li>Wyrównywanie danych:  <code>&lt;p align="right"</code>&gt; lub <code>&lt;img align="left" … /&gt;</code> jest błędne, należy w CSS napisac linie (przykładowo): <code>.textright { text-align: right; }</code> <code>.floatleft { float: left; }</code></li>
<li><code>&lt;form name="loginform"&gt;</code> formularz nie ma atrybutu name, należy zastąpić na unikatową nazwę elementu id=&#8221;".</li>
<li>Brak atrybutów width, height, border, cellpadding, bordercolor, celpadding. Należy zastąpić atrybutami w stylu: width, height, border, padding, corder-color.</li>
<li>Brak elementu &lt;font&gt; i atrybutu color=&#8221;", należy zastąpić &lt;span style=&#8221;color: red&#8221;&gt; &#8230; &lt;/span&gt;</li>
</ul>
<p><a href="http://www.pixelmill.com/(o79907lyevsfi5557tvgl1d8)/support/support_article.aspx?sid=qlejfyeua0vdvs0ga9y0qumw&amp;ParentListID=al1095&amp;articleid=kb101700">Częściowe tłumaczenie artykułu</a></p>
]]></content:encoded>
			<wfw:commentRss>http://athlan.pl/10-przykazan-xhtml/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
