Pozicioniranje elemenata. CSS - pozicioniranje blokova. Apsolutno i relativno pozicioniranje. Što odabrati ili metode

U HTML jezik Svi elementi se mogu podijeliti na blok i inline. Elementi bloka obično su predstavljeni kao pravokutna područja s određenom količinom informacija. Uz njihovu pomoć gradi se mreža stranice. Takvi elementi zauzimaju sav prostor koji im je na raspolaganju po širini, a prije i iza njih obično se nalazi prijelom retka. Blokovima se mogu zadati uvlake, vodoravne i okomite dimenzije.

Značajke blok elemenata

Oznake bloka uključuju oznake koje ističu veliki broj tekstualne informacije:

,
,

,

,

,
    . Označiti
    često se koristi u izgledu modernih web stranica za stvaranje mreža i jednostavno znači neku vrstu bloka ili spremnika. Također je moguće u njega ugnijezditi druge oznake, što nije moguće sa svim blok elementima, tako da
    pogodan za korištenje. Blokovi se obično naslažu jedan na drugi i ne umeću se u inline elemente. HTML ugrađeni elementi su tekst, a CSS se koristi za njegovo stiliziranje.

    S obzirom na širinu sadržaja, ukupna širina bloka zbroj je vrijednosti desnog i lijevog ispuna, margine, obruba i širine. Na zadanoj visini - od gornje i donje podloge, margina, obruba i visine. Tekst u elementima bloka je prema zadanim postavkama poravnat lijevo. Ako jedan od njih sadrži umetnute elemente zajedno s blok elementima, tada se oko umetnutih elemenata stvara anonimni blok. Na njega će se primijeniti zadani stil. Također će naslijediti navedeni stil dodijeljen roditelju.

    Protok dokumenata

    Tok se odnosi na redoslijed kojim se elementi stranice prikazuju, određen svojstvima navedenim u CSS-u. U ovom slučaju, prema zadanim postavkama, blokovi su poredani odozgo prema dolje, a ako nema dovoljno prostora, ugrađene oznake se premještaju u novi red i raspoređuju od vrha prema dolje i slijeva nadesno. Položaj elementa na stranici ovisi o njegovom mjestu u kodu: što je viši, to se ranije nalazi. Svaki od elemenata bloka izgleda kao pravokutnik koji gura svoje susjede. Ovo ponašanje možete promijeniti pomoću posebnih svojstava. Poravnavanje određenih blokova prema sredini ili stranama spremnika u CSS-u naziva se pozicioniranje.

    Elementi pozicioniranja

    Položaj blokova može se kontrolirati pomoću apsolutnog i relativnog pozicioniranja. Pozicioniranje se koristi kako bi se velikim dijelovima stranice dala određena lokacija, za stvaranje složenih sučelja, skočnih prozora i ukrasnih elemenata. Glavno svojstvo koje se koristi za pozicioniranje blokova u CSS-u je pozicija. Ima četiri glavna svojstva:

    • relativan;
    • apsolutni;
    • fiksni;
    • statički.

    Uz njihovu pomoć možete mijenjati načine izgleda određivanjem jednog od četiri parametra: gore, desno, dolje ili lijevo. Tu je i svojstvo za redoslijed slojeva - z-index. Pozicioniranje sa statičkim svojstvom obično se ne koristi jer označava zadano pozicioniranje blokova. Stoga korištenje bilo kojeg parametra ni na koji način ne utječe na to. Ostala tri svojstva koriste se za raspored: relativno, apsolutno, fiksno.

    Relativno pozicioniranje

    Relativno pozicioniranje blokova u CSS-u, tj. svojstvo position:relative, znači da se element može pomicati i mijenjati njegov izvorni položaj. Takav blok i dalje ostaje u struji. Zapravo nije istisnut on sam, nego njegova kopija. Vrijednosti svojstava postavljene su tako da pokazuju točno koliko će se blok kretati u jednom ili drugom smjeru. Najčešće se mjere u pikselima. Ali prihvatljivo je koristiti druge jedinice.

    Korištenje svojstava za relativno pozicioniranje

    Svojstvo top pomiče kopiju određenog bloka gore ili dolje za broj piksela navedenih u svojstvu. Kada ga koristite, elementi koji se nalaze ispod ili iznad ostaju na svojim mjestima, jer se zapravo blok koji se pomiče ne pomiče nigdje.

    Svojstvo bottom pomiče blok u smjeru suprotnom od svojstva top. Pozitivna vrijednost pomaže da se pomakne prema gore, a negativna vrijednost pomaže da se pomakne prema dolje. Svojstva desno i lijevo pomiču element udesno, odnosno ulijevo. Kombinirajući ih sve, možete postaviti točnu lokaciju bloka na stranici, pomičući ga duž okomite i vodoravne koordinatne osi. Ako povećate uvlake, one se neće računati od ruba samog bloka, već od njegovog pomaka kopije u stranu.

    Apsolutno pozicioniranje

    Apsolutno pozicioniranje blokova u CSS-u određeno je vrijednošću svojstva apsolutne pozicije. Element koji je pozicioniran apsolutno ispada iz toka dokumenta, a njegovo mjesto zauzimaju susjedni blokovi. Širina takvog elementa se rasteže ovisno o njegovom sadržaju, a može se pomaknuti postavljanjem određenih vrijednosti za svojstva gore, lijevo, desno, dolje. Apsolutno pozicioniranje blokova u CSS-u korisno je za naslove. Ali position: absolute ne radi samo za blok elemente, već i za elemente u liniji.

    Poravnavanje elemenata prema sredini

    Pozicionirani apsolutno inline element će se ponašati potpuno isto kao inline element. Stoga se pozicioniranje također može koristiti za kontrolu teksta u CSS-u. Na njega možete primijeniti neka nova svojstva, na primjer, promijeniti visinu i širinu. Centriranje i okomito poravnanje u CSS-u koristi kombinaciju nekoliko svojstava. Kontrolira okomito poravnanje gornjeg svojstva. Ako želite centrirati blok u CSS-u, glavni spremnik bi trebao biti relativno pozicioniran, a poravnati element trebao bi biti apsolutno pozicioniran. Spremnik mora postaviti svojstvo top: 50%, a za pomicanje elementa za polovicu vlastite visine upotrijebite svojstvo translate s vrijednošću "0, -50%". Apsolutno pozicionirani elementi mogu se izdvojiti u novi tip, jer se na njih primjenjuju svojstva koja nisu dostupna za druge vrste pozicioniranja.

    Pozicioniranje u odnosu na gornji lijevi kut preglednika

    Svojstva lijevo, gore, desno i dno rade različito na apsolutno i relativno pozicioniranim elementima. Za relativne elemente, ova svojstva postavljaju pomak u odnosu na to gdje se element nalazi. Apsolutno pozicionirani zauzimaju mjesto u odnosu na određeni koordinatni sustav vezan uz veličinu prozora preglednika. Polazište ovog sustava su kutovi prozora. Kada koristite svojstvo lijevo, uvlaka će se brojati od lijeve strane preglednika, ali neće biti trake za pomicanje. Svojstvo top, kada je postavljeno apsolutno, specificira pomak od vrha preglednika do vrha elementa na koji se primjenjuje. Kombinacijom obaju svojstava element se može pomicati u odnosu na gornji lijevi kut preglednika.

    Pozicioniranje u odnosu na gornji desni kut preglednika

    Slično, pomoću svojstava desno i vrh, možete pritisnuti element na desnoj strani prozora preglednika i promijeniti njegov okomiti položaj, pomičući ga u gornji desni kut. Ako je pravo svojstvo postavljeno na negativnu vrijednost, blok će se pomaknuti izvan granice prozora. Nakon toga trebala bi se pojaviti traka za pomicanje. Da biste pomaknuli element prema dolje, koristite svojstvo bottom. Određuje uvlačenje od donjeg ruba prozora preglednika do dna bloka. Ako je njegova vrijednost negativna, pojavljuje se i traka za pomicanje jer se element pomiče iza donje granice prozora preglednika.

    Koordinatni sustav za apsolutno pozicioniranje

    Prema zadanim postavkama, svi elementi kojima je dana apsolutna pozicija vezani su za jedan koordinatni sustav - prozor preglednika. Ali može se promijeniti davanjem relativnog položaja nekom nadređenom elementu. Tada će podređeni blok promijeniti svoju lokaciju ovisno o roditelju. Ako među roditeljskim elementima postoji nekoliko s relativnim položajem, tada se brojanje provodi od najbližeg od njih. U ovom slučaju, zadano pozicioniranje bit će ono što je navedeno u oznaci tijela.

    Referentna točka za apsolutno pozicionirani element

    Prije nego što je element dobio apsolutno pozicioniranje, nalazio se na nekom mjestu koje se naziva implicitno podrijetlo. Ako se takvom bloku ne daju svojstva, on se neće pomaknuti. Možete ga pomaknuti postavljanjem svojstva margine. Radit će slično svojstvima pozicioniranja. Ako ne definirate vrijednost svojstva lijevo i svih ostalih, tada će biti jednako auto. Također možete koristiti auto za vraćanje elemenata na njihova izvorna mjesta.

    Fiksno pozicioniranje

    Drugo značenje je fiksno. Svojstvo položaja usidri element na određeno mjesto. Fiksno pozicioniranje često se koristi za stvaranje izbornika u CSS-u. Sličan je apsolutnom, ali fiksni blok ispada iz toka. Čak i kada se pomičete po stranici, takav će element ostati na mjestu, pa je prikladno koristiti ga za izradu izbornika u CSS-u. Početna točka bit će vezana za prozor preglednika. Ako postoji nekoliko pozicioniranih blokova, svojstvo z-index koristi se za njihov poredak. Uz njegovu pomoć možete preklapati relativne blokove s apsolutnim ako im date odgovarajući indeks, izražen kao cijeli broj. Što je veći, blok će biti viši.

    Jedna od najboljih stvari kod CSS-a je ta što nam stilovi daju mogućnost pozicioniranja sadržaja i elemenata na stranici na gotovo bilo koji zamisliv način. Ovo dodaje strukturu našem dizajnu i pomaže da sadržaj postane vizualniji.

    Ima ih nekoliko različiti tipovi pozicioniranja u CSS-u, svaka od ovih vrsta ima svoj opseg. U ovom poglavlju pogledat ćemo nekoliko različitih slučajeva upotrebe—stvaranje rasporeda za višekratnu upotrebu i jedinstveno pozicioniranje jednokratnih elemenata—i opisat ćemo nekoliko metoda za to.

    Pozicioniranje pomoću plovka

    Jedan od načina pozicioniranja elemenata na stranici je kroz svojstvo float. Ovo je svojstvo vrlo svestrano i može se koristiti na mnogo različitih načina.

    U osnovi, svojstvo float uzima element, uklanja ga iz normalnog toka stranice i postavlja ga lijevo ili desno od nadređenog elementa. Svi ostali elementi na stranici obavit će se oko takvog elementa. Na primjer, odlomci će se omotati oko slike ako element svojstvo float je postavljeno.

    Kada se svojstvo float primijeni na više elemenata odjednom, to omogućuje stvaranje izgleda s plutajućim elementima jedan do ili nasuprot drugoga, kao što je prikazano u rasporedu s više stupaca.

    Svojstvo float ima nekoliko vrijednosti, dvije najpopularnije su lijevo i desno, koje omogućuju elementu da pluta lijevo ili desno od svog roditelja.

    Img ( float: lijevo; )

    lebdjeti u praksi

    Kreirajmo opći izgled stranice sa zaglavljem na vrhu, dva stupca u sredini i podnožjem na dnu. U idealnom slučaju, ova bi stranica trebala biti označena elementima

    ,
    ,