Почему Twitter Bootstrap использует пиксели для размера шрифта?

Учитывая, что Twitter Bootstrap спроектирован так, чтобы быть отзывчивым/удобным для устройства, почему он не использует относительные размеры шрифтов?

Ответ 1

Похоже, что они скрываются за обозревателем масштабирования. Очень грустно видеть, что такая сильно используемая и влиятельная структура полностью игнорирует проблемы доступности и фундаментальный краеугольный камень отзывчивого дизайна. Они находятся в состоянии большой ответственности и, к сожалению, не намерены действовать соответствующим образом.

[Update] Так что сегодня Марк Отто ответил на поток, на который я ссылался выше. Как и ожидалось, нет упоминания о доступности и использовании фразы "пиксель-совершенный":

Хорошо, так вот немного фона на решениях прошлых лет и планирует двигаться вперед.

Пиксели обеспечивают абсолютный контроль и последовательное отображение браузер.

Дизайнеры по-прежнему в основном думают и работают в пикселях.

Браузеры масштабировать все страницы в эти дни, так что это не проблема с типом масштабирования или чего-либо еще.

Вложенность ems исторически была болью и может потребовать дополнительной математики для вычисляемых/предполагаемых значений пикселей.

Смешивающие единицы измерений являются уродливыми, и мой внутренний OCD ненавидит его. Использование единиц на линейной высоте обычно обескуражено, но обеспечивает немедленное знание того, что вычисленное значение. Вероятно, мы попытаемся от этого в будущем. В будущем мы, скорее всего, будем использовать ems для определения размера шрифта, возможно, даже для бэдов, но ни для чего другого. Это также является спорным по размеру шрифтов для ввода и тому подобное. Это просто не то, как люди создают пиксельные идеальные сайты.

Это немного повсюду и, надеюсь, достаточно когерентный. Я попытаюсь сделать блог об этих изменениях, поскольку они приходят больше, но я не уверен, насколько близко 3.0 и что все это повлечет за собой.

Я предлагаю всем, у кого есть сильные чувства по этому поводу, и +1 этот поток.

[Обновить] V3 дорожная карта, опустившаяся в V2.3 release blogpost не упоминает о добавлении поддержки ems.

[Обновить] Больше информации о Bootstrap V3 доступно в запросе pull здесь, включая следующее от Марка Отто:

Мы исследовали использование единиц rem по пикселям, но обнаружили небольшую выгоду чтобы компенсировать последствия их использования. IE8 все равно потребуется пиксель назад, и что много дубликатов строк кода. Более того, используя беты везде, а не пиксели, усугубят эту проблему. Смешивание ребер и пикселей, похоже, не имеет смысла ни сейчас, ни сейчас. Однако мы можем и будем продолжать оценивать это в будущих выпусках.

Затем совсем недавно (в комментариях):

Я очень сомневаюсь, что в этот момент мы будем перевозить с бэрами. изменения все, кроме размеров шрифта, - огромная задача, и мало преимуществ для компенсации этого. Двойные строки кода для шрифтов в остальном, поддержка брах каким-либо другим способом в лучшем случае кажется утомительным. Что сказал, мы всегда можем вернуться в будущем выпуске. Пока что мы придерживаясь пикселей.

Разразившись недовольством большим количеством функций Bootstrap, не в последнюю очередь из-за отсутствия поддержки em, я настоятельно рекомендую посмотреть Susy если вы просто хотите сетки, или Zurb Foundation 4 для всей энчилады. Не позволяйте популярности Bootstrap обладать вашим суждением. Любой может создать что-то с Bootstrap, что в точности является его проблемой - , разработанной для людей с минимальным опытом работы в Интернете. Просто потому, что в мире много Макдональдов, это не значит, что это здоровое место для еды.

[Изменить] ОК. Это было глупо сказать. Поскольку я написал это, я использовал BS3, и он значительно расширил свою игру. Я не должен был делать такой разобщенный комментарий, но я все же считаю, что он принял неверное решение в отношении использования пикселей для определения размера шрифта. Помимо проблем доступности, ems полезны другими способами.

[Обновить] Похоже, что беты будут поддерживаться в V4 (Mdo, указанный в здесь):

Для тех, кто идет дальше, мы сможем изменить с пикселей на REM в версии 4, когда мы отказываемся от поддержки IE8. Пока не удается сделать.

[Update Feb '17] Bootstrap 4 все еще находится в Alpha, но показывает использование rems в Документах по типографии, но не показывает использование ребер в макетах документов.

Ответ 2

Не позволяйте популярности Bootstrap обладать вашим суждением. Любой может построить что-то с Bootstrap, что является именно его проблемой - это предназначен для людей с минимальным опытом работы в Интернете. Просто потому, что много McDonalds 'в мире, не означает, что это здоровое место есть.

Вы могли бы возразить, чтобы не допустить, чтобы оно нарушало ваше мнение отрицательным образом. Это прочная основа, и если вы потрудитесь вкладывать время в то, как эффективно использовать ее, большинство ваших аргументов ложится на нее.

Хотя он часто используется людьми с минимальным опытом - и в этом нет ничего плохого - он также используется людьми с большим опытом.

По крайней мере, это бесценный инструмент для создания прототипов. В лучшем случае он полностью настраивается. Вы можете выбирать, модифицировать, добавлять - вот почему он называется "каркасом".

Я использую его эффективно в некоторых своих проектах уже более двух лет - он такой же худой, как вы этого хотите. Я использовал только структуру формы, только сетки, всю базу кода и настроил ее в соответствии с моими потребностями. Во многих отношениях он "увеличил" мою игру, заставляя меня продолжать препроцессировать, используя переменные, оттачивая то, как я структурирую проекты.

Да, есть некоторые проблемы. px для размеров шрифтов и Less - два. Однако, поскольку он полностью открыт с открытым исходным кодом, вы можете найти варианты, чтобы исправить их обоих.

Я исследовал Foundation и мне понравилось то, что я видел, но я нахожусь в неудачной позиции, связанной с поддержкой IE8, так как многие разработчики находятся. Фонд отказался от поддержки IE8, что сделало его "нет" для меня. Несмотря на это, я не собираюсь отклонять всю структуру, в частности что-то, что можно свободно использовать и свободно изменять, основываясь исключительно на нескольких проблемах!

Черт, в одном проекте я поднял части Фонда и части Bootstrap и добавил свой собственный код - что красота открытого исходного кода.

Ответ 3

Если вы все еще предпочитаете Bootstrap с поддержкой em и rem, вы можете взглянуть на это - https://github.com/ivayloc/twbs-rem-em нет необходимости делать какие-либо вычисление для преобразования пикселей в rem или em единиц, для этого встраивается @mixins - @include rem(property, values) - также откат к px и для em-конвертации вы можете использовать em(value).

Ответ 4

В то время как я активно использую Bootstrap, есть несколько областей, в которых доступность занимает задний план. Я предполагаю, что неизбежные компромиссы с платформой, которая так широко использовалась.

Я полностью понимаю, почему они решили сохранить пиксели для размера шрифта. Проблемы наследования с em для фреймворческих шрифтов - полный кошмар.

rems - альтернативный вариант, но поддержка браузера по-прежнему проблематична.

Вы можете создать свой собственный rems mixin и заменить каждую строку меньше, которая использует базовую переменную размера шрифта.

То, что красота бутстрапа - и его структуры - это основа для работы.

Да, я упомянул о том, что элементы twitter bootstrap, которые не доступны, - один маленький пример: использование "display: none" вместо использования клипа. Я довольно чертовски уверен, что есть веская причина для этого - и опять же, вы можете очень легко изменить это, если хотите.

Bootstrap не безупречен, но я сомневаюсь, что он когда-либо был последним ответом на все ваши требования. Это база - "бутстрап" - изучите ее и используйте ее должным образом, добавьте в нее, смешайте все это - по крайней мере, это потрясающая основа для прототипа или сбрасывание быстрого сайта. Идя дальше, есть некоторые действительно прочные основы, которые могут быть применены к любому веб-сайту.

Ответ 5

Я думаю, его из-за настольного подхода. Twitter Bootstrap - отзывчивый, но "грациозный" подход.