![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem sobie płynny, dwukolumnowy układ strony z menu po prawej. Nie jest ono bardzo obudowane, wygląda jak takie zawieszone panele. Pomyślałem, że dobrze by było, jakby nie znikało przy przewijaniu strony, bo puste miejsce o szerokości 200 px kiepsko wygląda, a poza tym nakazuje użytkownikom cofać stronę do początku jak chce ujrzeć to menu.
Wszystko byłoby proste, gdyby nie to, że właśnie układ jest płynny i jeszcze panele są po prawej stronie. Ale mam pewien pomysł, tylko nie wiem jak go zrealizować. Mianowicie chciałbym odczytać bezwzględną pozycję elementu (na początku ma się ustawiać normalnie, bo CSS się tym zajmuje żeby wszystko było na swoim miejscu). Po odczytaniu położenia względem okna przeglądarki chciałbym ustawić stałe pozycjonowanie. Wtedy, podczas przewijania strony menu zostawałoby na swoim miejscu. Niestety nie wiem jak się za to zabrać, czy mógłbym prosić o pomoc? -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj tak mam zrobione: http://www.margoextend.net/plugins/top
-------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Hmm... dzięki za rozwiązanko ale mam problem żeby zrozumieć o co chodzi
![]() ![]() -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Te dolary to z http://jquery.com/ , taki framework JS, upraszcza sporo rzeczy i jest bardzo popularny. Right nie jest potrzebny bo pozycja początkowa jest zależna od pozycji rodzica przesuwanego elementu. Niestety bez podstawowej znajomości JS tego nie ugryziesz
![]() -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj tak mam zrobione: http://www.margoextend.net/plugins/top
Chodzi mi o to, że ustawiłeś tylko pozycjonowanie, odstęp od góry i szerokość diva. Gdy ja tak robię poprzez zwykły java script:
To mi wywala kompletnie ten kontener z układu i pokazuje się na górze po lewej (oczywiście jest odstęp od góry), aczkolwiek nie przy samym lewym brzegu, tylko tam gdzie jest blok main_wrapper, który po prostu określa maksymalną szerokość strony. W sumie zdziwiło mnie to, bo jak pozycjonowanie względem przeglądarki, to chyba powinno dotykać lewego brzegu, bo go nie ustawiałem. Btw może i mało wiem z JavaScriptu, ale jakoś szukam tego co potrzebuję. A to pozycjonowanie nie wydaje mi się jakoś szczególnie trudne, tylko na razie nie wiem jak to zrobić ^^ Ten post edytował Asmox 19.04.2011, 18:42:55 -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Bo nie bierzesz w ogóle pod uwagę położenia scrolla, u mnie position fixed ustawia się tylko gdy pozycja scrolla przekracza pewną wartość, spójrz na to:
zamiast relative, może tam być static, ale mi było potrzebne relative, teraz już nie pamiętam czemu ![]() -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Hejka, wiem że stary temat, ale próbuję zrobić to sztywne menu i mam problem - otóż mój układ składa się z dwóch elementów ustawionych jako table-cell i gdy dawałem temu od menu position: 'fixed', to w ogóle gdzieś znikał. Dlatego zastosowałem wewnątrz niego dodatkowy div, do którego są stosowane instrukcje java script:
Kod function posMenu() { var menu = document.getElementById('js_rpanel'); var menuVertPos = menu.offsetTop; if (document.body.scrollTop > menuVertPos) { menu.style.position = 'fixed'; menu.style.top = '-1000'; // czegokolwiek bym nie wpisał i tak nic się nie dzieje :-( menu.style.left = '500'; } else { menu.style.position = 'relative'; } } Fragment szablonu wygląda natomiast tak:
A oto css zastosowany do powyższych elementów Kod div#board div#content { background-color: #101010; border: 6px solid #aaeeff; color: #f9f9f9; padding: .5em 1em; -khtml-border-radius:20px; -moz-border-radius:20px; -icab-border-radius:20px; -webkit-border-radius:20px; border-radius:20px; } div#board div#rpanel { padding-left: 10px; width: 200px; vertical-align: top; } No i na dodatek działa w ogóle tylko w Chromie ![]() Ten post edytował Asmox 16.02.2012, 21:51:35 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 09:45 |