|
(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
Domagoj Horvat
Expert
|
![]() tesko ce ovo bit, al ajde...
prije svega, prouci malo sta je to i kako radi relativno pozicioniranje a kako apsolutno. ovo ti je najbolje mjesto za to: http://www.w3.org/TR/CSS2/visuren.html konkretno -> postoji nesto sto se zove 'normal document flow', odnosno, to je nacin na koji browser cita i renderira elemente na stranici (tablice, DIVove, Pove itd itd). Elementi koji nisu pozicionirani nekom posebnom deklaracijom, naci ce se na mjestu na stranici redom kako ih browser pronalazi u kodu (ovo je pojednostavljeno receno, naravno). Medjutim, tako dobivene pozicije elemenata mogu se 'zaobici' odnosno izmijeniti. za to postoji vise nacina, a nas ovdje zanimaju dva: - apsolutno pozicioniranje - relativno pozicioniranje apsolutno kada elementu stavis atribut 'position:absolute;' onda browser to vidi kao da ne postoji u normalnom poretku elemenata vec je iz njega 'izvucen' i pozicioniran prema 'top|right|bottom|left' atributima. Pri tome, 'top|right|bottom|left' vrijednosti su odgovarajuce udaljenosti rubova tog elementa od elementa u kojem se on nalazi (odnosno, njegovog parent elementa). medjutim, da bi parent element mogao biti referenca za pozicioniranje, on sam mora biti nekako pozicioniran (relativno ili pozitivno). relativno pozicija relativno pozicioniranih elemenata izracunava se tako sto se prvo izracuna kao da su u normal flow-u, a na tako dobivenu poziciju dodaju se 'top|right|bottom|left' vrijednosti. drugim rijecima, 'top|right|bottom|left' u tom slucaju predstavljaju pomak u odnosu na normal flow. razlika apsolutnog i relativnog pozicioniranja je i u ponasanju okolnih elemenata (siblings); kod apsolutnog, okolni elementi se ponasaju kao da apsolutno pozicionirani element ne postoji (drugim rijecima, ne ostaje 'rupa' na njegovom mjestu). kod relativnih, rupa ostaje. u tvom konkretnom primjeru, radi se o slijedecem: npr. tvoj layer id="Layer1" je apsolutno pozicioniran sto znaci da ce njegove koordinate biti odredjene vrijednostima 'top|right|bottom|left' i to u odnosu na njegov parent element (odnosno onaj u kojem se on nalazi). u ovom slucaju, to je <td> odnosno celija tabele u koju si ga stavio. kako smo rekli, da bi neki parent element mogao biti referentan za pozicioniranje elemenata koje sadrzi, i on sam mora biti nekako pozicioniran. zato tom <td>-u jednostavno postavis atribut position:relative. dakle, HTML kôd:
<td [b] style="position:relative;"[/b]> <!-- ImageReady Slices (03.psd) --> <div id="Layer1" style="position:absolute; left:566px; top:275px; width:175px; height:429px; z-index:1; background-color: #CCCCCC; layer-background-color: #CCCCCC; border: 1px none #000000;"> <p><font face="Myriad Pro Light Cond">Mixxx is een programma voor DJ's. Het biedt verschillende functies die het leven van de DJ gemakkelijker maken.a. beat esitmation, parallele displays en ondersteuning voor een groot aantal DJ input controllers. [schermafbeeldingen] Homepage: http://surfnet.dl.sourceforge.net</font></p> <p><font face="Myriad Pro Light Cond">/sourceforge/mixxx/mixxx-1.4.2-win.exe</font></p> </div> kada si pak njegovom parent elementu stavio position:relative, tada on postaje referenca za pozicioniranje i layer1 se 'veze' uz taj TD i vise ne klizi ovisno o velicini prozora. naravno, ovo nije nimalo lijepo rjesenje, ali dovoljno je da ilustrira kako ove stvari rade.
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo Poslednja izmena od nixa : 12. 08. 2006. u 04:12. |
![]() |
![]() |
![]() |
#2 |
novi član
Datum učlanjenja: 19.04.2006
Poruke: 9
Hvala: 0
0 "Hvala" u 0 poruka
![]() |
![]() Ovo ja zovem objasnjenjem. Kad bolje razmislim apsolutno ima smisla. Hvala na iscrpnom odgovoru. Mada kod mene i dalje nece da radi. Pokusao sam sve cak i do toga da sam kopirao tvoj kod umesto mog dela od <td> do </div> i isti problem layeri mi beze kad promenim rezoluciju.
Da nisam jos negde napravio koju gresku a da to nisi video. A jos jedno pitanje. Ako nemam celijju td kao u ovom slucaju sta ce mi onda biti parent odnosno referenca za relativno pozicioniranje. |
![]() |
![]() |
![]() |
#3 | |
Domagoj Horvat
Expert
|
![]() sto bi narod reko -> jebo objasnjenje ako stvar ne radi
![]() u IE-u radi, vjerojatno ti gledas u mozilli pa ne radi. posto je tvoj container (odnosno parent) bas TD, ovaj link objasnjava zasto: http://www.quirksmode.org/css/mozilla_table.html Citat:
evo ti recimo jedan link gdje mozes na primjerima vidjet kako to izgleda bez tabela -> http://www.maxdesign.com.au/presentation/page_layouts/
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
|
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Mali problem sa Z-indexom u IE | ljtruba | (X)HTML, JavaScript, DHTML, XML, CSS | 10 | 27. 08. 2010. 11:23 |
JS: Dohvatiti varijednost id atributa u anchors tagovima koji imaju class='selected'? | mb_sa | (X)HTML, JavaScript, DHTML, XML, CSS | 5 | 28. 12. 2009. 00:14 |
mali problem | mirko | Sva početnička pitanja | 8 | 14. 10. 2007. 14:18 |
Mali problem sa ie (neznam kako da opisem) | cvele | (X)HTML, JavaScript, DHTML, XML, CSS | 4 | 29. 11. 2006. 17:59 |
Mali problem, popup | Ilija Studen | (X)HTML, JavaScript, DHTML, XML, CSS | 3 | 19. 10. 2005. 16:20 |