Pozycja absolute elementu przeszkadza w jego wyświetlaniu.

Wszystko o tworzeniu stron w języku X(HTML) i CSS
bielu000
Stały Bywalec
Stały Bywalec
Posty: 84
Dołączył(a): piątek, 8 maja 2009, 14:54

Pozycja absolute elementu przeszkadza w jego wyświetlaniu.

Post przez bielu000 »

Tak jak w temacie -
http://strona-testowa-bielu000.cba.pl/
Aby menu działało popranie, musiałem elementom z menu nadać pozycję absolute przez co wyświetlają się one jeden na drugim, a nie obok siebie, jak można to rozwiązać?
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Post przez Morfidon »

Nie nadawać position absolute ;)

Pokaż jak to wygląda bez absolute i co się dzieje.
bielu000
Stały Bywalec
Stały Bywalec
Posty: 84
Dołączył(a): piątek, 8 maja 2009, 14:54

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Post przez bielu000 »

Jeszcze gorzej ;p Już nie mam pomysłu jak się za to zabrać. Chyba będę próbował to całkowicie przebudować.

Próbowałem jeszcze każdej pozycji z menu nadać float: left. Owszem wyświetlało je obok siebie, ale o ustawieniu tego nie było mowy.

Bo tutaj główny problem wg mnie leży w tym, że odnośnik ma wysokość 23px, a po najechaniu zwiększa się do 46px, ale ta odległość dodaje się jakby do dołu, a gdyby się dodawała do góry tak, że odnośnik jakby podnosił się, to nie byłoby problemu. Tylko jak takie coś zrobić?

Przyszedł mi taki pomysł do głowy, spróbuję pokrótce opisać

Code: Zaznacz cały

<div id="główny">  [i]nadać mu pozycję absolute[/i]
  <div id="menu"> [i]nadać pozycję absolute, i ustwić, żeby był na samym dole poprzedniego kontenera[/i]
   <div class="pozycja_menu">[i]również nadać jej pozycję absolute i ustawić tak aby była na dole poprzedniego kontenera, ale ustawiając tylko parametr top, bez left, ustawić float: left
i tutaj za pomocą javascriptu, w momencie najechania, podmieniać grafikę łącza (pierwotny obrazek ma 23px, "hoverowy" 46px) i automatycznie zmniejszając parametr top o 20px, ale tylko jednego elementu z menu [/i]

  </div>
 </div>
Jest to wykonalne? Mam na myśli głównie to, żeby skrypt w javascripcie zabierał te 20px z parametru top tylko jednemu elementowi. Można byłoby to zrobić, nadając każdemu elementowi osobną klasę, ale wydaje mi się, że można nadać im taką samą ale JS i tak jakoś to sobie sam wyciągnie. Coś mi tam świta, ale JS nie przerabiałem dokładnie (a w zasadzie tylko tak pobieżnie) więc nie do końca wiem, od czego się za to zabrać.
</główny>
bielu000
Stały Bywalec
Stały Bywalec
Posty: 84
Dołączył(a): piątek, 8 maja 2009, 14:54

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Post przez bielu000 »

Niby zrobiłem, tak jak pisałem, problem w tym, że jeśli na stronie załaduje się ta reklama u góry rozpieprza mi wszystko..
Strona i tak będzie postawiona na płatnym serwerze, więc może nie będzie problemu.

//Edit
Pod tym linkiem działa, dość dobrze http://test-bielu000.prv.pl/
Sprawdzałem, na Chrome, IE, FF, Operze.
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Post przez Morfidon »

Musisz powiedzieć jakie jest założenie działa "dobrze", nie jestem wstanie stwierdzić, czy to co teraz jest dobrze czy źle.
bielu000
Stały Bywalec
Stały Bywalec
Posty: 84
Dołączył(a): piątek, 8 maja 2009, 14:54

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Post przez bielu000 »

Powiem tak - u mnie toretycznie działa to tak, że buttony ustawione są zaraz nad tym dużym banerem, po najechaniu dany button jest podnoszony do góry i podmieniana jest jego grafika (fakt troche przestarzała metoda, teraz to już można w css zrobić). Problem pojawia się gdy ktoś zmniejsza okno przeglądarki bo wtedy buttony wyświetlają się jeden pod drugim. Jak to wygląda u Pana Panie Arkadiuszu i ewentualnie co tutaj zmienić? Jestem gotów przerobić to całe menu byle tylko działało poprawnie.
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Post przez Morfidon »

Żeby po zmianie rozdzielczości floating nie sprawiał, że elementy przechodzą do następnego wiersza nadaj na wyżej położonym elemencie STAŁĄ wartość dla width (szerokość).
Post Reply