- fBecome a fan on Facebook
- tFollow us on Twitter
- cAdd us on Flickr
- aFollow our updates through RSS
- kSubscribe to our newsletter
Aby zdefiniować pozycję elementu, należy wpisać w definicji stylu position: wartość.
Uwaga: pozycjonowanie jest szeroko wykorzystywane w nowoczesnych stronach internetowych do tworzenia layoutów (układów) stron opartych na blokach div, dlatego konieczne jest dobre zrozumienie tego tematu. W Internecie powstało wiele serwisów poświęconych tej tematyce.
Przydatna informacja: według danych gromadzonych systematycznie przez serwis Ranking.pl, w polskim Internecie zdecydowanie dominuje rozdzielczość ekranowa 1024x768 lub wyższa, stanowiąc w połowie 2006 r. ok. 85% objętych statystykami komputerów. To dość istotna informacja dla osób, które przygotowują układy stron z myślą o konkretnych rozdzielczościach. Wprawdzie dobrze skonstruowana strona powinna się gładko wlewać w okno przeglądarki o dowolnej wielkości i rozdzielczości ekranowej, ale w praktyce wielkości te mają nierzadko znaczenie. Dlatego tak duży udział wysokich rozdzielczości jest istotny dla webmastera. Udział ten zresztą dość szybko rośnie w miarę wzrostu liczby dużych ekranów LCD, które systematycznie opanowują rynek.
Pozycjonowanie statyczne (static)
Jest to naturalne pozycjonowanie elementu, wynikające z kolejności wystąpienia w dokumencie HTML, na które nie ma wpływu nawet podanie odległości od innych elementów. Porównaj dwa akapity z pozycjonowaniem static, z których drugi ma dodatkową podaną odległość left:30px. Zauważ, że oba znajdują się w takiej samej odległości od lewego brzegu elementu nadrzędnego, czyli tutaj bloku.
<p style="position:static; ">Treść akapitu</p>
<p style="position:static; left:30px">Treść akapitu z dodatkową odległością</p>
Treść akapitu
Treść akapitu z dodatkową odległością
Pozycjonowanie statyczne służy jedynie do nadpisywania wcześniej podanego pozycjonowania innego niż static.
Interpretacja: Internet Explorer, Firefox, Opera
Pozycjonowanie względne (relative)
Pozycjonowanie względne odnosi się do miejsca wstawienia definicji i wykorzystuje podane odległości. Na przykład akapit mógłby mieć nadane pozycjonowanie:
position:relative; left: 50px; top: 30px
czyli przesunięcie o 50 pikseli w prawo i 30 pikseli w dół w stosunku do naturalnego położenia elementu w dokumencie, które byłoby użyte, gdyby nie definiowano pozycjonowania względnego.
Akapit przesunięty o 50 pikseli w prawo i o 30 pikseli w dół.
Gdybyśmy zastosowali wartość ujemną, np. top: -50px, akapit zostałby przesunięty w górę, a gdy left: -50px, w lewo.
Inne przykłady:
<p style="position: relative; left: 200px; top: 50px; width: 300px">Ten akapit...</p>
Ten akapit ma pozycję względną (relative), jest odsunięty od lewego marginesu o 200 pikseli i o 50 pikseli w dół. Pole akapitu ma 300 pikseli szerokości. W rzeczywistości powinien być wyświetlany zaraz pod podaną wyżej definicją, ale pozycjonowanie spowodowało przesunięcie w prawo i w dół.
<div style="position: relative; left: 200px; width: 300px">Wykaz odsunięty w prawo o 200 pikseli i mający 300 pikseli szerokości</div>
To jest pierwszy punkt wykazu To jest pierwszy punkt wykazu
To jest drugi punkt wykazu To jest drugi punkt wykazu
To jest trzeci punkt wykazu To jest trzeci punkt wykazu
Kod pozycjonowania możemy umieszczać bezpośrednio w znaczniku elementu lub obejmować element znacznikami <span> lub <div> zawierającymi definicję pozycjonowania.
Interpretacja: Internet Explorer, Firefox, Opera
Pozycjonowanie bezwględne (absolute)
Pozycjonowanie absolutne ustala sztywno pozycję elementu w stosunku do strony (w naszym przypadku, w stosunku do bloku, w którym znajduje się cała treść - zdjęcie pieska w lewym górnym rogu bloku pokazuje takie pozycjonowanie, uzyskane dzięki podaniu odpowiednich odległości.).
Przykład - kod wstawia zdjęcie Sufi w lewym górnym rogu bloku z treścią rozdziału.
<div style="position:absolute; left:0%; top:0%">
<img src="/sufi.jpg" width="56" height="51" alt="Sufi w kwiatach">
</div>
Sufi w kwiatach
Analogicznie,
- kod z wartościami left:0%; bottom:0% wstawia zdjęcie w lewym dolnym rogu bloku
- right:0%; top:0% w prawym górnym rogu bloku
- right:0%; bottom:0% w prawym dolnym rogu bloku.
Sufi w kwiatachSufi w kwiatachSufi w kwiatach
Oczywiście w tym przypadku (pozycjonowanie względem całego bloku z treścią rozdziału) kod elementu pozycjonowanego bezwględnie można wstawić w dowolnym miejscu dokumentu, gdyż nie ma to znaczenia. Istotna jest podana w kodzie pozycja elementu.
Ważne: elementy pozycjonowane w sposób "absolutny" są wlewane do zarezerwowanych obszarów w ramach najbliższego pojemnika wyższego szczebla w hierarchii, czyli rodzica, i zajmują tam miejsce bez względu na pozycję innych elementów. Elementy te mogą się nakładać na inne elementy absolutne lub względne, które akurat się tutaj znalazły. Element pozycjonowany absolutnie wypada z normalnego przepływu dokumentu - ustawionych kolejno elementów.
Zastrzeżenie, że pozycjonowanie absolutne odnosi się do nadrzędnego pojemnika, jest bardzo istotne. Pokazane tu zdjęcia umieszczone są w rogach strony wyznaczonej przez blok div, gdyż to on jest nadrzędnym pojemnikiem. Pokażmy przykład, jak pozycjonowana byłaby grafika, gdybyśmy umieścili ją w jeszcze niższym hierarchicznie pojemniku, bloku div niższego szczebla niż strona.
Utwórzmy w tym miejscu (pozycjonowanie względne) blok zdefiniowany w następujący sposób:
<div style="position: relative; width: 400px; height: 150px; border: 1px dotted black;"></div>
Umieśćmy w nim grafikę, pozycjonowaną w następujący sposób:
<img src="/sufi.jpg" width="56" height="51" alt="Sufi w kwiatach" style="position: absolute; left: 20px; top:20px">
oraz akapit spozycjonowany następująco:
<p style="position: absolute; bottom: 10%; right: 10%; border: 1px solid green; width: 200px; padding:10px;">To jest jakiś akapit.</p>
I oto efekt - zwróć uwagę, że grafika i akapit są pozycjonowane w sposób absolutny, ale w stosunku do nadrzędnego bloku div, czyli swojego rodzica, a nie w stosunku do strony, czyli odległego w hierarchii przodka.
Zalecane jest bardzo uważne i ostrożne stosowanie definicji absolutnych, aby nie popsuć widoku strony, zwłaszcza przy zmianach wielkości okna przeglądarki.
Interpretacja: Internet Explorer, Firefox, Opera
Pozycjonowanie ustalone (fixed)
Pozycjonowanie ustalone (fixed) pozwala utrzymywać element w stałej pozycji w okienku przeglądarki, np. nierzadko stosuje się tę technikę do utrzymywania w stałym położeniu elementów nawigacji. Właśnie to widoczne w Firefoksie, Operze i Internet Explorerze 7 okienko "Polskie portale" jest przykładem bloku o pozycjonowaniu fixed. Pomimo przewijania okna przeglądarki, okienko to jest cały czas widoczne. W naszym przypadku nawet nieco przeszkadza :-), ale oczywiście jest tylko ilustracją techniki.
Polecenie jest interpretowane przez Mozillę i Operę i Internet Explorera 7, ale nie przez Internet Explorera 6 lub starszego. W tym ostatnim jest traktowane de facto jako pozycjonowanie absolutne i w trakcie przewijania okna przeglądarki po prostu znika z ekranu. Dopóki udział starego Internet Explorera nie spadnie do odpowiednio niskiego poziomu, stosowanie pozycjonowania tego typu dla elementów nawigacyjnych nie do końca spełnia swoje zadanie.
<div style="position:fixed; top:2em; right:10em; border:dotted 1px; padding:5px; background-color:transparent;">
<p><strong>Polskie portale</strong></p>
<a href="http://www.onet.pl">Onet.pl</a><br>
<a href="http://www.gazeta.pl">Gazeta.pl</a><br>
<a href="http://www.wp.pl">Wirtualna Polska</a><br>
<a href="http://www.interia.pl">Interia.pl</a><br>
</div>
Własność margin określa marginesy elementu. Jest ona również sposobem na ustawienie wszystkich marginesów jednocześnie. Negatywne wartosci są dozwolone.
Wartość początkowa as each of the properties of the shorthand:
margin-bottom: 0
margin-left: 0
margin-right: 0
margin-top: 0
Stosowana do all elements, except elements with table display types other than table-caption, table and inline-table. It also applies to ::first-letter and ::first-line.
Dziedziczona no
Percentages refer to the width of the containing block
Wartość wyliczona as each of the properties of the shorthand:
margin-bottom: the percentage as specified or the absolute length
margin-left: the percentage as specified or the absolute length
margin-right: the percentage as specified or the absolute length
margin-top: the percentage as specified or the absolute length
Animation type a length
Składnia
margin: <length> {1,4} | <percentage> {1,4} | inherit | auto;
Wartości
<length>
przyjmuje konkretną odległość.
<percentage>
procentowa wartość szerokości zawierającego bloku
auto
przeglądarka obliczy i wybierze margines dla określonego elementu
Jeśli podano:
jedną wartosć, zostaje ona przypisana dla wszystkich stro.
dwie wartości, pierwsza odnosi się do: góra i dół, a druga do: prawo i lewo.
trzy wartości, pierwsza odnosi się do góra, druga do: prawo i lewo, a trzecia do: dół.
cztery wartości, kolejno odnoszą się do: góra, prawo, dół, lewo;
Przykłady
.content {
margin: 5%; /* wszystkie strony margines 5% */
}
.sidebox {
margin: 10px; /* wszystkie strony margines 10px */
}
.rightbox {
margin: 10px 20px; /* górny i dolny margines 10px */
} /* lewy i prawy margines 20px */
.leftbox { /* górny margines 10px */
margin: 10px 3% 20px; /* lewy i prawy margines 3% */
} /* dolny margines 20px */
.mainbox { /* górny margines 10px */
margin: 10px 3px 30px 5px; /* prawy margines 3px */
} /* dolny margines 30px */
/* lewy margines 5px */
Własność background-image ustawia obrazek tła dla elementu.
Wartość początkowa none
Stosowana do wszystkich elementów. It also applies to ::first-letter and ::first-line.
Dziedziczona no
Media visual
Wartość wyliczona as specified, but with url values made absolute
Animation type discrete
Canonical order the unique non-ambiguous order defined by the formal grammar
Składnia
background-image: uri | none | inherit
Wartości
uri
Położenie zasobu obrazka używanego jako obrazek tła.
none
Używane do wyszczególnienia, że dany element nie powinien mieć obrazka tła.
Przykłady
Note that the star image is partially transparent and is layered over the cat image.
HTML
<div>
<p class="catsandstars">
This paragraph is full of cats<br />and stars.
</p>
<p>This paragraph is not.</p>
<p class="catsandstars">
Here are more cats for you.<br />Look at them!
</p>
<p>And no more.</p>
</div>
CSS
pre, p {
font-size: 1.5em;
color: #FE7F88;
background-color: transparent;
}
div {
background-image: url("https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png");
}
p {
background-image: none;
}
.catsandstars {
background-image: url("https://mdn.mozillademos.org/files/11991/startransparent.gif"),
url("https://mdn.mozillademos.org/files/7693/catfront.png");
background-color: transparent;
}
Text Color
The color property is used to set the color of the text. The color is specified by:
a color name - like "red"
a HEX value - like "#ff0000"
an RGB value - like "rgb(255,0,0)"
Look at CSS Color Values for a complete list of possible color values.
The default text color for a page is defined in the body selector.
Example
body {
color: blue;
}
h1 {
color: green;
}
Text Color and Background Color
In this example, we define both the background-color property and the color property:
Example
body {
background-color: lightgrey;
color: blue;
}
h1 {
background-color: black;
color: white;
}
Podsumowanie
Własność font jest skrótową własnością do ustawienia font-style, font-variant, font-weight, font-size, line-height oraz font-family w jednym miejscu w arkuszu stylów.
Wartość początkowa: sprawdź indywidualne własności
Stosowana do: wszystkich elementów
Dziedziczona: tak
Media: visual
Wartość wyliczona:
Składnia
font: [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height> ]? <font-family>
font: caption | icon | menu | message-box | small-caption | status-bar | -moz-window | -moz-document | -moz-workspace | -moz-desktop | -moz-info | -moz-dialog | -moz-button | -moz-pull-down-menu | -moz-list | -moz-field
font: inherit
Wartości
Użycie skrótowej własności font ustawia własności pisma jako określone oraz ustawia wszystkie inne własności związane z czcionką do ich wartości początkowych.
Zobacz font-style, font-variant, font-weight, font-size oraz font-family, by sprawdzić prawidłowe wartości każdej własności.
Również czcionki systemowe mogą być określone przy użyciu własności fontzamiast określania indywidualnych własności pisma:
caption
Czcionka używana w opisanych kontrolkach (na przykład w przyciskach, listach rozwijanych itd.).
icon
Czcionka używana do podpisywania ikon.
menu
Czcionka używana w menu (na przykład menu rozwijanym, listach menu).
message-box
Czcionka używana w oknach dialogowych.
small-caption
Czcionka używana do opisywania małych kontrolek.
status-bar
Czcionka używana w pasku stanu okna.
-moz-window
-moz-document
-moz-workspace
-moz-desktop
-moz-info
-moz-dialog
-moz-button
-moz-pull-down-menu
-moz-list
-moz-field
Przykłady
Zobacz przykład
/* Ustawia rozmiar czcionki na 12pt oraz odstęp między liniami na 14pt.
Ustawia rodzinę czcionek na bezszeryfowe */
p { font: 12pt/14pt sans-serif }
/* Ustawia rozmiar czcionki na 80% rozmiaru znacznika-rodzica lub wartości domyślnej
(jeśli nie ma obecnego znacznika-rodzica) oraz ustawia rodzinę czcionek na bezszeryfowe */
p { font: 80% sans-serif }
/* Ustawia wagę (grubość) czcionki na pogrubioną, styl czcionki na kursywę,
rozmiar na duży i rodzinę czcionek na szeryfowe */
p { font: bold italic large serif }
Uwagi
Składniki font-size oraz font-family skrótowej własności są obowiązkowe. Pominięcie ich jest błędem składniowym i powoduje, że cała własność zostanie zignorowana.
Własności, dla których nie ma podanych żadnych wartości, są ustawiane do ich wartości domyślnej, którą jest normal dla wszystkich własności, które mogą być pominięte (font-style, font-variant, font-weight, oraz line-height).
Własność font-size-adjust jest również ustawiana do jej wartości początkowej (none), kiedy określona jest skrótowa własność font.