Strona 1 z 1

Pozycja absolute elementu przeszkadza w jego wyświetlaniu.

Napisane: wtorek, 5 sierpnia 2014, 21:39
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ć?

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Napisane: wtorek, 5 sierpnia 2014, 22:05
przez Morfidon
Nie nadawać position absolute ;)

Pokaż jak to wygląda bez absolute i co się dzieje.

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Napisane: wtorek, 5 sierpnia 2014, 22:08
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>

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Napisane: środa, 6 sierpnia 2014, 00:25
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.

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Napisane: środa, 6 sierpnia 2014, 17:26
przez Morfidon
Musisz powiedzieć jakie jest założenie działa "dobrze", nie jestem wstanie stwierdzić, czy to co teraz jest dobrze czy źle.

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Napisane: środa, 6 sierpnia 2014, 18:41
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.

Re: Pozycja absolute elementu przeszkadza w jego wyświetlani

Napisane: czwartek, 7 sierpnia 2014, 00:48
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ść).