Ocena wątku:
  • 1 głosów - średnia: 5
  • 1
  • 2
  • 3
  • 4
  • 5
[css][xhtml] poziome menu rozciągnięte między dwoma krawędziami
#1
Witam,
potrzebuję zrobić poziome menu. Menu będzie zawierało zmienną ilość linków. Pierwszy link menu musi być przyklejony do lewej strony DIVa który będzie przechowywał menu zaś prawy link do prawej strony. Chcę, żeby odległości między linkami były automatycznie zmieniane po dodaniu nowego linka. Próbowałem to zrobić ale póki co udaje mi się uzyskać 'statyczne' menu - czyli odległości między elementami menu ustalone na sztywno - co po dodaniu nowego linka rozwala całe menu. Czy jest jakiś sprytny sposób na zrobienie tego aby odległości ustalały się automatycznie?

Kod:
    <div id="menu">
        <ul>
            <li><a href="">link 1</a></li>
            <li><a href="">link 2</a></li>
            <li><a href="">link 3</a></li>
            <li><a href="">link 4</a></li>
        </ul>
    </div>

link 1 powinien mieć margin-left: 0 a link 4 margin-right: 0;

jakieś porady?
Odpowiedz
#2
żeby wyrównać szerokości pomiędzy komórkami i pod warunkiem, że możesz olać IE6 i IE7, to poszukaj właściwości display: table;

dla pierwszego elementu <li> daj klasę np. first, dla ostatniego last i ostyluj to cssem

jeśli to ma być cross-browser... zostaje Ci albo tabela w htmlu albo przeszukanie google Wink
90% kodu zajmuje 90% czasu,
pozostałe 10% zajmuje drugie tyle
Odpowiedz
#3
Albo jquery. 1 -2 linijki kodu
Odpowiedz
#4
@Kartofelek
do liczenia szerokości każdego elementu, czy oznaczania pierwszego i ostatniego <li> ?
90% kodu zajmuje 90% czasu,
pozostałe 10% zajmuje drugie tyle
Odpowiedz
#5
Liczenia. Albo oznaczenia. ;] Jak ma byc dynamicznie 100%, to wtedy same css coś mi się wydaje że nie zadziałają.
Zresztą to i tak nie zawsze możliwe bo:

link1 | link_2 | super_długi_link_który_jest_najdlozszym_linkkiem_w_historii_internetu_3 | tyci_link4

Tak więc albo tabela, albo display-table (zawodne), albo jquery.

Albo zmienić podejście do całej sprawy Smile
Odpowiedz
#6
Jquery odpada - chcę to zrobić na czystym html, css - javascript będę dodawał poźniej. Chcę żeby było też zgodnie ze standardami oraz żeby kod był semantyczny. Dlatego tabelka też odpada. Nie temu służy Smile

Myślałem, że robi się to za pomocą jakiejś konfiguracji elementów display, position i text-position w odniesieniu do diva zawierającego i poszczególnych <li>

Widocznie będę musiał poszukać głębiej Smile
Odpowiedz
#7
"Dlatego tabelka też odpada. Nie temu służy"
???????????
Czekaj dodam jeszcze kilka
?????????

Nikt nie mówi tutaj o tabelce. Mówimy o display:table
Jedno z drugim nie ma nic wspólnego Smile

Co mogę powiedzieć. Życzę powodzenia w czystym CSS który zadziała na większości przeglądarek (nawet nie mówię tutaj o IE6). Jak ci się uda koniecznie napisz rozwiązanie, bo sam jestem ciekaw.
Odpowiedz
#8
"Tak więc albo tabela, albo display-table (zawodne), albo jquery."

Jak coś znajdę to dam znać Smile
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  problem z tłem pod menu loose 1 3,157 06-07-2017, 20:00
Ostatni post: loose
  problem z menu p410 10 10,359 18-06-2017, 18:34
Ostatni post: lemans88
  CSS dla menu i problem z selektorami neferith 4 5,269 30-06-2016, 00:58
Ostatni post: Brain23
  MENU - poważny problem wysokości! asus 0 2,539 05-12-2014, 23:34
Ostatni post: asus
  Trzypoziomowe menu - problem rejcz 3 5,677 25-01-2014, 17:16
Ostatni post: Kartofelek

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl