Я пытаюсь настроить параметры шрифта Bootstrap 4 так, чтобы мое веб-приложение хорошо выглядело на мобильных устройствах, таких как телефоны или планшеты, и настольных системах, таких как любой Linux, Mac, Windows с установленным Chrome или Firefox. Теперь, везде, где я читаю об отзывчивой типографии, в руководствах рассказывается о простом процессе , но мне, честно говоря, довольно трудно заставить его выглядеть так, как мне нужно, поскольку я все еще довольно новичок в SASS и Bootstrap 4.
Я скопировал настройки из Bootstrap 4 документа , и это результат в основном файле SASS (style / app.global.scss) моего веб-приложения:
@import "~bootstrap/scss/bootstrap";
@include media-breakpoint-down(md) {
html {
font-size: 3rem;
}
}
Размер шрифта по умолчанию для Bootstrap 4 составляет 16 пикселей на элементе <html>
, что нормально. На моем телефоне (Samsung Galaxy s8) 16px едва читаем из-за плотных пикселей на квадратный дюйм. Так что я поднял его на 3rem
. До этого момента поведение соответствует ожидаемому.
Но есть нежелательный побочный эффект: если я уменьшу окно браузера Chrome на MacBook Pro до меньшей ширины, чем 992px
, размер мобильного устройства 3rem
уйдет, и у меня будут огромные буквы.
Однако я бы хотел добиться того, чтобы на рабочем столе всегда был один и тот же размер шрифта 16px
и чтобы при переходе окна браузера к меньшему размер шрифта не переходил на больший.
Есть ли способ отличить мобильные и настольные устройства в целом? Документы Bootstrap 4 отлично смотрятся на мобильных и настольных компьютерах, и если я уменьшу окно браузера Chrome до меньшей ширины, буквы все равно останутся в том же размере. Для этого в SASS есть специальная команда?
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello React!</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
И index.tsx:
import "bootstrap";
import "./style/app.global.scss";
import * as React from "react";
import * as ReactDOM from "react-dom";
import { Site } from "./components/Site";
import { Title } from "./components/Title";
ReactDOM.render(
<Title titleName="MySite" />,
document.getElementsByTagName("title")[0]
);
ReactDOM.render(
<Site siteName="MySite" />,
document.getElementById("app")
);