<?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>Tomasz Marszał Blog &#187; css</title>
	<atom:link href="http://bymarszal.pl/blog/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://bymarszal.pl/blog</link>
	<description>WebDevelopment. Informatyka. Ciekawe projekty.</description>
	<lastBuildDate>Fri, 16 Sep 2011 19:25:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linki na stronach</title>
		<link>http://bymarszal.pl/blog/2010/04/02/linki-na-stronach/</link>
		<comments>http://bymarszal.pl/blog/2010/04/02/linki-na-stronach/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 19:21:30 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
				<category><![CDATA[informatyka]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://bymarszal.pl/blog/?p=518</guid>
		<description><![CDATA[<a href="http://bymarszal.pl/blog/2010/04/02/linki-na-stronach/"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/04/link.png" alt="" title="link" width="165" height="59" class="alignleft size-full wp-image-581" /></a>Co zrobić, aby linki na stronach były widoczne i, przede wszystkim, pomocne dla użytkownika.

Już na samym początku można wyróżnić dwa rodzaje linków: wewnętrzne i zewnętrzne. Wewnętrzne to najczęściej nagłówek, menu, stopka, czyli elementy najczęściej identyczne na wszystkich podstronach, do których użytkownik może w każdej chwili się odwołać. Linki zewnętrzne to z kolei te, prowadzące użytkownika poza stronę, na której się znajduje. Najczęściej występują one w zasadniczej treści strony.]]></description>
			<content:encoded><![CDATA[<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/04/link.png"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/04/link.png" alt="" title="link" width="165" height="59" class="alignleft size-full wp-image-581" /></a>Co zrobić, aby linki na stronach były widoczne i, przede wszystkim, pomocne dla użytkownika.</p>
<p>Już na samym początku można wyróżnić dwa rodzaje linków: wewnętrzne i zewnętrzne. Wewnętrzne to najczęściej nagłówek, menu, stopka, czyli elementy najczęściej identyczne na wszystkich podstronach, do których użytkownik może w każdej chwili się odwołać. Linki zewnętrzne to z kolei te, prowadzące użytkownika poza stronę, na której się znajduje. Najczęściej występują one w zasadniczej treści strony.</p>
<h2>Wygląd linków</h2>
<p>Ważne jest, aby linki różniły się od otaczającego je tekstu. Użytkownik powinien wiedzieć, że w tym miejscu znajduje się link i może w niego kliknąć. Powszechnie przyjętą metodą oznaczania linków jest używanie podkreślonego tekstu. W rzadkich przypadkach używa się linków pisanych pogrubioną czcionką.</p>
<p>Często stosowane są pseudoklasy CSS, aby oznaczyć linki znajdujące się w trakcie interakcji z użytkownikiem. Odpowiednio można oznaczyć linki po najechaniu na nie kursorem (:hover), kliknięciu (:active) i odwiedzione już wcześniej (:visited). Najczęściej przyjmowanymi zmianami wyglądu linka w odpowiedzi na którąś z akcji jest zmiana koloru czcionki i ewentualnie usunięcie podkreślenia (w pseudoklasach :hover lub :active).</p>
<h2>Co się stanie?</h2>
<p>Ważną rzeczą jest poinformowanie użytkownika o tym, co stanie się po kliknięciu przez niego w dany link. Oczywiście, nie chodzi o dodanie do każdego linka opisu &#8220;jeśli tu klikniesz, zostaniesz przeniesiony na stronę&#8230;&#8221;, ale o odpowiednie opisanie treści, do której dany link prowadzi. Często stosowaną praktyką jest umieszczenie na stronie odnośnika w taki sposób:</p>
<blockquote><p>Kliknij <a href="http://www.lolcats.com/">tutaj</a>, aby przejść na stronę z kotkami.
</p></blockquote>
<p>Przez co użytkownik chcący szybko znaleźć informację, gdzie prowadzi dany link, musi przeczytać całe zdanie. Dużo lepszym sposobem jest zrobienie tego w ten sposób:</p>
<blockquote><p><a href="http://www.lolcats.com/">Strona z kotkami</a></p></blockquote>
<p>Użytkownik od razu wie, co go czeka :)</p>
<h2>Tytuły</h2>
<p>W wielu dokumentach dotyczących użyteczności w sieci, jest mowa o używaniu atrybutu title do opisywania linków na stronie. Moim zdaniem jest to przydatne, jeżeli treść linku, z powodu kontekstu w jakim jest umieszczona, nie może powiedzieć użytkownikowi zbyt wiele o samej stronie za odnośnikiem. Na przykład, kiedy powołujemy się w tekście na jakieś źródło:</p>
<blockquote><p><a title="Wielbłąd a sprawa polska" href="http://www.zrodla.pl">Źródła</a> mówią, że udział zwierząt parzystokopytnych w tej sprawie jest marginalny.</p></blockquote>
<p>Ważną rzeczą jest to, że podany w atrybucie title tekst pojawia się użytkownikowi po najechaniu kursorem na link, a także jest odczytywany przez przeglądarki głosowe, używane przez użytkowników niewidomych.</p>
<p>Jednak użycie tego atrybutu nie zawsze jest korzystne. Kiedy na przykład treść odnośnika mówi nam wszystko i nie mamy pomysłu dodania żadnego nowego opisu, nie ma sensu powielać treści tylko po to, aby mieć atrybut title.</p>
<h2>Ikony</h2>
<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/04/external_link.png"><img class="alignleft size-full wp-image-568" title="external_link" src="http://bymarszal.pl/blog/wp-content/uploads/2010/04/external_link.png" alt="" width="131" height="39" /></a>Kolejną rzeczą ułatwiającą użytkownikowi zrozumienie linku są ikony. Na przykład widoczne na screenie po lewej stronie, informują w systemie DokuWiki o linku zewnętrznym. Można ich również użyć do oznaczenia linków prowadzących do określonych typów plików np. zip, odt, doc, pdf. Stworzenie takich linków jest bardzo proste przy użyciu CSS3 &#8211; na przykład dla dokumentów pdf:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">a<span class="br0">&#91;</span>href$=<span class="st0">&quot;.pdf&quot;</span><span class="br0">&#93;</span> <span class="br0">&#123;</span> <span class="kw1">background</span>: <span class="kw2">url</span><span class="br0">&#40;</span><span class="re4">pdf<span class="re1">.png</span></span><span class="br0">&#41;</span> <span class="kw2">no-repeat</span> <span class="kw1">left</span> <span class="kw2">center</span>; <span class="kw1">padding-left</span>: <span class="re3">20px</span>; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Nawiasy kwadratowe [] oznaczają, że wewnątrz nich znajduje się warunek odnoszący się do atrybutów danego tagu, $= oznacza, że wartość danego atrybutu ma się kończyć podanym po nim ciągiem znaków.</p>
<p>Z kolei linki zewnętrzne możemy oznaczyć w taki sposób:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">a<span class="br0">&#91;</span>href^=<span class="st0">&quot;http://&quot;</span><span class="br0">&#93;</span> <span class="br0">&#123;</span> <span class="kw1">background</span>: <span class="kw2">url</span><span class="br0">&#40;</span><span class="re4">external<span class="re1">.png</span></span><span class="br0">&#41;</span> <span class="kw2">no-repeat</span> <span class="kw1">left</span> <span class="kw2">center</span>; <span class="kw1">padding-left</span>: <span class="re3">20px</span>; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Tutaj ^= działa podobnie, jak $= w poprzednim przykładzie i oznacza, że wartość atrybutu ma się zaczynać podanym ciągiem znaków.</p>
<h2>Otwieranie linków zewnętrznych</h2>
<p>Istnieją tutaj dwie szkoły. Pierwsza z nich, nakierowana na użytkowników mniej biegłych w obsłudze komputera, mówi że linki zewnętrzne powinny być otwierane w nowym oknie (atrybut target=&#8221;blank&#8221;), tak aby użytkownik nie był zaskoczony trafiając nagle na zupełnie inną stronę niż był przed chwilą. Druga szkoła opowiada się za otwieraniem wszystkich linków w ten sam sposób, ponieważ otwieranie ich domyślnie w nowym oknie blokuje możliwość otwarcia ich w tym samym oknie, co zawęża użytkownikowi możliwość wyboru.</p>
<p>Wybór pomiędzy jedną z dwóch szkół zależy tutaj od tego, czego oczekują nasi użytkownicy. Powinniśmy przeanalizować ich sposób korzystania z komputera (chociażby przewidywany) i dostosować do niego zachowanie strony.</p>
<h2>Linki wewnętrzne</h2>
<p>Jeśli znajdują się one wewnątrz treści strony, tak jak większość linków zewnętrznych, to stosują się do nich te same zasady. Szczególnym rodzajem linków wewnętrznych, który wyłamuje się większości reguł, są linki znajdujące się w nagłówku, menu i stopce strony. Ich wygląd jest ściśle uzależniony od grafiki strony. Bardzo często same w sobie są one specjalnie zaprojektowanymi elementami graficznymi strony. Z tego powodu nie jest przy nich konieczne podkreślenie, ani inne elementy wyróżniające je spośród tekstu strony. Regułą, od której nie ma wyjątków, jest aby użytkownik wiedział, że są to linki i że może z nich skorzystać (inaczej stają się tylko tłem, bez wpływu na interakcję użytkownika ze stroną).</p>
<p>Często spotykaną w menu wersją pośrednią pomiędzy w pełni rysowanymi linkami, a linkami tekstowymi, są linki tekstowe z ikonami opisującymi w sposób symboliczny, gdzie one prowadzą. Może być to na przykład dom przy linku do strony głównej lub ikona telefonu przy linku do strony z informacjami kontaktowymi.</p>
<p>Przykłady takich rozwiązań:<br />
<a href="http://bymarszal.pl/blog/wp-content/uploads/2010/04/menu1.png"><img class="aligncenter size-full wp-image-573" title="menu1" src="http://bymarszal.pl/blog/wp-content/uploads/2010/04/menu1.png" alt="" width="393" height="42" /></a><br />
<a href="http://bymarszal.pl/blog/wp-content/uploads/2010/04/menu2.png"><img class="aligncenter size-full wp-image-574" title="menu2" src="http://bymarszal.pl/blog/wp-content/uploads/2010/04/menu2.png" alt="" width="476" height="65" /></a><br />
<a href="http://bymarszal.pl/blog/wp-content/uploads/2010/04/menu4.png"><img class="aligncenter size-full wp-image-576" title="menu4" src="http://bymarszal.pl/blog/wp-content/uploads/2010/04/menu4.png" alt="" width="544" height="201" /></a></p>
<h2>O czym warto pamiętać</h2>
<p>Przede wszystkim linki na stronie, nieważne czy mówimy o linkach wewnętrznych czy zewnętrznych, powinny być dla użytkowników pomocą w nawigacji. Użytkownik nie powinien zastanawiać się, co robi dany link, powinien wiedzieć to już po pierwszym rzucie oka.</p>
]]></content:encoded>
			<wfw:commentRss>http://bymarszal.pl/blog/2010/04/02/linki-na-stronach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Znikający kursor za pomocą CSS</title>
		<link>http://bymarszal.pl/blog/2009/07/20/znikajacy-kursor-za-pomoca-css/</link>
		<comments>http://bymarszal.pl/blog/2009/07/20/znikajacy-kursor-za-pomoca-css/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 14:43:11 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
				<category><![CDATA[informatyka]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://wp.bymarszal.pl/?p=222</guid>
		<description><![CDATA[<a href="http://bymarszal.pl/blog/2009/07/20/znikajacy-kursor-za-pomoca-css/"><img src="http://bymarszal.pl/blog/wp-content/uploads/2009/07/cursor.png" alt="cursor" title="cursor" width="104" height="103" class="alignleft size-full wp-image-227" /></a><p>Dzisiaj przedstawiam sposób na ukrycie kursora na naszej stronie za pomocą CSS.</p>

<p>Specyfikacja CSS2 podaje dla własności cursor następujące możliwe wartości (po najechaniu na wartość, pojawi się przypisany jej w Twojej przeglądarce kursor):
	<ul>
		<li>URL &#8212; oddzielona przecinkami lista URL-i do plików z kursorami, najlepiej zakończona którąś z poniższych wartości</li>
		<li>auto &#8212; domyślna wartość &#8212; przeglądarka sama ustawia kursor</li>
</ul></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2009/07/cursor.png"><img src="http://bymarszal.pl/blog/wp-content/uploads/2009/07/cursor.png" alt="cursor" title="cursor" width="104" height="103" class="alignleft size-full wp-image-227" /></a>
<p>Dzisiaj przedstawiam sposób na ukrycie kursora na naszej stronie za pomocą CSS.</p>
<p>Specyfikacja CSS2 podaje dla własności cursor następujące możliwe wartości (po najechaniu na wartość, pojawi się przypisany jej w Twojej przeglądarce kursor):</p>
<ul>
<li>URL &mdash; oddzielona przecinkami lista URL-i do plików z kursorami, najlepiej zakończona którąś z poniższych wartości</li>
<li>auto &mdash; domyślna wartość &mdash; przeglądarka sama ustawia kursor</li>
<li><span style="cursor:crosshair;">crosshair</span></li>
<li><span style="cursor:default;">default</span></li>
<li><span style="cursor:e-resize;">e-resize</span></li>
<li><span style="cursor:help;">help</span></li>
<li><span style="cursor:move;">move</span></li>
<li><span style="cursor:n-resize;">n-resize</span></li>
<li><span style="cursor:ne-resize;">ne-resize</span></li>
<li><span style="cursor:nw-resize;">nw-resize</span></li>
<li><span style="cursor:pointer;">pointer</span></li>
<li><span style="cursor:progress;">progress</span></li>
<li><span style="cursor:s-resize;">s-resize</span></li>
<li><span style="cursor:se-resize;">se-resize</span></li>
<li><span style="cursor:sw-resize;">sw-resize</span></li>
<li><span style="cursor:text;">text</span></li>
<li><span style="cursor:w-resize;">w-resize</span></li>
<li><span style="cursor:wait;">wait</span></li>
<li><span style="cursor:inherit;">inherit</span> &mdash; wygląd dziedziczony po elemencie nadrzędnym</li>
</ul>
<p>Niestety, nie ma tu interesującego nas parametru braku kursora.</p>
<p>W propozycjach do specyfikacji CSS3 dodano kolejnych kilka kursorów:</p>
<ul>
<li><span style="cursor:alias;">alias</span></li>
<li><span style="cursor:all-scroll;">all-scroll</span></li>
<li><span style="cursor:cell;">cell</span></li>
<li><span style="cursor:copy;">copy</span></li>
<li><span style="cursor:context-menu;">context-menu</span></li>
<li><span style="cursor:no-drop;">no-drop</span></li>
<li><span style="cursor:none;">none</span></li>
<li><span style="cursor:not-allowed;">not-allowed</span></li>
<li><span style="cursor:nwse-resize;">nwse-resize</span></li>
<li><span style="cursor:col-resize;">col-resize</span></li>
<li><span style="cursor:row-resize;">row-resize</span></li>
<li><span style="cursor:vertical-text;">vertical-text</span></li>
</ul>
<p>Jak widać, tu już występuje interesujący nas parametr <i>none</i>. Problem w tym, że z przeglądarek, na których przeprowadziłem testy (Internet Explorer 6, 7 i 8, Chrome, Safari 4, Opera 9.64, Firefox 3.0.11), tylko FF obsługuje tę opcję. Obejściem tego problemu jest wykorzystanie specjalnie stworzonego pliku kursora <a href='http://bymarszal.pl/blog/wp-content/uploads/2009/07/blank.cur'>blank.cur</a> będącego jednopikselowym, przeźroczystym plikiem. Aby uzyskać niewidoczny kursor w jak największej liczbie przeglądarek, używamy w CSS stylu:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">element</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">cursor</span>: <span class="kw2">url</span><span class="br0">&#40;</span><span class="re4">blank<span class="re1">.cur</span></span><span class="br0">&#41;</span>, <span class="kw2">none</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>Pierwsza wartość pozwoli nam na ustawienie przeźroczystego kursora w przeglądarkach nie obsługujących wartości <i>none</i>, a <i>none</i> schowa kursor w Firefoxie. Rozwiązanie to nie działa, niestety, w Operze (która nie obsługuje żadnej z tych wartości), a tylko częściowo działa w Chromie (zamiast przeźroczystości wyświetlana jest czerń &mdash; z tego względu stworzyłem 1&times;1px obraz kursora, aby jego widoczność w Chromie była jak najmniejsza).</p>
<p>Kiedy (jeżeli) CSS3 wejdzie w życie, wszystkie przeglądarki powinny obsługiwać już atrybut none i będzie on wystarczający do działania.</p>
]]></content:encoded>
			<wfw:commentRss>http://bymarszal.pl/blog/2009/07/20/znikajacy-kursor-za-pomoca-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

