Проблемы с использованием bootstrap с rem = 10px

Я использую Bootstrap 4 в своем проекте. Я также начинаю использовать rem в качестве единицы длины. Я установил rem = 10px, чтобы легко преобразовать px в rem, что, как я считаю, является стандартной практикой. Но это делает все настройки Bootstrap по умолчанию непригодными для использования (т.е. слишком маленькими). Это происходит потому, что Bootstrap начал использовать rem вместо px. Поэтому, если я устанавливаю свой rem = 10px, мне приходится вручную стилизовать каждый элемент, даже кнопки, потому что все элементы становятся слишком маленькими.

В качестве примера:

Для .lead значение font-size равно 1,25rem = 12,5px. Это слишком мелкий текст.

Мне просто интересно, что разработчики, которые используют Bootstrap в своем проекте, используют ли они rem или px в качестве единицы длины. Если rem, это 10px или 16px?

Обновлено: добавление изображения, чтобы сделать его более четким

Проблемы с использованием bootstrap с rem = 10px

Надеюсь, это не глупый вопрос.

Я иногда использую em, поскольку он масштабирует заголовки относительно области просмотра. С px он может сделать размер текста заголовка и абзаца непропорциональным для разных размеров экрана.

Jake 25.06.2018 18:37

Добавьте пример кода в свой CSS, где это проблема, лучший ответ может быть предоставлен, когда у вас есть вариант использования, о котором вы говорите.

Jake 25.06.2018 18:37

@Jake Спасибо за отзыв. Добавил картинку.

dasfdsa 25.06.2018 18:49
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
3
2 678
4

Ответы 4

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

В этом случае я считаю, что для начальной загрузки используется стандартный 16px = 1rem, и, как вы сказали, если вы хотите использовать другую базовую единицу, вам придется переназначить все значения начальной загрузки по умолчанию.

Вы правы насчет недостатка. Я просто хочу знать, как разработчики это обходят. Они перестают использовать rem с начальной загрузкой? или они оставляют 16px?

dasfdsa 25.06.2018 18:49

Я бы сказал, что если вы настроены на использование начальной загрузки, используйте 16 пикселей в качестве базовой единицы.

Daniel Bernardi 26.06.2018 19:41
  • Только Bootstrap 4: Одно, не очень хорошее решение, которое приходит мне в голову, - это создать переменные css и использовать их повсюду, полностью отказавшись от rem.

    :root{ --custom-rem: 10px; }

  • SCSS с бутстрапом 4: если вы используете SCSS, напишите функцию, которая будет принимать px в качестве входных данных и преобразовывать их в rem. Таким образом, вы можете уйти с rem = 16px. @function remy($pxsize) { @return ($pxsize/16)+rem; }

    .myclass{ margin-right: remy(10);; }

PS: Я почему-то не могу форматировать код.

Это что-то вроде одного (у)

Krish 26.09.2018 14:09

px не является надежным устройством для разных устройств, так как DPI различается. Вот почему Bootstrap использует rem. Это не первая их попытка реализовать rem в качестве общей единицы интервала, но в прошлом они отказались от поддержки из-за отсутствия поддержки в устаревших браузерах. Похоже, это больше не проблема ...

Bootstrap 3 использовал font-size: 10px; на <html>, чтобы установить 1rem = 10px.

Bootstrap 4 использует font-size: 16px; на мобильных устройствах и font-size:14px на устройствах большей или большей плотности.

См. Еще несколько мнений в это обсуждение.

Я думаю, что реальный ответ здесь - установить базовый rem на 10 пикселей в html, а затем изменить bootstrap var $ font-size-base на 1.6rem, и все эти проблемы исчезли.

Другие вопросы по теме