Biorąc pod uwagę, że Twitter Bootstrap został zaprojektowany tak, aby był responsywny / przyjazny dla urządzeń, dlaczego nie używa względnych rozmiarów czcionek?
Biorąc pod uwagę, że Twitter Bootstrap został zaprojektowany tak, aby był responsywny / przyjazny dla urządzeń, dlaczego nie używa względnych rozmiarów czcionek?
Wygląda na to, że chowają się za wymówką powiększania przeglądarki . Naprawdę smutne, że tak intensywnie używana i wpływowa struktura całkowicie ignoruje problemy z dostępnością i fundamentalną podstawą projektowania responsywnego. Na nich spoczywa wielka odpowiedzialność i niestety wydaje się, że nie mają zamiaru działać zgodnie z tym.
[Aktualizacja] Więc dzisiaj Mark Otto odpowiedział w wątku, o którym wspomniałem powyżej. Jak można się było spodziewać, nie ma wzmianki o dostępności i używaniu wyrażenia „perfekcyjny w pikselach”:
Okay, więc oto trochę informacji o decyzjach z przeszłości i planach na przyszłość.
Piksele zapewniają absolutną kontrolę i spójne renderowanie w każdej przeglądarce.
Projektanci nadal w większości myślą i działają w pikselach.
Obecnie przeglądarki skalują w górę całe strony, więc nie jest to problem ze skalowaniem typów ani czymkolwiek.
Zagnieżdżanie ems było w przeszłości uciążliwe i może wymagać dodatkowej matematyki dla obliczonych / zamierzonych wartości pikseli.
Mieszanie jednostek miary jest brzydkie, a mój wewnętrzny OCD tego nienawidzi. Używanie jednostek na wysokości linii jest generalnie odradzane, ale zapewnia natychmiastową wiedzę o tym, jaka jest obliczona wartość. Prawdopodobnie spróbujemy od tego odejść w przyszłości. W przyszłości prawdopodobnie użyjemy em do określania rozmiaru typu, być może nawet remów, ale nie do niczego innego. Jest to również dyskusyjne w zakresie rozmiarów czcionek dla danych wejściowych i tym podobnych. Po prostu nie chodzi o to, jak ludzie tworzą witryny doskonałe pod względem pikseli.
To trochę skończone i mam nadzieję, że wystarczająco spójne. Spróbuję napisać na blogu o tych zmianach w miarę ich pojawiania się, ale nie jestem pewien, jak blisko jest 3.0 i co to wszystko będzie wiązało się z tym.
Sugerowałbym każdemu, kto ma silne przeczucia co do tego, aby dał +1 temu wątkowi .
[Aktualizacja] Mapa drogowa V3 przedstawiona w poście na blogu o wydaniu V2.3 nie wspomina o dodaniu obsługi ems.
[Aktualizacja] Wiele więcej informacji na temat Bootstrap V3 dostępnych jest w żądaniu ściągnięcia tutaj, w tym następujące od Marka Otto:
Zbadaliśmy użycie jednostek rem zamiast pikseli, ale okazało się, że niewiele korzyści zrównoważy konsekwencje ich użycia. IE8 nadal wymagałby rezerwowego piksela, a to dużo zduplikowanych linii kodu. Co więcej, używanie remów wszędzie zamiast pikseli pogorszyłoby ten problem. Mieszanie remów i pikseli również nie ma teraz sensu. Jednak możemy i będziemy nadal oceniać to w przyszłych wersjach.
Potem ostatnio (w swoich komentarzach):
Wątpię, czy w tym momencie będziemy wysyłać remy. Zmiana wszystkiego - poza rozmiarami czcionek - jest ogromnym zadaniem i ma niewiele korzyści, aby to zrównoważyć. Podwojenie linii kodu dla rozmiarów czcionek na bok, obsługa remów w jakikolwiek inny sposób wydaje się w najlepszym razie uciążliwa. To powiedziawszy, zawsze możemy wrócić do przyszłej wersji. Na razie trzymamy się pikseli.
Będąc niezadowolonym z dużej liczby funkcji Bootstrapa, z których nie mniej ważnym jest brak wsparcia em, zdecydowanie sugeruję przyjrzenie się Susy, jeśli chcesz tylko siatki, lub Zurb Foundation 4 dla całej enchilady. Nie pozwól, aby popularność Bootstrap przesłaniała Ci ocenę. Każdy może zbudować coś za pomocą Bootstrap, co jest właśnie jego problemem - jest przeznaczony dla osób z minimalnym doświadczeniem w Internecie. To, że na świecie jest dużo McDonalda, nie oznacza, że jest to zdrowe miejsce do jedzenia.
[Edytuj] OK. To była głupia rzecz do powiedzenia. Odkąd to napisałem, korzystałem z BS3 i znacznie poprawiło to jego jakość. Nie powinienem był robić tak wyrzuconego komentarza, ale nadal uważam, że podjął złą decyzję dotyczącą wykorzystania pikseli do zmiany rozmiaru czcionki. Oprócz problemów z dostępnością ems są przydatne na inne sposoby.
[Aktualizacja] wygląda REMS będą wspierane w V4 (MDO cytat z tutaj ):
Dla tych, którzy podążą dalej, będziemy mogli zmienić piksele na REM w wersji 4, gdy porzucimy obsługę IE8. Do tego czasu niewiele mogę zrobić.
[Aktualizacja, luty '17] Bootstrap 4 jest nadal w wersji alfa, ale pokazuje użycie remów w swoich dokumentach Typography , ale nie pokazuje użycia remów w swoich dokumentach układu .
em
jest wymagana dla takich osób, stąd „dostępność”.Możesz argumentować, że nie pozwolisz, by negatywnie wpłynęło to na twój osąd. To solidne ramy i jeśli zadasz sobie trud zainwestowania czasu w efektywne wykorzystanie go, większość argumentów spada na głowę.
Chociaż jest często używany przez osoby z minimalnym doświadczeniem - i nie ma w tym nic złego - jest również używany przez osoby z dużym doświadczeniem.
Przynajmniej jest to nieocenione narzędzie do prototypowania. W najlepszym przypadku jest w pełni konfigurowalny. Możesz wybierać i wybierać, modyfikować, dodawać do - dlatego nazywa się to „ramą”.
Używam go skutecznie w niektórych moich projektach od ponad dwóch lat - jest tak oszczędny, jak chcesz. Użyłem tylko struktury formularza, tylko siatek, całej bazy kodu i dostosowałem ją do swoich potrzeb. Pod wieloma względami „poprawiło” to moją grę, prowadząc mnie dalej do przetwarzania wstępnego, używania zmiennych, doskonalenia struktury projektów.
Tak, są pewne problemy.
px
dla rozmiarów czcionek i używania Less to dwa. Jednak ponieważ jest to całkowicie otwarte oprogramowanie, możesz łatwo znaleźć opcje, aby zaradzić obu tym problemom.Zbadałem Fundację i spodobało mi się to, co zobaczyłem, ale jestem w niefortunnej sytuacji, że muszę wspierać IE8, tak jak wielu programistów. Fundacja zrezygnowała ze wsparcia dla IE8, co sprawia, że jest to dla mnie „nie idź”. Mimo to nie zamierzam odrzucać całego frameworka, a zwłaszcza czegoś, co jest darmowe i można je dowolnie modyfikować wyłącznie na podstawie kilku problemów!
Do licha, w jednym projekcie podniosłem części Foundation i części Bootstrap i dodałem własny, niestandardowy kod - na tym polega piękno open source.
źródło
Jeśli nadal wolisz Bootstrap z obsługą em i rem, możesz rzucić okiem na to - https://github.com/ivayloc/twbs-rem-em nie ma potrzeby wykonywania żadnych obliczeń, aby przekonwertować piksele na jednostki rem lub em, jest
@mixins
do tego@include rem(property, values)
wbudowany - - również powrót do px i do konwersji em można użyćem(value)
.źródło
Chociaż intensywnie korzystam z Bootstrap, jest kilka obszarów, w których dostępność jest na drugim planie. Myślę, że są nieuniknione kompromisy z platformą, która jest tak szeroko używana.
Całkowicie rozumiem, dlaczego zdecydowali się zachować piksele dla rozmiaru czcionki. Problemy z dziedziczeniem z em dla czcionek frameworka są totalnym koszmarem.
rems są alternatywną opcją, ale obsługa przeglądarek nadal jest problematyczna.
Możesz stworzyć własną mieszankę remów i zastąpić każdą linię less, która używa podstawowej zmiennej rozmiaru czcionki.
Na tym polega piękno bootstrap - i podobnych frameworków - to solidna podstawa do pracy.
Tak, wspomniałem, że w bootstrapie na Twitterze są elementy, które nie są zbyt dostępne - jeden mały przykład, użycie „display: none” zamiast używania klipu. Jestem prawie pewien, że istnieje ku temu ważny powód - i znowu, możesz bardzo łatwo to zmodyfikować, jeśli chcesz.
Bootstrap nie jest bezbłędny, ale wątpię, czy kiedykolwiek miał być ostateczną odpowiedzią na wszystkie Twoje wymagania. To podstawa - „bootstrap” - naucz się go i wykorzystaj właściwie, dodaj do tego, pomieszaj wszystko - co najmniej jest to niesamowity framework do prototypowania lub tworzenia szybkiej witryny. Idąc dalej, jest kilka naprawdę solidnych podstaw, które można zastosować w dowolnej witrynie.
źródło
Myślę, że to z powodu pierwszego podejścia do komputerów stacjonarnych. Twitter Bootstrap jest responsywnym przyjaznym, ale podejściem „wdzięcznej degradacji”.
źródło