<?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; przeglądarki</title>
	<atom:link href="http://bymarszal.pl/blog/tag/przegladarki/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>Browsers&#8217; issues #2</title>
		<link>http://bymarszal.pl/blog/2010/02/23/browsers-issues-2/</link>
		<comments>http://bymarszal.pl/blog/2010/02/23/browsers-issues-2/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 20:00:14 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
				<category><![CDATA[informatyka]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[przeglądarki]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://bymarszal.pl/blog/?p=509</guid>
		<description><![CDATA[<a href="http://bymarszal.pl/blog/2010/02/13/browsers-issues-2/"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/web-browsers-150x150.jpg" alt="" title="web-browsers" width="150" height="150" class="alignleft size-thumbnail wp-image-533" /></a>W drugim odcinku, zgodnie z zapowiedzią, przygotowałem test porównawczy pozycjonowania kwadratu o określonej szerokości (100px) na środku strony za pomocą trzech metod:
<ul>
	<li>jako tło strony z parametrem background-position:center;</li>
	<li>z wykorzystaniem position:absolute;left:50%;margin-left:-50px;</li>
	<li>z wykorzystaniem margin-left:auto;margin-right:auto;</li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/web-browsers.jpg"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/web-browsers.jpg" alt="" title="web-browsers" width="150" height="150" class="alignleft size-full wp-image-533" /></a>W drugim odcinku, zgodnie z zapowiedzią, przygotowałem test porównawczy pozycjonowania kwadratu o określonej szerokości (100px) na środku strony za pomocą trzech metod:</p>
<ul>
<li>jako tło strony z parametrem background-position:center;</li>
<li>z wykorzystaniem position:absolute;left:50%;margin-left:-50px;</li>
<li>z wykorzystaniem margin-left:auto;margin-right:auto;</li>
</ul>
<p>Podobnie jak w poprzednim odcinku, przygotowałem <a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/test.html">stronę testową</a>. Zgodnie z intuicją wszystkie trzy kwadraty powinny ułożyć się jeden nad drugim i dać jeden prostokąt o wymiarach 100×300px.</p>
<h2>Firefox 3.5, Opera, IE8</h2>
<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/firefox3.5.gif"><img class="alignleft size-full wp-image-520" title="firefox3.5" src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/firefox3.5.gif" alt="" width="120" height="320" /></a>Powyższe trzy przeglądarki wyświetliły wszystko zgodnie z przewidywaniami: kwadraty jeden pod drugim, równo i bez problemów. Miłą niespodzianką było to, że Internet Explorer 8 wyświetlił wszystko poprawnie. W tych trzech przeglądarkach pozycja wyśrodkowanego tła i wyśrodkowanych elementów przekształcana jest do liczby całkowitej jednym sposobem (w FF3.5 przez zaokrąglenie, w Operze i IE8 &#8211; przez obcięcie części ułamkowej).</p>
<h2 style="clear:both;padding:1em;">Firefox 3.0, IE7</h2>
<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/firefox3.0.gif"><img class="alignleft size-full wp-image-522" title="firefox3.0" src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/firefox3.0.gif" alt="" width="120" height="320" /></a>Zaskoczeniem okazał się Firefox 3.0, który wyświetla wyśrodkowane tło przesunięte o 1px w lewo w stosunku do pozostałych kwadratów. Związane jest to z tym, że pozycja tła w jest wyliczana przez obcięcie części ułamkowej, a pozycja elementu na stronie &#8211; przez zaokrąglenie. Oczywiście przesunięcie występuje tylko wtedy, kiedy szerokość okna przeglądarki (bez elementów interfejsu: paska przewijania, brzegów okna) jest liczbą nieparzystą.</p>
<h2 style="clear:both;padding:1em;">Safari, Chrome</h2>
<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/webkit.gif"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/webkit.gif" alt="" title="webkit" width="140" height="380" class="alignleft size-full wp-image-524" /></a>W przeglądarkach na silniku webkit występuje odwrotny problem niż w FF3.0 i IE7 &#8211; pozycja tła tworzona jest przez zaokrąglenie, a pozostałych elementów przez obcięcie, co przy nieparzystej szerokości strony tworzy przesunięcie tła o 1px w prawo.</p>
<h2 style="clear:both;padding:1em;">IE6</h2>
<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/ie61.gif"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/ie61.gif" alt="" title="ie6" width="120" height="310" class="alignleft size-full wp-image-527" /></a>Ta przeglądarka jest, oczywiście, klasą samą w sobie. Dla tła w ogóle nie działa automatyczne wyśrodkowanie przez co nie znalazło się ono na screenie (wyświetlone było w lewym górnym rogu strony testowej), z kolei element wyśrodkowany przez position:absolute został ustawiony przez zaokrąglenie, a przez margin:auto &#8211; przez obcięcie.</p>
<h2 style="clear:both;padding:1em;">Rozwiązanie</h2>
<p>Tutaj, niestety, nie ma optymistycznych wieści. Wprawdzie można mieć nadzieję na nową wersję webkita, która naprawi problem w Safari i Chrome, a także na wyjście z użycia IE6, IE7 i FF3.0, ale trzeba założyć, że nie nastąpi to szybko. Jedynym sensownym rozwiązaniem wydaje się omijanie tego problemu i umieszczanie wyśrodkowanego tła strony tylko wtedy, gdy nie szkodzi nam jednopikselowe przesunięcie w jedną lub drugą stronę, a także wyśrodkowywanie elementów na stronie przy użyciu tylko jednej, wybranej metody.</p>
]]></content:encoded>
			<wfw:commentRss>http://bymarszal.pl/blog/2010/02/23/browsers-issues-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browsers&#8217; Issues #1</title>
		<link>http://bymarszal.pl/blog/2010/02/23/browsers-issues-1/</link>
		<comments>http://bymarszal.pl/blog/2010/02/23/browsers-issues-1/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 23:01:58 +0000</pubDate>
		<dc:creator>Tomek</dc:creator>
				<category><![CDATA[informatyka]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[przeglądarki]]></category>

		<guid isPermaLink="false">http://bymarszal.pl/blog/?p=458</guid>
		<description><![CDATA[<a href="http://bymarszal.pl/blog/2010/02/12/browsers-issues-1/" rel="attachment wp-att-477"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/NoIE-150x150.png" alt="" title="NoIE" width="150" height="150" class="alignleft size-thumbnail wp-image-477" /></a>Tytuł oczywiście dlatego, że po angielsku lepiej brzmi ;) Postanowiłem pisać tu o problemach z przeglądarkami (nie tylko IE, mimo tendencyjnej grafiki ;) ). Nie tylko takimi, o których wszędzie napisano już mnóstwo, ale o takich, które odkryłem sam, a także o tym, jak sobie z tymi problemami radzić.

Na pierwszy ogień pójdzie, już tradycyjnie, Internet Explorer zaczynając od szóstki, a na ósemce kończąc. Dodatkowo przygotowałem test porównawczy pozycjonowania kwadratu o określonej szerokości (100px) na środku strony za pomocą trzech metod:
<ul>
<li>jako tło strony z parametrem background-position:center;</li>
<li>z wykorzystaniem position:absolute;left:50%;margin-left:-50px;</li>
<li>z wykorzystaniem margin-left:auto;margin-right:auto;</li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/NoIE.png"><img class="alignleft size-full wp-image-477" title="NoIE" src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/NoIE.png" alt="" width="180" height="180" /></a>Tytuł oczywiście dlatego, że po angielsku lepiej brzmi ;) Postanowiłem pisać tu o problemach z przeglądarkami (nie tylko IE, mimo tendencyjnej grafiki ;) ). Nie tylko o takich, o których wszędzie napisano już mnóstwo, ale o takich, które odkryłem sam, a także o tym, jak sobie z tymi problemami radzić.</p>
<p>Na pierwszy ogień pójdzie jednak tradycyjnie Internet Explorer zaczynając od szóstki, a na ósemce kończąc, a w kolejnym odcinku pojawi się test porównawczy pozycjonowania kwadratu o określonej szerokości (100px) na środku strony za pomocą trzech metod:</p>
<ul>
<li>jako tło strony z parametrem background-position:center;</li>
<li>z wykorzystaniem position:absolute;left:50%;margin-left:-50px;</li>
<li>z wykorzystaniem margin-left:auto;margin-right:auto;</li>
</ul>
<h2>Nie lubię PNG</h2>
<p>Oczywiście ja bardzo je lubię i czynią one tworzenie stron dużo efektywniejszym. Niestety, nie lubi ich Microsoft i do dziś występują problemy z ich wyświetlaniem we wszystkich Internet Explorerach.<br />
Aby zaprezentować problem, stworzyłem <a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/test2.html">testową białą stronę</a>, na której wyświetliłem kwadrat o rozmiarach 100&times;100px w kolorze #808080 (w założeniu) na cztery sposoby:</p>
<ol>
<li>png w kolorze czarnym (#000000) z 50% przeźroczystością (dodatkowo jego lewy górny róg ustawiłem na pełną przeźroczystość)</li>
<li>png w kolorze #808080 bez przeźroczystości</li>
<li>gif w kolorze #808080</li>
<li>div z ustawionym kolorem tła na #808080</li>
</ol>
<h2>Nowoczesne przeglądarki</h2>
<p>W nowoczesnych przeglądarkach (Firefox, Opera, Safari, Chrome &#8211; na takich testowałem) efekt jest przewidywalny: prostokąt 400&times;100px z pustym kwadratem 50&times;50px w lewym górnym rogu.<br />
<a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/modern.gif"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/modern.gif" alt="" title="modern" width="400" height="100" class="aligncenter size-full wp-image-498" /></a></p>
<h2>Internet Explorer 5 i 6</h2>
<p>Na początek przykład najbardziej drastyczny. Wszystkie próby użycia przeźroczystości w plikach PNG oznaczane są niebieskim cieniem. Dodatkowo wszystkie pliki PNG (nawet te bez przeźroczystości) wyświetlane są odrobinę ciemniejsze niż powinny (w tym przypadku wyświetlany kolor to #757575 zamiast #808080). Z tego, co udało mi się znaleźć, związane jest to z błędem obsługi filtru gamma.<br />
<a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/ie6.gif"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/ie6.gif" alt="" title="ie6" width="415" height="100" class="aligncenter size-full wp-image-504" /></a><br />
Jedynym sposobem na uzyskanie poprawnego wyglądu jest całkowita rezygnacja z PNG i zapisywanie wszystkich grafik w innych formatach.</p>
<h2>Internet Explorer 7 i 8</h2>
<p>Tutaj uczyniono pewien postęp. Nie ma już niebieskiego cienia nad przeźroczystymi obrazami, aczkolwiek kolory dalej są przekłamane ze względu na błędną obsługę filtru gamma (błąd niepoprawiony przez 11 lat i 4 wersje programu!). Pierwszy kwadrat wyświetlony jest w kolorze #7F7F7F, drugi w #757575.<br />
<a href="http://bymarszal.pl/blog/wp-content/uploads/2010/02/ie8.gif"><img src="http://bymarszal.pl/blog/wp-content/uploads/2010/02/ie8.gif" alt="" title="ie8" width="400" height="100" class="aligncenter size-full wp-image-505" /></a><br />
Tu również najlepszym sposobem na poprawny wygląd jest całkowita rezygnacja z PNG. Przy pewnej dozie tolerancji można by przyjąć, że wersja z użytą przeźroczystością nie różni się aż tak bardzo od oczekiwanego rezultatu i stosować PNG do obrazów z przeźroczystościami, a pozostałe formaty do obrazów bez, ale jest to dziwny kompromis, skoro w innych przeglądarkach nie trzeba go stosować.</p>
<h2>Stop IE!</h2>
<p>Jak widać nawet najnowsza wersja Internet Explorera nie jest wolna od błędów i na wersję 9.0 wypada patrzeć z nadzieją, że dostosuje się ona do standardów stosowanych przez pozostałe przeglądarki, a jednocześnie z obawą, czy przypadkiem nie będzie to kolejna wersja IE do wspierania w zupełnie inny sposób niż poprzednie i zupełnie inaczej niż pozostałe przeglądarki.</p>
<p><b>Jako ciekawostka:</b> <a href="http://googleenterprise.blogspot.com/2010/01/modern-browsers-for-modern-applications.html">od pierwszego marca Google przestaje wspierać IE6 w swoich aplikacjach</a>.</p>
<p>A jako optymistyczny akcent <a href="http://ranking.pl/pl/ranking/web-browsers.html">najnowsze statystyki przeglądarek w polskim internecie</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bymarszal.pl/blog/2010/02/23/browsers-issues-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

