Blackhole
22.01.2014, 19:27:33
Cześć Wam

Natknąłem się na bardzo dziwny dla mnie problem. Mam stronę
http://doscniewoli.pl na której w mojej przeglądarce (Firefox 26 na systemie Debian Linux) linki w lewym menu są aktywne.
Spróbujcie teraz zmienić w GET parametr ile z 4 na 5 lub 6 i znów sprawdźcie, czy linki są aktywne. U mnie aktywne są tylko w dół od linii poziomej wyznaczonej przez dolną krawędź srodkowego DIV-a z nazwami miesięcy. Też tak macie?
Ktoś może mi powiedzieć, jak się tego pozbyć?
kreatiff
22.01.2014, 19:59:55
div#content nachodzi na div#left. On nachodzi cały czas, ale jak zmienisz ile=5, to pojawia się dodatkowy miesiąc na środku strony i wydłuża #content, tak, że zaczyna przykrywać łącza z menu po lewej.
Ten layout jest do poprawek. Wspomniane divy nie powinny nachodzić na siebie.
Luna_s20
22.01.2014, 20:01:18
Z tego co widzę, to musisz po prostu poprawić styl css.
"#menu" w którym zawarte są twoje linki nawigacyjne, jest dłuższe od "#page", wystaje z niego. I to jest powód dla którego w ogóle w cokolwiek można kliknąć gdy środek jest dłuższy.
W środkowej części w ten sam #page masz wpisany #content (#page ma ustaloną szerokość na 1200px, a #content... na 100%, więc po prostu ZAKRYWA twoje menu na standardowych rozdzielczościach. Nie zapominaj że użytkownicy będą najpewniej odwiedzać stronę z RÓŻNYCH urządzeń, w tym telefonów komórkowych czy małych poręcznych laptopów - oraz z różnych przeglądarek. Nie każdy ma tv podpięte pod komputer ;]
Nie wiem, po co niepotrzebna zabawa z position: absolute, i wklejaniem w siebie aż tylu div'ów, gdy można zrobić 3 niezależne bloki z parametrem display: inline (div'y zaczną się na tej samej wysokości i będą ustawione obok siebie a nie jeden pod drugim - wtedy nie ma obawy że zmiany w jednym z nich zaszkodzą innym, nie trzeba niczego przesuwać "-533px", bo zauważyłam że prawie wszystkie twoje klasy mają ustawione parametry dla "top" i "left", co przy prawidłowej konstrukcji html byłoby zbędne. Resztę dostosujesz sobie marginesem, a przynajmniej ci się całość nie rozjedzie na innych przeglądarkach.
Blackhole
22.01.2014, 22:04:45
Dzięki za odpowiedzi.
Nie wie, czy wszystko dobrze zrozumiałem... Usunąłem "position" i włożyłem do #page (który zrobiłem "display: inline") po kolei: #left (niebieskawy), #content (zielony, w nim #baner (żółtawy), #mcontent i #foot) oraz #right (czerwonawy).
Teraz jednak wszystko jest jedno pod drugim, a chciałbym by było jedno za drugim (od lewej na prawo).
Coś więc jeszcze nie jest tak, jak sugerowaliście, ale nie bardzo wiem co.
http://doscniewoli.pl
kreatiff
22.01.2014, 23:43:52
Luna_s20
23.01.2014, 11:54:09
Wartość "display:inline" przypisujesz temu div'owi, który ma się wyświetlać w rzędzie - podrzędnemu, a nie temu, który go zawiera.
* Z display-inline może być problem pod IE - wtedy stosujesz
.cośtam{
display:inline;
*display:inline;
}