<?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>Krzysztof Zawadzki - blog &#187; css</title>
	<atom:link href="http://blog.krzysztofzawadzki.net/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.krzysztofzawadzki.net</link>
	<description>grafika, xhtml, css, js, php, asp</description>
	<lastBuildDate>Tue, 03 Nov 2009 10:42:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>CSS cz. 3, błąd marginesu IE6, tekst na grafikę</title>
		<link>http://blog.krzysztofzawadzki.net/2009/09/17/css-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike/</link>
		<comments>http://blog.krzysztofzawadzki.net/2009/09/17/css-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 11:16:43 +0000</pubDate>
		<dc:creator>Krzysztof Zawadzki</dc:creator>
				<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://blog.krzysztofzawadzki.net/?p=52</guid>
		<description><![CDATA[CSS Dwie istotne kwestie często pojawiające się przy kodowaniu stron to błąd IE6 dotyczący elementu z float i marginesem w kierunku float&#8217;a oraz technika zamiany tekstu (najczęściej tytułów h) na grafikę. Opiszę je pokrótce oraz zaproponuje rozwiązania, które stosuje w codziennej pracy. Powiększony margines (ang. IE5/6 Doubled Float-Margin Bug) Chyba wszyscy zgodzą się ze mną, [...]]]></description>
			<content:encoded><![CDATA[<img class="alignleft size-full wp-image-68" title="css" src="http://blog.krzysztofzawadzki.net/wp-content/uploads/2009/09/css.jpg" alt="css" width="208" height="142" />
<h3>CSS</h3>
<p>Dwie istotne kwestie często pojawiające się przy kodowaniu stron to błąd IE6 dotyczący elementu z float i marginesem w kierunku float&#8217;a oraz technika zamiany tekstu (najczęściej tytułów h) na grafikę. Opiszę je pokrótce oraz zaproponuje rozwiązania, które stosuje w codziennej pracy.</p><span id="more-52"></span>
<h3>Powiększony margines (<em>ang. IE5/6 Doubled Float-Margin Bug</em>)</h3>
Chyba wszyscy zgodzą się ze mną, że IE6 mógłby całkowicie odejść do lamusa (ciągle istnieją tzw. <a href="http://en.wikipedia.org/wiki/Legacy_system">legacy systems</a>). Oszczędziłoby to wiele wysiłku włożonego w kodowanie stron. Nic tak nie utrudnia życia jak brak jednolitych standardów. A tym cechuje się linia przeglądarek ze stajni giganta z Redmond.


Jednym z takich braków jest dziwne zachowanie IE6 (IE7 nie posiada już tego błędu) w przypadku, kiedy element blokowy posiada wartość float w lewo/prawo oraz margines po stronie lewej/prawej (kierunek marginesu i float musi być zgodny). Margines jest &#8222;uwięziony&#8221; pomiędzy krawędzią elementu nadrzędnego oraz float&#8217;em. Przykładowo:


<pre class="brush: css; title: ;">.box {
  float: left;
  width: 100px;
  height: 100px;
  margin: 5px 0 5px 100px;  /*Ta wartość nadaje lewy margines 100px */
  }
</pre>

Przeglądarka zgodna z ogólnie przyjętymi standardami wyświetliła by element .box z lewym marginesem 100px. Nie wiedzieć czemu IE6 wyświetla margines 200px. Co ciekawe kolejne elementy (po pierwszym wywołaniu elementu .box) zachowują się normalnie.

Rozwiązanie problemu jest bardzo proste. Wystarczy dodać display: inline; do elementu .box i to wszystko! Czyli:

<pre class="brush: css; title: ;">.box {
  float: left;
  width: 100px;
  height: 100px;
  margin: 5px 0 5px 100px;  /*Ta wartość nadaje lewy margines 100px */
display: inline;
  }
</pre>

Warto w tym miejscu wspomnieć, że elementy z float automatycznie stają się elementami blokowymi, bez względu na to jakim rodzajem były wcześniej. Oznacza to, że display: inline; jest niemalże tożsame z display: block;. Można zatem zastosować display: inline; w każdym elemencie z float, bez obaw o efekty uboczne.
<h3>Zamiana tekstu na grafikę (<em>ang. image replacement technique</em>)</h3>
Najczęściej wykorzystuję tę metodę, aby zamienić tytuł h1 (element tekstowy) na logo firmy (element graficzny). Korzyści wynikające z takiego zabiegu to m.in. wyższa użyteczność naszego serwisu oraz optymizacja względem wyszukiwania (SEO)

<a href="http://css-tricks.com/css-image-replacement/">Chris Coyer</a> na swojej stronie css-tricks.com wymienia, komentuje i testuje aż 9 różnych metod podmieniania tekstu na grafikę. Ja ograniczę się do jednej metody, którą stosuję, zainteresowanych odsyłam do strony Chrisa.

Mój patent na podmieniania tekstu grafiką to, przykładowo:

<pre class="brush: xml; title: ;">&lt;!--HTML--&gt;
&lt;h1 id=&quot;logo&quot;&gt;&lt;a href=&quot;index.html&quot;&gt;Nazwa firmy&lt;/a&gt;&lt;/h1&gt;
</pre>

<pre class="brush: css; title: ;">/*CSS*/
h1#logo a {
display : block;
width : 100px;
height : 100px;
background : url(logo.gif) no-repeat;
text-indent : -999999px;
overflow:hidden;
outline:none;
}
</pre>

Wyjaśnię pokrótce wykorzystane czynności. W pierwszym bloku kodu (html) tworzę tytuł h1 z odnośnikiem &#8222;Nazwa firmy&#8221; linkującym do pliku &#8222;index.html&#8221;. Jeśli chodzi o styl, skomentuje trzy ostatnie linie kodu. Pierwsza sprawia, że tekst &#8222;Nazwa firmy&#8221; znika z podstawionego tła. Druga i trzecia eliminują kropkowane obramowanie tła (outline:none;), ciągnące się do końca lewej krawędzi ekranu (overflow:hidden;).


Podziel się wpisem:


	<a rel="nofollow"  target="_blank" href="http://www.wykop.pl/dodaj?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F" title="Wykop"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/wykop.png" title="Wykop" alt="Wykop" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F&amp;title=CSS%20cz.%203%2C%20b%C5%82%C4%85d%20marginesu%20IE6%2C%20tekst%20na%20grafik%C4%99&amp;notes=%0D%0ACSS%0D%0ADwie%20istotne%20kwestie%20cz%C4%99sto%20pojawiaj%C4%85ce%20si%C4%99%20przy%20kodowaniu%20stron%20to%20b%C5%82%C4%85d%20IE6%20dotycz%C4%85cy%20elementu%20z%20float%20i%20marginesem%20w%20kierunku%20float%27a%20oraz%20technika%20zamiany%20tekstu%20%28najcz%C4%99%C5%9Bciej%20tytu%C5%82%C3%B3w%20h%29%20na%20grafik%C4%99.%20Opisz%C4%99%20je%20pokr%C3%B3tce%20oraz%20zapro" title="del.icio.us"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F&amp;t=CSS%20cz.%203%2C%20b%C5%82%C4%85d%20marginesu%20IE6%2C%20tekst%20na%20grafik%C4%99" title="Facebook"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.gwar.pl/DodajGwar.html?u=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F" title="Gwar"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/gwar.png" title="Gwar" alt="Gwar" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blog.krzysztofzawadzki.net/feed/" title="RSS"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F&amp;title=CSS%20cz.%203%2C%20b%C5%82%C4%85d%20marginesu%20IE6%2C%20tekst%20na%20grafik%C4%99&amp;annotation=%0D%0ACSS%0D%0ADwie%20istotne%20kwestie%20cz%C4%99sto%20pojawiaj%C4%85ce%20si%C4%99%20przy%20kodowaniu%20stron%20to%20b%C5%82%C4%85d%20IE6%20dotycz%C4%85cy%20elementu%20z%20float%20i%20marginesem%20w%20kierunku%20float%27a%20oraz%20technika%20zamiany%20tekstu%20%28najcz%C4%99%C5%9Bciej%20tytu%C5%82%C3%B3w%20h%29%20na%20grafik%C4%99.%20Opisz%C4%99%20je%20pokr%C3%B3tce%20oraz%20zapro" title="Google Bookmarks"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F&amp;title=CSS%20cz.%203%2C%20b%C5%82%C4%85d%20marginesu%20IE6%2C%20tekst%20na%20grafik%C4%99" title="StumbleUpon"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F&amp;title=CSS%20cz.%203%2C%20b%C5%82%C4%85d%20marginesu%20IE6%2C%20tekst%20na%20grafik%C4%99&amp;bodytext=%0D%0ACSS%0D%0ADwie%20istotne%20kwestie%20cz%C4%99sto%20pojawiaj%C4%85ce%20si%C4%99%20przy%20kodowaniu%20stron%20to%20b%C5%82%C4%85d%20IE6%20dotycz%C4%85cy%20elementu%20z%20float%20i%20marginesem%20w%20kierunku%20float%27a%20oraz%20technika%20zamiany%20tekstu%20%28najcz%C4%99%C5%9Bciej%20tytu%C5%82%C3%B3w%20h%29%20na%20grafik%C4%99.%20Opisz%C4%99%20je%20pokr%C3%B3tce%20oraz%20zapro" title="Digg"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F&amp;partner=sociable" title="Print"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F&amp;partner=sociable" title="PDF"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=CSS%20cz.%203%2C%20b%C5%82%C4%85d%20marginesu%20IE6%2C%20tekst%20na%20grafik%C4%99&amp;body=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F17%2Fcss-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike%2F" title="email"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://blog.krzysztofzawadzki.net/2009/09/17/css-powtorka-cz-3-blad-marginesu-ie6-tekst-na-grafike/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS cz. 2, reset</title>
		<link>http://blog.krzysztofzawadzki.net/2009/09/10/css-powtorka-cz-2-restet/</link>
		<comments>http://blog.krzysztofzawadzki.net/2009/09/10/css-powtorka-cz-2-restet/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 22:49:12 +0000</pubDate>
		<dc:creator>Krzysztof Zawadzki</dc:creator>
				<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://blog.krzysztofzawadzki.net/?p=39</guid>
		<description><![CDATA[Styl domyślny Każda przeglądarka internetowa ma fabrycznie zdefiniowany, domyślny styl css (browser default/built-in stylesheet). Kod xhtml, który nie posiada przypisanego stylu jest renderowany z wykorzystaniem stylu domyślnego. Oczywiście taki stan rzeczy przewiduje specyfikacja css (stąd nazwa kaskadowy). Jest to pozytywna cecha, gdyż dokument xhtml (nie zawierający stylu) wyświetla się nam w wersji minimalistycznej i użytecznej, [...]]]></description>
			<content:encoded><![CDATA[<img src="http://blog.krzysztofzawadzki.net/wp-content/uploads/2009/09/reset.jpg" alt="reset" title="reset" width="208" height="142" class="alignleft size-full wp-image-71" />
<h3>Styl domyślny</h3>
<p>Każda przeglądarka internetowa ma fabrycznie zdefiniowany, domyślny styl css (<em>browser default/built-in stylesheet</em>). Kod xhtml, który nie posiada przypisanego stylu jest renderowany z wykorzystaniem stylu domyślnego. Oczywiście taki stan rzeczy przewiduje specyfikacja css (stąd nazwa kaskadowy). Jest to pozytywna cecha, gdyż dokument xhtml (nie zawierający stylu) wyświetla się nam w wersji minimalistycznej i użytecznej, a nie jako jeden długi ciąg znaków.</p>
<span id="more-39"></span>
<p>Niestety w wielu przypadkach &#8222;defaultowe&#8221; style przeglądarek znacząco różnią się od siebie (szczególnie jeśli chodzi o elementy blokowe). Prowadzi to do niejednolitego wyglądu stron w zależności od przeglądarki. Szczególną niechęć webdesignerów w tej kwestii zyskały sobie różne wersje Internet Explorera, ale i na nie znalazł się sposób.</p>

<h3>Metody restartowania stylu</h3>
<p>Jedną z metod zapobiegania różnicom w wyświetlaniu treści jest resetowanie stylu, czyli nadpisanie stylu domyślnego stylem własnym (w kaskadzie styl domyślny jest najniżej w hierarchii). W sieci można znaleźć wiele tzw. resetów. Niektóre z nich są bardzo proste, ale i nie pozbawione wad, inne skomplikowane i tym samym niepotrzebnie rozbudowane. Według mnie ciekawą i wyważoną propozycją jest reset autorstwa  <a href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">Erica Meyera</a> (eksperta css) prezentowany poniżej:</p>

<pre class="brush: css; title: ;">html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: &quot;&quot;;
}
blockquote, q {
	quotes: &quot;&quot; &quot;&quot;;
}
</pre>
<p>
Reset ten oprócz niwelowania różnic elementów blokowych, zmienia też elementy liniowe określając standardowy krój czcionki.
</p>

<h3>Selektor uniwersalny</h3>
<p>
Nie polecam korzystania z selektora uniwersalnego (*) przy resetowaniu. Selektor wybiera wszystkie elementy, blokowe i liniowe, również te, dla których nie ma potrzeby ustawiać np. marginesu. Może się to przekładać na szybkość renderowania strony. W przypadku korzystania z formularzy można spodziewać się efektu &#8222;ścięcia&#8221; niektórych pól. 
</p>
<h3>Własny reset</h3>
<p> 
Warto podczas pracy tworzyć i usprawniać własny reset, który oczywiście może bazować na gotowych rozwiązaniach. 
</p>
<p>Znajomość domyślnych stylów przeglądarek oraz sposobów na ich &#8222;zneutralizowanie&#8221; jest elementem kluczowym w tworzeniu stron działających w różnych przeglądarkach. Reset znacznie ułatwia pracę i może zaoszczędzić godziny spędzone na szukaniu przyczyny niespójności stron przy kodowaniu.</p>



Podziel się wpisem:


	<a rel="nofollow"  target="_blank" href="http://www.wykop.pl/dodaj?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F" title="Wykop"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/wykop.png" title="Wykop" alt="Wykop" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F&amp;title=CSS%20cz.%202%2C%20reset&amp;notes=%0D%0AStyl%20domy%C5%9Blny%0D%0AKa%C5%BCda%20przegl%C4%85darka%20internetowa%20ma%20fabrycznie%20zdefiniowany%2C%20domy%C5%9Blny%20styl%20css%20%28browser%20default%2Fbuilt-in%20stylesheet%29.%20Kod%20xhtml%2C%20kt%C3%B3ry%20nie%20posiada%20przypisanego%20stylu%20jest%20renderowany%20z%20wykorzystaniem%20stylu%20domy%C5%9Blnego.%20Oczywi%C5%9Bcie" title="del.icio.us"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F&amp;t=CSS%20cz.%202%2C%20reset" title="Facebook"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.gwar.pl/DodajGwar.html?u=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F" title="Gwar"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/gwar.png" title="Gwar" alt="Gwar" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blog.krzysztofzawadzki.net/feed/" title="RSS"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F&amp;title=CSS%20cz.%202%2C%20reset&amp;annotation=%0D%0AStyl%20domy%C5%9Blny%0D%0AKa%C5%BCda%20przegl%C4%85darka%20internetowa%20ma%20fabrycznie%20zdefiniowany%2C%20domy%C5%9Blny%20styl%20css%20%28browser%20default%2Fbuilt-in%20stylesheet%29.%20Kod%20xhtml%2C%20kt%C3%B3ry%20nie%20posiada%20przypisanego%20stylu%20jest%20renderowany%20z%20wykorzystaniem%20stylu%20domy%C5%9Blnego.%20Oczywi%C5%9Bcie" title="Google Bookmarks"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F&amp;title=CSS%20cz.%202%2C%20reset" title="StumbleUpon"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F&amp;title=CSS%20cz.%202%2C%20reset&amp;bodytext=%0D%0AStyl%20domy%C5%9Blny%0D%0AKa%C5%BCda%20przegl%C4%85darka%20internetowa%20ma%20fabrycznie%20zdefiniowany%2C%20domy%C5%9Blny%20styl%20css%20%28browser%20default%2Fbuilt-in%20stylesheet%29.%20Kod%20xhtml%2C%20kt%C3%B3ry%20nie%20posiada%20przypisanego%20stylu%20jest%20renderowany%20z%20wykorzystaniem%20stylu%20domy%C5%9Blnego.%20Oczywi%C5%9Bcie" title="Digg"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F&amp;partner=sociable" title="Print"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F&amp;partner=sociable" title="PDF"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=CSS%20cz.%202%2C%20reset&amp;body=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F10%2Fcss-powtorka-cz-2-restet%2F" title="email"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://blog.krzysztofzawadzki.net/2009/09/10/css-powtorka-cz-2-restet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS cz. 1, float</title>
		<link>http://blog.krzysztofzawadzki.net/2009/09/05/css-powtorka-cz-1-float/</link>
		<comments>http://blog.krzysztofzawadzki.net/2009/09/05/css-powtorka-cz-1-float/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 10:57:36 +0000</pubDate>
		<dc:creator>Krzysztof Zawadzki</dc:creator>
				<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://blog.krzysztofzawadzki.net/?p=4</guid>
		<description><![CDATA[W ramach przypomnienia sobie &#8222;trików&#8221; dla css&#8217;a postanowiłem zamieścić na blogu serię wpisów dotyczących tego jakże szerokiego zagadnienia. Tematem pierwszej części jest prawidłowe wykorzystanie znacznika float Float &#8211; podstawowe informacje Float wykorzystywany jest do tworzenia tzw. pływających elementów. Mogą one znajdować się przy lewej lub prawej krawędzi obiektu, w którym się znajdują. Nie można używać [...]]]></description>
			<content:encoded><![CDATA[<img src="http://blog.krzysztofzawadzki.net/wp-content/uploads/2009/09/float.jpg" alt="float" title="float" width="208" height="142" class="alignleft size-full wp-image-77" />
<p>W ramach przypomnienia sobie &#8222;trików&#8221; dla css&#8217;a postanowiłem zamieścić na blogu serię wpisów dotyczących tego jakże szerokiego zagadnienia.</p>

<p>Tematem pierwszej części jest prawidłowe wykorzystanie znacznika <strong>float</strong></p><span id="more-4"></span>
<h3>Float &#8211; podstawowe informacje</h3>
<p>Float wykorzystywany jest do tworzenia tzw. pływających elementów. Mogą one znajdować się przy lewej lub prawej krawędzi obiektu, w którym się znajdują. Nie można używać go do wyśrodkowania elementu w tekście. Do wyśrodkowania służy margin: 0 auto; Float może być wykorzystywany do:</p>
<ul>
<li>Tworzenia opływającego grafikę tekstu</li>
<li>Układania list poziomo</li>
<li>Tworzenia kolumn</li>
<li>Wstawienia inicjału, dużej litery na początku tekstu</li>
</ul>

<p>
Wartości, które przyjmuje:
</p>
<ul>
<li>left</li>
<li>right</li>
<li>none &#8211; wartość domyślna dla wszystkich elementów</li>
</ul>

<h3>Zapobieganie opływaniu</h3>

<p>
Aby spowodować wyświetlenie elementu poniżej obiektu z float należy nadać mu wartość clear. Poniższe przykłady pokazują zachowanie się elementów, mających różną wartość float:
</p>

<p><em>Przykład 1</em></p>
<div style="border:1px solid #fff; width:80px; float:left;margin:5px;padding:5px;">float:left;</div>

<div style="border:2px solid #fff; width:100px;margin:5px;padding:5px;background-color:#444;">float:none;</div>

<div style="border:1px solid #fff; width:80px; clear:left;margin:5px;padding:5px;">clear:left;</div>
<br />
<p><em>Przykład 2</em></p>
<div style="border:1px solid #fff; width:80px; float:left;margin:5px;padding:5px;">float:left;</div>

<div style="border:2px solid #fff; width:100px;margin:5px;padding:5px;float:left;background-color:#444;">float:left;</div>

<div style="border:1px solid #fff; width:80px; clear:left;margin:5px;padding:5px;">clear:left;</div>
<br />
<p>Ciekawe zachowanie można zaobserwować w <em>przykładzie 1</em>. Element z float zostaje wyjęty z normalnego biegu dokumentu. W <em>przykładzie 2</em>, właściwość clear taki bieg ponownie przywołuje.</p>

<p>Clear może przyjmować wartości:</p>
<ul>
<li>left</li>
<li>right</li>
<li>both</li>
<li>none &#8211; wartość domyślna dla wszystkich elementów</li>
</ul>

<p>Element może mieć również obie wartości clear i float, wtedy będzie &#8222;pływał&#8221; poniżej innych floatów</p>

<h3>Obiekt w obiekcie i overflow</h3>
<p>Jeśli element, który zawiera elementy pływające ma właściwość overflow z wartością inną niż visible to zachowuje się tak jakby jego dolna krawędź miała <code>clear:both;</code></p>

<p><em>Przykład 3</em></p>

<div style="border:1px solid #fff; width:220px;margin:5px;padding:5px;overflow:auto;height:auto;">
 overflow:auto;height:auto;
<div style="border:1px solid #fff; width:80px;margin:5px;padding:5px;float:left;">float:left;</div>
<div style="border:1px solid #fff; width:80px;margin:5px;padding:5px;float:left;">float:left;</div>

</div>Jakiś dodatkowy tekst
<br />
<p><em>Przykład 4</em></p>
<div style="border:1px solid #fff; width:220px;margin:5px;padding:5px;float:left;">

<div style="border:1px solid #fff; width:80px;margin:5px;padding:5px;float:left;">float:left;</div>
<div style="border:1px solid #fff; width:80px;margin:5px;padding:5px;float:left;">float:left;</div>
float:left;
</div>Jakiś dodatkowy tekst
<div style="clear:both;">&nbsp;</div>


<p><em>Przykład 5</em></p>
<div style="border:1px solid #fff; width:220px;margin:5px;padding:5px;">
brak
<div style="border:1px solid #fff; width:80px;margin:5px;padding:5px;float:left;">float:left;</div>
<div style="border:1px solid #fff; width:80px;margin:5px;padding:5px;float:left;">float:left;</div>

</div>Jakiś dodatkowy tekst

<br />
<p><em>Przykład 3</em> ilustruje prawidłowe wykorzystanie overflow, tak aby dwa pływające obiekty mieściły się w głównym boksie, a dodatkowy tekst znajdował się pod nim</p>
<p><em>Przykład 4</em> pokazuje, że dodanie float do elementu zawierającego w sobie obiekty z float powoduje zawarcie tych elementów wewnątrz obiektu nadrzędnego. Niestety dodatkowy tekst będzie opływać tenże obiekt z prawej strony. Można ten efekt zniwelować poprzez dodanie przed dodatkowym tekstem elementu: <code><div class="clearing"> &nbsp; </div></code> i właściwość: <code>div.clearing {clear: left; line-height:0; height:0;}</code>. Spowoduje to pojawienie się niewidocznego elementu o zerowej wysokości, który wprowadzi kolejny obiekt (czyli np. dodatkowy tekst) do nowej linii.
</p>

<p><em>Przykład 5</em> to sytuacja, w której elementy &#8222;pływające&#8221; nie zawierają się w elemencie nadrzędnym, dodatkowy tekst opływa elementy wewnętrzne.</p>

<p>Oczywiście nie są to wszystkie metody rozwiązywania problemu z opływaniem. Ciekawym, nowoczensym i wartym uwagi jest sposób z wykorzystaniem właściwości :after. Metoda jest szerzej opisana w linku<a href="http://www.complexspiral.com/publications/containing-floats/"> numer 1</a>.</p>

<h3>Linki</h3>
<p>Dodatkowe informacje o elementach pływających można znaleźć pod następującymi adresami: 
1. <a href="http://www.complexspiral.com/publications/containing-floats/">http://www.complexspiral.com/publications/containing-floats/</a>
2. <a href="http://www.positioniseverything.net/easyclearing.html">http://www.positioniseverything.net/easyclearing.html</a>
</p>


Podziel się wpisem:


	<a rel="nofollow"  target="_blank" href="http://www.wykop.pl/dodaj?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F" title="Wykop"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/wykop.png" title="Wykop" alt="Wykop" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F&amp;title=CSS%20cz.%201%2C%20float&amp;notes=%0D%0AW%20ramach%20przypomnienia%20sobie%20%22trik%C3%B3w%22%20dla%20css%27a%20postanowi%C5%82em%20zamie%C5%9Bci%C4%87%20na%20blogu%20seri%C4%99%20wpis%C3%B3w%20dotycz%C4%85cych%20tego%20jak%C5%BCe%20szerokiego%20zagadnienia.%0D%0A%0D%0ATematem%20pierwszej%20cz%C4%99%C5%9Bci%20jest%20prawid%C5%82owe%20wykorzystanie%20znacznika%20float%0D%0AFloat%20-%20podstawowe%20inf" title="del.icio.us"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F&amp;t=CSS%20cz.%201%2C%20float" title="Facebook"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.gwar.pl/DodajGwar.html?u=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F" title="Gwar"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/gwar.png" title="Gwar" alt="Gwar" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://blog.krzysztofzawadzki.net/feed/" title="RSS"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="javascript:AddToFavorites();" title="Add to favorites"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/addtofavorites.png" title="Add to favorites" alt="Add to favorites" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F&amp;title=CSS%20cz.%201%2C%20float&amp;annotation=%0D%0AW%20ramach%20przypomnienia%20sobie%20%22trik%C3%B3w%22%20dla%20css%27a%20postanowi%C5%82em%20zamie%C5%9Bci%C4%87%20na%20blogu%20seri%C4%99%20wpis%C3%B3w%20dotycz%C4%85cych%20tego%20jak%C5%BCe%20szerokiego%20zagadnienia.%0D%0A%0D%0ATematem%20pierwszej%20cz%C4%99%C5%9Bci%20jest%20prawid%C5%82owe%20wykorzystanie%20znacznika%20float%0D%0AFloat%20-%20podstawowe%20inf" title="Google Bookmarks"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F&amp;title=CSS%20cz.%201%2C%20float" title="StumbleUpon"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F&amp;title=CSS%20cz.%201%2C%20float&amp;bodytext=%0D%0AW%20ramach%20przypomnienia%20sobie%20%22trik%C3%B3w%22%20dla%20css%27a%20postanowi%C5%82em%20zamie%C5%9Bci%C4%87%20na%20blogu%20seri%C4%99%20wpis%C3%B3w%20dotycz%C4%85cych%20tego%20jak%C5%BCe%20szerokiego%20zagadnienia.%0D%0A%0D%0ATematem%20pierwszej%20cz%C4%99%C5%9Bci%20jest%20prawid%C5%82owe%20wykorzystanie%20znacznika%20float%0D%0AFloat%20-%20podstawowe%20inf" title="Digg"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F&amp;partner=sociable" title="Print"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.printfriendly.com/print?url=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F&amp;partner=sociable" title="PDF"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=CSS%20cz.%201%2C%20float&amp;body=http%3A%2F%2Fblog.krzysztofzawadzki.net%2F2009%2F09%2F05%2Fcss-powtorka-cz-1-float%2F" title="email"><img src="http://blog.krzysztofzawadzki.net/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://blog.krzysztofzawadzki.net/2009/09/05/css-powtorka-cz-1-float/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

