Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Pozicionimi i elementeve. CSS - Elementet e bllokut të pozicionimit

Nga autori: pershendetje. Pozicionimi i elementeve css është një temë shumë e rëndësishme në ndërtimin e faqes në internet. Në këtë artikull, unë propozoj ta konsideroni atë në mënyrë më të detajuar, të gjitha mënyrat për të lëvizur blloqet nëpër një faqe në internet.

Cilat janë llojet

Nëse flasim për pozicionimin e elementeve të bllokut, atëherë ai vendoset duke përdorur vetinë e pozicionit. Ka katër kuptime dhe secila meriton shqyrtim të veçantë.

Pozicionimi absolut

Kjo është specia e parë e njohur. Është vendosur kështu: pozicioni: absolut. Pas kësaj, blloku humbet vetitë e tij të zakonshme dhe bie plotësisht jashtë rrjedhës normale. Çfarë është kjo rrymë? Përpiquni të vendosni disa elementë të nivelit të bllokut në një rresht në markup. Si do të bëhen? Njëra pas tjetrës dhe asgjë tjetër.

Kjo është sjellja normale e blloqeve si parazgjedhje. Por çfarë ndodh me një bllok që ka pozicionim absolut të përcaktuar? Ai bie plotësisht jashtë rrjedhës normale, blloqet e tjera thjesht nuk e vënë re atë, sikur të mos ekzistonte kurrë, por elementi mbetet në faqe. Pozicionimi absolut në css përdoret shpesh për të pozicionuar me saktësi elementet dekorative, ikonat dhe gjëra të tjera të mira.

Tani mund të zhvendoset duke përdorur veçoritë majtas, djathtas, lart dhe poshtë. Si parazgjedhje, lëvizja ndodh në lidhje me skajet e dritares së shfletuesit, por nëse elementi prind është vendosur në pozicionin: relative, atëherë zhvendosja ndodh në lidhje me bllokun prind.

Blloku (pozicioni: absolut; poshtë: 0; djathtas: 0; )

Blloko (

pozicioni : absolut ;

fund: 0

djathtas: 0

Elementi do të zhvendoset në këndin e poshtëm të djathtë. Vërej se shpesh kështu e bëjnë butonin e sipërm - ata thjesht e vendosin atë absolutisht në cep. Dhe këtu është një shembull tjetër ku unë do të tregoj fillimisht shënimin e mundshëm:

< div id = "wrapper" >

< div class = "block" > < / div >

< / div >

Dhe tani stilet css për këtë fragment:

#wrapper( pozicioni: relative; ) .block (pozicioni: absolut; lart: 0; djathtas: 10 px; )

#mbështjellës(

pozicioni : i afërm ;

Blloko (

pozicioni : absolut ;

krye: 0;

djathtas: 10px;

Në këtë shembull, ne fillimisht regjistruam pozicionimin relativ të kontejnerit prind (relativ - më shumë për këtë më vonë në artikull), dhe më pas vendosëm pozicionin absolut për të njëjtin element .block. Si rezultat, koordinatat do të numërohen jo nga vetë dritarja e shfletuesit, por nga skajet e elementit prind, domethënë blloku i mbështjellësit.

Pozicionimi relativ i elementeve css

Kjo është pamja tjetër dhe shkruhet kështu - pozicioni: relative. Koordinatat përcaktohen nga të njëjtat veti si në pozicionin absolut. Dallimi i vetëm domethënës është se elementi nuk bie zyrtarisht nga rrjedha - ka vend për të.

Funksionimi i kësaj vlere mund të krahasohet me dukshmërinë: i fshehur, kur elementi është i fshehur nga faqja, por vendi nën të mbetet i paprekur. E njëjta gjë ndodh me vendosjen relative - blloku mund të zhvendoset kudo, por vendi nën të mbetet i zbrazët dhe nuk do të zërë pjesë të tjera.

Është gjithashtu e rëndësishme të dini se kompensimi nuk vjen nga skajet e dritares së shfletuesit të internetit, por nga vendi ku fillimisht qëndronte blloku. Dmth:

Blloku (pozicioni: relative; lart: 10 px; djathtas: 50 px; )

Blloko (

pozicioni : i afërm ;

sipër: 10px;

djathtas: 50 px

Blloku do të lëvizë 50 pikselë në të djathtë dhe 10 pikselë në të majtë.

Fiksimi

Me siguri në internet keni parë më shumë se një herë në faqet kur, kur lëvizni, një baner nuk u zhduk, por vazhdoi të ishte në zonën tuaj të dukshmërisë, sikur të qëndronte në një vend. Kjo zbatohet kryesisht duke përdorur pozicionimin fiks. Për ta bërë këtë, duhet të shkruani:

Pozicioni: pozicion statik ose i rregullt statik

Pamja e fundit është statike, që është sjellja normale e elementeve të nivelit të bllokut. Nuk ka nevojë të shkruhet, sepse është parazgjedhja, por duhet të dini ende për vlerën e katërt. Ndonjëherë pozicioni: static shkruhet për të anashkaluar një lloj tjetër pozicionimi në ngjarje të caktuara në faqen e internetit.

Si ta bëjmë të saktë pozicionimin e bllokut në css?

Ne i kemi shqyrtuar kuptimet, por kjo nuk mjafton për ta mbyllur këtë temë për vete. Në fakt, ju duhet të kuptoni se ku dhe cilat lloje pozicionesh duhet të aplikoni. Me fiks, unë tashmë ju dhashë një shembull - mund të përdoret për të krijuar shirita anësor ngjitës, kokë ose funde.

Pozicionimi relativ është i dobishëm kur ju duhet të lëvizni një bllok paksa në lidhje me pozicionin e tij dhe ta mbani atë në rrjedhë. Është vendosur gjithashtu në blloqet prindërore për të përdorur lëvizjen absolute për elementët fëmijë.

Teknika të tjera: qendërzim, blloqe lundruese

Vetia e pozicionit nuk i zgjidh të gjitha problemet me vendosjen e elementeve të bllokut. Si do të krijonit, për shembull, një rrjet faqesh me të? Nuk kam ide të mira. Këtu janë të dobishme veçoritë e tjera.

Me ndihmën e float në css, shpesh bëhen rrjete. Vetia ju lejon të shtyni bllokun në skajin e majtë ose të djathtë të prindit (float: majtas, float: djathtas), duke lejuar që disa elementë të bllokut të bëhen në një rresht, gjë që ndodh shumë shpesh në çdo vend.

Përqendrimi bëhet kështu: blloku duhet të shkruajë një gjerësi të caktuar dhe më pas të vendosë margjinën: 0 veti automatike. Është vlera automatike që do ta rreshtojë atë horizontalisht pikërisht në qendër. Natyrisht, për këtë duhet të jetë i vetmi në linjën e tij, përndryshe asgjë nuk do të funksionojë.

Të gjitha llojet e pozicionimeve të listuara në këtë artikull mund të jenë të dobishme për një zhvillues ueb. Diku duhet të futet ikona (pozicioni: absolute), diku, korrigjoni pak pozicionin e bllokut, duke lënë një vend pas tij (pozicioni: relative) dhe ku duhet të fiksohet miniaplikacioni (pozicioni: fiks). Në përgjithësi, njohja e kësaj prone definitivisht nuk do të jetë e tepërt.

Epo, për të mësuar edhe më shumë nga bota e ndërtimit të faqeve, sigurohuni që të abonoheni në blogun tonë dhe të merrni materiale të reja arsimore. Dhe ju këshilloj të shikoni edhe tonën, ku ngrihet edhe një temë e ngjashme. (elementet e pozicionimit)

Vlad Merzheviç

Pozicionimi është pozicioni i një elementi në një sistem koordinativ. Ekzistojnë katër lloje të pozicionimit: normal, absolut, fiks dhe relativ. Në varësi të llojit, i cili vendoset përmes vetive pozicioni, ndryshon edhe sistemi i koordinatave.

Falë kombinimit të vetive të pozicionit, majtas, sipër, djathtas dhe poshtë, një element mund të vendoset mbi njëri-tjetrin, të jepet në një pikë me koordinata të caktuara, të fiksuara në një vend të caktuar, të përcaktojë pozicionin e një elementi relativ. në një tjetër dhe më shumë.Si vetitë e tjera CSS, kontrolli i pozicionimit është i disponueshëm nëpërmjet skripteve. Kështu, ju mund të ndryshoni dinamikisht pozicionin e elementeve pa ringarkuar faqen, duke krijuar animacion dhe efekte të ndryshme.

Pozicionimi normal

Nëse vetia e pozicionit të një elementi nuk është vendosur ose vlera e tij është statike, elementi paraqitet në rrjedhën e dokumentit si normal. Me fjalë të tjera, elementët shfaqen në faqe sipas renditjes që shfaqen në kodin burimor HTML.

Karakteristikat majtas, lart, djathtas, poshtë, nëse përcaktohen, injorohen.

Pozicionimi absolut

Me pozicionimin absolut, elementi nuk ekziston në rrjedhën e dokumentit dhe pozicioni i tij është në lidhje me skajet e shfletuesit. Ju mund ta vendosni këtë lloj përmes vlerës absolute të vetive të pozicionit. Koordinatat janë të specifikuara në lidhje me skajet e dritares së shfletuesit, e quajtur "zona e dukshme" (Fig. 3.42).

Oriz. 3.42. Vlerat e pronës majtas, djathtas, lart dhe poshtë për pozicionimin absolut

Modaliteti ka karakteristikat e mëposhtme.

  • Gjerësia e shtresës, nëse nuk është vendosur në mënyrë eksplicite, është e barabartë me gjerësinë e përmbajtjes plus vlerat e kufirit, kufirit dhe mbushjes.
  • Një shtresë nuk e ndryshon pozicionin e saj origjinal nëse nuk ka vetitë djathtas, majtas, lart dhe poshtë.
  • Vetitë majtas dhe lart kanë përparësi ndaj vetive të djathta dhe të poshtme. Nëse e majta dhe e djathta kundërshtojnë njëra-tjetrën, atëherë vlera e së djathtës shpërfillet. E njëjta gjë vlen edhe për pjesën e poshtme.
  • Nëse majta është vendosur në një vlerë negative, atëherë shtresa do të shkojë përtej skajit të majtë të shfletuesit dhe shiriti i lëvizjes nuk do të shfaqet. Kjo është një mënyrë për të fshehur një element nga pamja. E njëjta gjë vlen edhe për pronën e sipërme, vetëm shtresa do të shkojë përtej skajit të sipërm.
  • Nëse majtas vendoset në një vlerë më të madhe se gjerësia e zonës së dukshme, ose vendoset djathtas me një vlerë negative, do të shfaqet një shirit lëvizës horizontal. I njëjti rregull vlen edhe për pjesën e sipërme, përveç që po flasim për një shirit rrotullimi vertikal.
  • Karakteristikat majtas dhe djathtas të specifikuara në të njëjtën kohë formojnë gjerësinë e shtresës, por vetëm nëse gjerësia nuk është e specifikuar. Vlen të shtohet vetia width dhe vlera e së drejtës do të shpërfillet. E njëjta gjë do të ndodhë me lartësinë e shtresës, vetëm cilësitë e sipërme, të poshtme dhe të lartësisë janë përfshirë tashmë.
  • Një element i pozicionuar absolut lëviz me dokumentin ndërsa lëviz.

Vetia e pozicionit, e vendosur në absolute, mund të përdoret për të krijuar efektin e kornizave. Përveç pozicionimit absolut, elementëve duhet t'u caktohet një veçori tejmbushjeje me një vlerë auto. Më pas, kur përmbajtja tejkalon lartësinë e zonës së dukshme, do të shfaqet një shirit lëvizës. Lartësia dhe gjerësia e "kornizave" gjenerohet automatikisht duke përdorur njëkohësisht vetitë majtas, djathtas për gjerësinë dhe lart, poshtë për lartësinë (shembulli 3.31).

Shembulli 3.31. Krijimi i një analoge të kornizave

Pozicionimi absolut

Pilafi në Ferganë

Vendoseni në kazan mishin e prerë në feta dhe skuqeni derisa të formohet një kore. Skuqini rrathët e copëtuar të qepës së bashku me mishin derisa të marrin ngjyrë të kuqërremtë, më pas shtoni karotat, të prera në rripa. Hidhni gjysmën e kripës, përzieni gjithçka dhe skuqni derisa karotat të marrin ngjyrë kafe të artë. Pas kësaj, derdhni gjysmën e sasisë së kërkuar të ujit dhe lëreni të vlojë.

Hidhni orizin në një shtresë të barabartë, rrisni zjarrin dhe menjëherë derdhni ujë në mënyrë që të mbulojë orizin me 1–1,5 cm sipërfaqe, shkoi deri në fund. Më pas mbulojeni pilafin dhe lëreni të pushojë për 20-25 minuta.

Përzieni plotësisht pilafin e përfunduar, transferojeni në një pjatë të madhe, vendosni mishin sipër.

Rezultati i këtij shembulli është paraqitur në Fig. 3.43. Shtresa e kokës paraqitet në rrjedhë si zakonisht, dhe shiriti anësor dhe shtresat e përmbajtjes vendosen në pozicionim absolut.

Oriz. 3.43. Zbatimi i pozicionimit absolut

Në IE6, elementët e pozicionuar absolutisht nuk mund të kenë veçoritë majtas, djathtas dhe lart, poshtë të vendosura në të njëjtën kohë.

Pozicionimi absolut përdoret gjithashtu për të krijuar efekte të ndryshme, si p.sh. këshilla për veglat e fotografisë. Ndryshe nga atributi i titullit të etiketës i cili gjithashtu shfaq tekstin e këshillës së veglave, përmes stileve mund të kontrolloni pamjen e tekstit të shfaqur duke përdorur skriptin.

Së pari, le të krijojmë një shtresë boshe me një ID të floatTip dhe të përcaktojmë stilin e saj. Duhet të kërkohen tre veti stilesh - pozicioni është vendosur në absolute, ekrani i caktuar në asnjë fsheh shtresën dhe gjerësia përcakton gjerësinë e shtresës së këshillës së veglave. Karakteristikat e mbetura përdoren me kërkesë të zhvilluesit dhe synojnë të ndryshojnë modelin e shtresës (shembulli 3.32).

Shembulli 3.32. Stili i këshillës së veglave

#floatTip ( pozicioni: absolute; /* Pozicionimi absolut */ gjerësia: 250 px; /* Gjerësia e bllokut */ shfaqja: asnjë; /* Fshehja nga pamja */ kufiri: 1px solid #000; /* Opsionet e kufirit */ mbushja: 5 px ; /* Margjina rreth tekstit */ font-family: sans-serif; /* Shkronja e dhëmbëzuar */ madhësia e shkronjave: 9pt; /* Madhësia e shkronjave */ ngjyra: #333; /* Ngjyra e tekstit */ sfondi: #ECF5E4; /* Ngjyrë e sfondit */ )

Vetë skripti përbëhet nga dy funksione - moveTip() ndjek lëvizjen e miut dhe ndryshon pozicionin e shtresës sipas koordinatave të kursorit, dhe toolTip() kontrollon dukshmërinë e shtresës dhe shfaq tekstin e dëshiruar në të (shembulli 3.33).

Shembulli 3.33. Skripti i daljes së shtresës

dokument.onmousemove = moveTip; funksioni moveTip(e) (floatTipStyle = document.getElementById("floatTip").style; w = 250; // Gjerësia e shtresës // Për IE if (document.all) (x = event.x + document.body.scrollLeft ; y = event.y + document.body.scrollTop; // Për shfletues të tjerë ) other ( x = e.pageX; // Kursorin X koordinata y = e.pageY; // Kursorin Y koordinata ) // Trego shtresën në të djathtë i kursorit nëse ((x + w + 10)< document.body.clientWidth) { floatTipStyle.left = x + "px"; // Показывать слой слева от курсора } else { floatTipStyle.left = x - w + "px"; } // Положение от верхнего края окна браузера floatTipStyle.top = y + 20 + "px"; } function toolTip(msg) { floatTipStyle = document.getElementById("floatTip").style; if (msg) { // Выводим текст подсказки document.getElementById("floatTip").innerHTML = msg; floatTipStyle.display = "block"; // Показываем слой } else { floatTipStyle.display = "none"; // Прячем слой } }

Për lehtësi dhe shkathtësi, skripti duhet të zhvendoset në një skedar të veçantë dhe të lidhet përmes atributit src të etiketës

Lente "+": Canon EF 24-105 f/4L IS USM
Flash "+": Canon Speedlite 580 EX
"+" Shpejtësia e diafragmës: 1/125
Apertura: 5.6")" onmouseout="toolTip()" />

Rezultati i këtij shembulli është paraqitur në Fig. 3.44. Ju lutemi vini re se mbështjellja e tekstit kur thirret funksioni toolTip() bëhet për lexueshmëri dhe ka sintaksë JavaScript. Në Safari, skenari ndonjëherë nuk funksionon kur mbështillet teksti, në këtë rast teksti duhet të shkruhet në një rresht. Vetia e opacitetit CSS3 është shtuar në stile, gjë që shton pak transparencë në shtresë. Përpara IE 9.0 kjo pronë nuk mbështetet.

Oriz. 3.44. Këshilla e veglave është dhënë me JavaScript

Pozicioni fiks

Pozicioni fiks i një shtrese përcaktohet nga vlera e pozicionit të pronës fikse dhe është i ngjashëm me pozicionimin absolut. Por ndryshe nga ai, ai është i bashkangjitur në pikën në ekran të specifikuar nga vetitë majtas, lart, djathtas dhe poshtë dhe nuk ndryshon pozicionin e tij kur lëviz në faqen e internetit. Një tjetër ndryshim nga absolute është se kur një shtresë fikse shkon përtej zonës së dukshme djathtas ose poshtë saj, nuk shfaqet asnjë shirit lëvizës.

Ky lloj pozicionimi përdoret për të krijuar meny, skeda, tituj, në përgjithësi, çdo element që duhet të jetë i fiksuar në faqe dhe gjithmonë i dukshëm për vizitorin. Shembulli 3-35 tregon shtimin e një footer që qëndron në të njëjtin vend, pavarësisht nga sasia e informacionit në sajt.

Shembulli 3.35. Bodrum i fiksuar

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Bodrum i fiksuar

Të gjitha metodat e kapjes së një luani të listuara në faqe janë teorike dhe të bazuara në metoda llogaritëse. Autori nuk garanton sigurinë tuaj gjatë përdorimit të tyre dhe heq dorë nga çdo përgjegjësi për rezultatin. Mos harroni, luani është një grabitqar dhe një kafshë e rrezikshme!

Rezultati i shembullit është paraqitur në Fig. 3.45. Për shkak se fundi i fiksuar mbivendos dhe fsheh tekstin, është shtuar një mbushje e poshtme për përzgjedhësin BODY. IE6 nuk e mbështet vlerën fikse, kështu që ky shembull nuk do të funksionojë siç duhet në atë shfletues.

Oriz. 3.45. Fundi në fund të faqes

Pozicionimi relativ

Vendosja e vetive të pozicionit në relative vendos pozicionin e elementit në lidhje me pozicionin e tij origjinal. Shtimi i vetive majtas, lart, djathtas dhe poshtë ndryshon pozicionin e elementit dhe e zhvendos atë në njërën anë ose në tjetrën nga pozicioni i tij origjinal. Një vlerë pozitive e majtë përcakton një zhvendosje në të djathtë të kufirit të majtë të elementit, një vlerë negative specifikon një zhvendosje në të majtë. Një vlerë pozitive e majës vendos zhvendosjen e elementit poshtë (Fig. 3.46), një vlerë negative - një zhvendosje lart.

Oriz. 3.46. Vlerat e pronave majtas dhe të larta për pozicionimin relativ

Vetitë e poshtme dhe të djathta kanë efektin e kundërt. Nëse vlera është pozitive, djathtas e zhvendos elementin në të majtë të skajit të tij të djathtë, nëse është negative, zhvendoset djathtas (Fig. 3.47). Një vlerë pozitive e poshtme do ta lëvizë elementin lart, dhe një vlerë negative do ta lëvizë atë poshtë.

Oriz. 3.47. Vlerat e pronës djathtas dhe të poshtme për pozicionimin relativ

Pozicionimi relativ ka karakteristikat e mëposhtme.

  • Ky lloj pozicionimi nuk është i zbatueshëm për elementët e tabelës si qelizat, rreshtat, kolonat, etj.
  • Kur një element zhvendoset në lidhje me pozicionin e tij origjinal, hapësira që zë elementi mbetet bosh dhe nuk mbushet me elementë poshtë ose sipër.

Shembulli 3-36 tregon se teksti i titullit është zhvendosur poshtë për t'i dhënë atij një stil të veçantë.

Shembulli 3.36. Titulli i tekstit

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

kokë

Shkenca e shkronjave Az dhe buki

Fonte është një mjet për të shprehur dizajnin, jo një lexim banal.

Rezultati i këtij shembulli është paraqitur në Fig. 3.48.

Oriz. 3.48. Zhvendos tekstin në lidhje me pozicionin origjinal

Shtresa të mbivendosura

Zakonisht, pozicionimi relativ në vetvete nuk përdoret shpesh, pasi ka një numër karakteristikash që në fakt kryejnë të njëjtin rol, për shembull, të njëjtin diferencë. Por kombinimi i llojeve të ndryshme të pozicionimit për shtresat e mbivendosura është një nga teknikat e përshtatshme dhe praktike të paraqitjes. Nëse është vendosur relative për elementin prind, dhe absolute për fëmijën, atëherë sistemi i koordinatave do të ndryshojë dhe pozicioni i elementit fëmijë tregohet në lidhje me prindin e tij (Fig. 3.49).

Oriz. 3.49. Vlerat e vetive majtas, djathtas, lart dhe poshtë në shtresat e mbivendosura

Koordinatat numërohen nga skaji i brendshëm i kufirit, vlerat e fushës nuk merren parasysh. Shembulli i mëposhtëm vendos tekstin në këndin e poshtëm djathtas të shtresës pranë kufirit, duke injoruar vetinë e mbushjes.

Teksti

Duke përdorur katër vetitë majtas, djathtas, lart, poshtë për të kontrolluar pozicionin e shtresës së brendshme, nuk është e nevojshme të dihet madhësia e shtresës mëmë. Kjo zgjeron fushën e pozicionimit, kështu që pozicioni përdoret mjaft aktivisht kur vendosni elementë të ndryshëm. Si shembull, le të marrim imponimin e informacioneve të ndryshme në një foto: numrin e komenteve në të, lidhjet "Shto një koment", "Informacione për autorin" dhe "Shto në të preferuarat". Në përgjithësi, rezultati duhet të jetë afërsisht i njëjtë si në Fig. 3.50.

Oriz. 3.50. Foto me elementë të mbivendosur

Vetë kodi tregohet në shembullin 3.37. Shtresa e fotografisë është pozicionuar relativ dhe shtresat e brendshme img (dalja e fotos), komenti (numri i komenteve) dhe mjeti (lidhjet në fund të fotos) vendosen në pozicionin absolut.

Shembulli 3.37. Pozicionimi i shtresave

XHTML 1.0 CSS 2.1 CSS 3 IE 7+ IE 9+ Cr Op Sa Fx

Pozicionimi i shtresave

134

pozicionimi i blloqeve css një nga fazat më të rëndësishme të paraqitjes, sepse kjo është ajo që ndikon në përshtatshmërinë e faqes ose mundësinë e zbatimit të saj në të ardhmen (nëse nuk kërkohet për momentin), dhe gjithashtu ka një ndikim të rëndësishëm në shkallëzimin e mëtejshëm të siti. Nuk janë të rralla rastet kur "dizajnerët e pafat të layout" bëjnë një paraqitje të tillë që në fund të jetë më e lehtë ta hedhësh jashtë sesa të ndryshosh diçka, por në të njëjtën kohë mund të duket plotësisht në përputhje me paraqitjen. Kjo situatë lind nga moskuptimi se ku dhe kur të përdoret një ose një lloj tjetër pozicionimi. Sot do të përpiqemi ta kuptojmë këtë çështje. Dhe kështu, në css ka një pronë pozicion. Kjo pronë mund të marrë 5 vlera, por ne do të shqyrtojmë 4 ato kryesore:

  • absolute
  • statike
  • i afërm
  • fikse

Pozicionimi absolut i bllokut (absolut)

E para, në listën tonë, metoda e pozicionimit është absolute. Kur caktohet kjo veti, blloku bëhet një njësi më vete dhe pjesa tjetër e elementeve të faqes nuk ndikon në vendndodhjen e tij, as nuk ndikon në elementë të tjerë. Madhësia e bllokut përcaktohet nga vetitë e gjerësisë dhe lartësisë, dhe vendndodhja në faqe përcaktohet nga vetitë e sipërme. majtas, djathtas dhe poshtë këto parametra vendosin mbushjen nga skajet e sipërme, të majta, të djathta dhe të poshtme. Nëse blloku nuk ka një element prind, dhe gjithashtu nëse pozicionimi i elementit prind është i ndryshëm nga ai statik, atëherë vetitë lart, majtas, poshtë, djathtas vendosin indencat nga fillimi i faqes, përndryshe nga skajet e elementi prind.

Më shpesh, ky lloj pozicionimi përdoret kur blloku duhet të shtypet në skajin e djathtë ose të poshtëm. Konsideroni këtë plan urbanistik.

Për lehtësi, blloqet u theksuan me një kornizë me shumë ngjyra. Shënimi do të duket si ky:

XHTML

Lidhja (pozicioni: relative; ) .e verdhë (pozicioni: absolut; djathtas: 10 px; fundi: 10 px; )

lidhje

pozicioni : i afërm ;

E verdhe

pozicioni : absolut ;

djathtas: 10px;

fundi: 10 px

Në këtë shembull, ne kemi përdorur vetitë e djathta dhe të poshtme për të vendosur indentimin nga skajet e djathta dhe të poshtme. Këto vlera të vetive janë ekuivalente me lart: Lartësia e elementit është 10 px dhe e majta: Gjerësia e elementit është 10 px.

Pozicionimi absolut përdoret gjithashtu ndonjëherë kur është e nevojshme të "kalosh" një element mbi tjetrin.

Pozicionimi statik (statik)

Lloji më i zakonshëm i pozicionimit që ndodh në çdo faqe dhe zakonisht vendoset për shumicën e elementeve është statik, në css shkruhet si statik. Për shumicën e etiketave HTML, kjo vlerë përcaktohet si parazgjedhje. nëse pozicioni nuk është vendosur në mënyrë eksplicite, atëherë vlera do të jetë statike. Me këtë renditje, elementët rreshtohen njëri nën tjetrin dhe koordinatat në dritaren e secilit element varen nga elementët më të afërt me pozicion: statik ose pozicion: relativ. Karakteristikat e sipërme, majtas, djathtas, poshtë nuk do të funksionojnë me këtë pozicionim, pozicioni është ndryshuar për shkak të vetive të marzhit.

Pozicionimi relativ (relativ)

Ky lloj pozicionimi është shumë i ngjashëm me pozicionimin statik, përveç se pozicioni i elementit mund të ndryshohet me vetitë e sipërme, majtas, djathtas, poshtë dhe margjina.

Pozicionimi i fiksuar (i fiksuar)

Pozicionimi fiks është i ngjashëm me pozicionimin absolut sipas veçorive të specifikimit të koordinatave, por pozicioni llogaritet jo në lidhje me faqen HTML, por në lidhje me dritaren e shfletuesit, d.m.th. me vetinë e sipërme: 10 pikselë, do ta vendosni mbushjen e sipërme në 10 px NGA DRITARJA E SHFLETËSIT dhe pa marrë parasysh se në cilin nivel të lëvizjes së faqes jeni, ky element do të ndjekë gjithmonë ekranin tuaj.

Zakonisht përdoret për elementë navigimi në mënyrë që përdoruesi të ketë gjithmonë informacione të rëndësishme ose lidhje me faqet interesante.

Zhvilluesit e uebit këto ditë mund të ndërtojnë paraqitje komplekse të faqeve të internetit duke përdorur teknika të ndryshme CSS. Disa nga këto teknika kanë një histori të gjatë (floats), të tjerat (flexbox) kanë fituar popullaritet vitet e fundit.

Në këtë artikull, ne do t'i hedhim një vështrim nga afër disa gjërave pak të njohura rreth pozicionimit të CSS.

Para se të fillojmë, le të shqyrtojmë shkurtimisht bazat e llojeve të ndryshme të pozicionimit.

Pasqyrë e metodave të disponueshme të pozicionimit

Vetia e pozicionit CSS përcakton llojin e pozicionimit të një elementi.

Opsionet e pozicionimit

static është vlera e paracaktuar e vetive të pozicionimit. Ne raportojmë se ky element nuk përdor pozicionimin - pozicionimi zbatohet vetëm nëse specifikoni një lloj pozicionimi të ndryshëm nga ai i paracaktuar.

Për ta bërë këtë, vendosni veçorinë e pozicionit në një nga vlerat e mëposhtme:

  • i afërm
  • absolute
  • fikse
  • ngjitës

Dhe vetëm pasi të vendosni pozicionimin, mund të përdorni vetitë që kompensojnë elementin:

  • drejtë
  • fund
  • Vlera fillestare e këtyre vetive është fjala kyçe auto.

Mbani në mend se nëse një element ka vetinë e pozicionit të vendosur në absolute ose fikse, atëherë ai është një element absolutisht i pozicionuar. Gjithashtu, për elementët e pozicionuar fillon të funksionojë vetia z-index, e cila përcakton rendin e grumbullimit.

Dallimet midis metodave kryesore të pozicionimit

Tani le të shohim shpejt tre ndryshimet themelore midis llojeve të disponueshme të pozicionimit:

  • elementët e pozicionuar absolutisht (absolutisht) hiqen plotësisht nga rrjedha, vendin e tyre e zënë fqinjët më të afërt.
  • pozicionuar relativisht (relativ) dhe ngjitës (ngjitës) ruajnë vendin e tyre në përrua dhe fqinjët e tyre më të afërt nuk e zënë atë. Megjithatë, mbushja e këtyre elementeve nuk zë hapësirë, por injorohet plotësisht nga elementët e tjerë dhe kjo mund të çojë në mbivendosje të elementeve.
  • elementet fikse (dhe pozicionimi fiks është një lloj pozicionimi absolut) pozicionohen gjithmonë në lidhje me pamjen (duke injoruar pozicionimin e paraardhësve), ndërsa elementët ngjitës pozicionohen në raport me paraardhësin më të afërt me lëvizje (mbirje: auto). Dhe vetëm në mungesë të paraardhësve të tillë ata pozicionohen në lidhje me zonën e dukshmërisë.

Ju mund ta shihni këtë më në detaje në demo:

Shënim: Pozicionimi i "elementëve ngjitës" është ende një teknologji eksperimentale me mbështetje të kufizuar të shfletuesit. Sigurisht, nëse dëshironi, mund të përdorni një polifill për të shtuar këtë funksion në shfletuesin, por duke pasur parasysh përhapjen e ulët të kësaj prone, ky artikull nuk do të diskutohet.

Elementet e pozicionimit me tip pozicioni absolut

Jam i sigurt që shumica prej jush e dinë se si funksionon pozicionimi absolut. Megjithatë, për fillestarët, shumë gjëra në të mund të ngatërrojnë.

Prandaj, vendosa të filloj me të kur përshkruaj tiparet pak të njohura të pozicionimit.

Pra, një element i pozicionuar absolutisht kompensohet nga paraardhësi i tij më i afërt i pozicionuar. Sigurisht, kjo funksionon nëse ndonjë prej paraardhësve ka një pozicion të ndryshëm nga ai statik - nëse elementi nuk ka paraardhës të pozicionuar, ai zhvendoset nga qëllimi.

Kjo tregohet nga shembulli i mëposhtëm:

Në këtë demonstrim, kutia e gjelbër fillimisht pozicionohet absolutisht me mbushje zero fund:0 dhe majtas:0, paraardhësi i saj (kutia e kuqe) nuk ishte fare i pozicionuar.

Megjithatë, ne kemi pozicionuar relativisht mbështjellësin e jashtëm (një element me klasën jumbotron). Vini re se si ndryshon pozicionimi i bllokut të gjelbër kur ndryshon lloji i pozicionimit të paraardhësve të tij.

Elementet e pozicionuar absolutisht injorojnë vetinë float

Nëse aplikojmë pozicionim absolut ose fiks për një element lundrues, vetia float do të vendoset në none. Nga ana tjetër, nëse vendosim pozicionimin relativ, elementi do të mbetet lundrues.

Hidhini një sy demonstrimit përkatës:

Në këtë shembull, ne po përcaktojmë dy elementë të ndryshëm që notojnë në të djathtë. Vini re se kur kutia e kuqe pozicionohet absolutisht, ajo injoron vlerën e vetive float, ndërsa kutia e gjelbër relativisht e pozicionuar ruan vlerën float.

Elementet inline të pozicionuar absolutisht bëhen elementë blloku

Një element inline me pozicionim absolut ose fiks fiton vetitë e një elementi blloku. Shndërrimi i elementeve inline në elementë bllok përshkruhet më në detaje në tabelë.

Në këtë rast, ne kemi krijuar dy elementë të ndryshëm. I pari (blloku i gjelbër) është një element blloku, dhe i dyti (blloku i kuq) është një element inline. Fillimisht shihet vetëm blloku i gjelbër.

Kutia e kuqe nuk është e dukshme sepse vetitë e gjerësisë dhe lartësisë të vendosura në të funksionojnë vetëm me elementët e nivelit të bllokut dhe të blloqeve inline, dhe meqenëse nuk ka përmbajtje, nuk ka asnjë dimension.

Kur i jepni një kutie të kuqe një pozicion absolut ose fiks, ajo bëhet e bllokuar dhe madhësitë e bllokut të specifikuara në të hyjnë në fuqi.

Elementët e pozicionuar absolutisht nuk kanë kolaps të mbushjes

Si parazgjedhje, kur preken dy margjina vertikale, ato bashkohen në një të barabartë me më të madhin prej tyre. Kjo quhet kolaps i marzhit.

Sjellja e elementeve të pozicionuar absolutisht këtu është e ngjashme me elementët lundrues - mbushjet e tyre nuk bashkohen me fqinjët e tyre.

Në këtë demonstrim, elementi ka një mbushje prej 20 px. Mbushja e tij shembet me mbushjen e elementit prind, gjithashtu 20 px. Siç mund ta shihni, vetëm pozicionimi absolut nuk shembet.

Por si mund ta parandalojmë kolapsin e mbushjes? Duhet të vendosim një ndarës mes tyre.

Kjo mund të jetë mbushje ose kufi, dhe mund të zbatohet si për elementët prind ashtu edhe për fëmijën. Një opsion tjetër është të shtoni një fiksim të qartë në elementin prind.

Pozicionimi i elementeve me piksel dhe përqindje

A keni përdorur ndonjëherë përqindje në vend të pikselëve për të pozicionuar elementë? Nëse përgjigja është po, atëherë ju e dini se zhvendosja e elementit varet nga njësitë e zgjedhura (pikselë ose përqindje).

Është pak e turpshme, apo jo? Pra, së pari le të shohim se çfarë thotë specifikimi për kompensimin e përqindjes:

Kompensimi si përqindje e gjerësisë (për majtas dhe djathtas) ose lartësisë (lart ose poshtë) të bllokut prind. Për elementët e ngjitur, kompensimi llogaritet si përqindje e gjerësisë (për majtas dhe djathtas) ose lartësisë (sipër ose poshtë) të rrjedhës. Vlerat negative janë të lejuara.

Siç u përmend, kur vendoset kompensimi si përqindje, pozicioni i elementit varet nga gjerësia dhe lartësia e prindit të tij.

Demoja tregon këtë ndryshim:

Ky shembull përdor pikselë dhe përqindje për kompensim. Sigurisht, kur specifikoni një zhvendosje në piksel, elementi zhvendoset atje ku duhet të jetë.

Dhe nëse zgjedhim përqindjet për kompensimin, rezultati do të varet nga madhësia e elementit mëmë. Këtu është një vizualizim që tregon se si llogaritet pozicioni i ri:

Shënim: siç ndoshta e dini, vetia e transformimit (së bashku me funksionet e ndryshme të përkthimit) ju lejon gjithashtu të ndryshoni pozicionin e një elementi. Por në këtë rast, kur përdoren përqindjet, llogaritja do të bazohet në madhësinë e vetë elementit, dhe jo në prindin e tij.

konkluzioni

Shpresoj se ky artikull ju ka ndihmuar të kuptoni më mirë pozicionimin në CSS dhe të keni sqaruar çështjet kryesore.

Ata punojnë me të gjithë elementët e pozicionuar përveç atyre statikë.

shembull pozicionimi.

Elementet mund të mbivendosen me njëri-tjetrin!

Shfaqja e një elementi mbi pjesën tjetër!

Vetia e pozicionit ka 4 vlera: statike , fikse , relative dhe absolute . Secila prej këtyre vlerave do të tregohet më poshtë me një shembull të përdorimit.

Para se të kalojmë në të gjitha llojet e ndryshme të elementeve të pozicionimit në një faqe në detaje, do të duhet të shohim rrjedhën e dokumentit.

Rrjedha e dokumentit

Si parazgjedhje, elementët në një faqe interneti shfaqen në rendin në të cilin shfaqen në dokumentin HTML, d.m.th. elementët e bllokut marrin gjerësinë e plotë të disponueshme për ta dhe vendosen vertikalisht njëri nën tjetrin. Elementët e linjës rreshtohen horizontalisht derisa të pushtohet e gjithë gjerësia e disponueshme, pasi të jetë zënë e gjithë gjerësia, do të bëhet një ndërprerje e linjës dhe gjithçka do të shkojë në një të re. Ky rregullim i elementeve quhet rrjedhje normale(e quajtur edhe rrjedha e dokumentit ose rrjedha e përgjithshme).

Duke përdorur veçorinë float ose pozicion, mund të hiqni një element nga rrjedha normale. Nëse një element "bie" nga rrjedha normale, atëherë elementët që ndodhen në kodin poshtë këtij elementi do të zhvendosen në vendin e tij në faqen e internetit.

Pozicionimi statik

Pozicionimi statik i referohet pozicionimit të paracaktuar për të gjithë elementët në një faqe interneti. Nëse nuk aplikoni veçorinë e pozicionit në një element, atëherë ai do të jetë statik dhe do të shfaqet në faqen e internetit sipas rrjedhës së përgjithshme të elementeve.

Kur aplikoni vetitë CSS të sipërme, majtas, djathtas ose të poshtme në një element të pozicionuar statikisht, ato do të shpërfillen.

Nëse është e nevojshme, mund të vendosni pozicionimin statik në fletën e stilit duke përdorur vlerën statike:

Emri i dokumentit

Paragrafi i parë.

Paragrafi i dytë.

Provoni »

Pozicionimi i fiksuar

Elementet me një pozicion fiks vendosen në faqe në lidhje me dritaren e shfletuesit. Elementë të tillë hiqen nga rrjedha e përgjithshme, elementët që ndjekin elementin fiks në rrjedhë do ta injorojnë atë, duke u zhvendosur dhe duke zënë vendin e tij në faqen e internetit.

Vlen t'i kushtohet vëmendje faktit se elementët me një pozicion fiks mund të mbivendosen me elementë të tjerë, duke i fshehur ato plotësisht ose pjesërisht. Kur lëvizin nëpër faqe të gjata, ato krijojnë efektin e objekteve të palëvizshme, duke mbetur në të njëjtin vend:

Emri i dokumentit

Tekst Tekst Tekst Tekst Tekst Tekst Tekst Tekst Disa tekst Tekst Tekst Tekst Tekst Tekst Tekst
Provoni »

Pozicionimi relativ

Elementet e pozicionuar relativë, si elementët statikë, mbeten në rrjedhën kryesore. Kur aplikoni vetitë e sipërme, majtas, djathtas ose poshtë në elementë të pozicionuar relativisht, ato do të zhvendosen nga pozicioni i tyre, duke lënë hapësirë ​​të bardhë ku elementi ishte vendosur fillimisht.

Elementë të tillë nuk ndikojnë në pozicionin e elementeve përreth, pjesa tjetër e elementeve mbeten në vend dhe mund të mbulohen nga një element relativisht i pozicionuar:

Emri i dokumentit

Titulli i nivelit të parë.

Titulli i pozicionuar relativisht.

Drejtues i nivelit të tretë.

Provoni »

Shënim: elementet me pozicion relativ (relativ) zakonisht përdoren si prind për elementët me pozitë absolute (absolute).

Pozicionimi absolut

Elementët e pozicionuar absolutisht hiqen plotësisht nga rrjedha e përgjithshme, elementët e mbetur do të zënë hapësirën e liruar, duke injoruar plotësisht elementët e pozicionuar absolutisht. Më pas mund ta poziciononi elementin kudo që dëshironi në faqen e internetit duke përdorur veçoritë e sipërme, majtas, djathtas ose poshtë.

Të gjithë elementët e pozicionuar absolutisht janë të pozicionuar në lidhje me dritaren e shfletuesit, ose në lidhje me paraardhësin e pozicionuar më të afërt (nëse ka) që ka një veçori pozicioni absolute, fikse ose relative.

Emri i dokumentit

Le të ndryshojmë vendndodhjen e logos duke përdorur pozicionimin absolut.
Tani logoja do të vendoset në këndin e sipërm të djathtë të faqes.

Provoni »

Elemente të mbivendosura

Kur elementët janë jashtë rrjedhës së përgjithshme të faqes, ato mund të mbivendosen me njëri-tjetrin. Normalisht, rendi i elementeve përputhet me renditjen e tyre në kodin HTML të faqes, megjithatë, është e mundur të kontrollohet renditja e mbivendosjes duke përdorur vetinë CSS z-index, sa më e lartë të jetë vlera e saj, aq më i lartë do të jetë elementi.

Emri i dokumentit

z-indeksi: 1;
z-indeksi: 0;
z-indeksi: 2;

Artikujt kryesorë të lidhur