2012-02-24 9 views
23

Przeglądałem system Bootstrap na Twitterze i jestem pod wrażeniem. Jednak nie rozumiem myślenia stojącego za sposobem rozwijania menu nawigacyjnego.Jakie było myślenie za wprowadzeniem menu rozwijanego na Twitterze Bootstrap?

Po pierwsze, aby zobaczyć linki podrzędne, należy kliknąć na rodzica. Widzę zalety tego, ale dlaczego nie stosować bardziej tradycyjnego rozwijania w trybie najechania jako domyślnego?

Po drugie, wydaje się, że myśl przewodnia menu rozwijanego Twitter Bootstrap oświetla strony nadrzędne. Ja prawdopodobnie nie wyjaśniając, że bardzo dobrze ... Say, masz prostą strukturę strony:

  • Home
  • O
    • Zespół
  • Usługi
    • Web Design
    • Hosting
    • Domeny
  • Kontakt

W tradycyjnej strukturze menu rozwijane, że po najechaniu na "o" i "Usługi" i menu rozwijane zawierające zostaną wyświetlone linki podrzędne (np. "projektowanie stron internetowych", "hosting" itp.). Możesz jednak kliknąć stronę nadrzędną (np. "Informacje" i "Usługi") i odwiedzić je.

Z Bootstrap nie możesz mieć strony nadrzędnej w strukturze, musisz użyć znacznika kotwicy ("#"). Kiedy klikniesz to, zobaczysz strony z menu. Nie jest to dobre, jeśli istnieje strona nadrzędna. Nie jest też świetny z semantycznego (co znaczy "#"?) I dostępności (javascript wyłączony, czytniki ekranu itp.).

Pewnie coś przeoczyłem, ale czy ktoś może wytłumaczyć myślenie stojące za tym, zwłaszcza w odniesieniu do stron nadrzędnych i semantycznego html/accessibility?

+1

Będziesz otrzymywać odpowiedzi tylko na podstawie opinii na ten temat, aby uzyskać prostą odpowiedź, dlaczego nie skontaktować się z głównymi programistami bootstrapu? Oto twitterowe mechanizmy programistów: [@doo (http://twitter.com/mdo), [@fat] (http://twitter.com/fat). –

+0

Zdecydowanie interesuje mnie opinia głównych programistów, ale także zainteresowanie poglądami innych osób i tym, jak ludzie używają paska nawigacyjnego Bootstrap w przypadku, który podkreślam powyżej. – iagdotme

Odpowiedz

17

Dokonano tego w ten sposób, ponieważ menu najeżone nie działa dobrze na urządzeniach z ekranem dotykowym.

https://github.com/twitter/bootstrap/issues/1029

+1

Dzięki. Komentarz na Gitubie zasadniczo odpowiada na pytanie. Widzę główne zalety korzystania z tego samego menu na telefonie komórkowym, ponieważ nie widzisz menu rozwijanego po najechaniu myszą, klikając komórkę. Nie rozwiązuje to jednak kwestii dostępności i semantycznych, które podniosłem powyżej. Skontaktuję się z Markiem Otto na ten temat, gdy wspomniał o tym poście na swoim blogu! – iagdotme

0

Istnieje wiele CSS i JS hacki tam do tej funkcji, ale wszystkie coś łamią.

Jestem przeciwny użyciu hover, ale jeśli ktoś naprawdę tego potrzebuje, to zrób to poprawnie.Zrobiłem wtyczkę, która używa tylko bootstrap javascript API bez włamania, tak to działa na wszystkich urządzeniach, bez hamowania użyteczność:

https://github.com/istvan-ujjmeszaros/bootstrap-dropdown-hover

0

Decyzja konstrukcja została wykonana przez ludzi na Twitterze widzieć http://markdotto.com/2012/02/27/bootstrap-explained-dropdowns/

Jeśli spojrzeć na liczbę osób, które poszukują rozwiązania, które unoszą się z powrotem (około 1000 pozytywnych/some 700000 fews jak od 2017-11):

How to make Twitter Bootstrap menu dropdown on hover rather than click

widać, że decyzja nie sprawia, że ​​wszyscy są szczęśliwi. Zwłaszcza jeśli przenosisz strony internetowe zawierające menu na wiele lat, trudno jest "zmusić" ich do nowego stylu za pomocą jakiegoś frameworka.