【发布时间】:2019-04-15 14:48:55
【问题描述】:
我正在尝试正确设置我的 Bootstrap 4 字体大小,以便我的 Web 应用程序在移动设备(如手机或平板电脑)和桌面系统(如任何安装了 Chrome 或 Firefox 的 Linux、Mac、Windows )上看起来不错。现在,无论我在哪里读到响应式排版,手册都在谈论一个简单的过程,但老实说,我很难让它看起来像我需要的那样,因为我对 SASS 和 Bootstrap 4 还很陌生。
我从Bootstrap 4 docs 复制了设置,这是我的 Web 应用程序的主 SASS (style/app.global.scss) 文件中的结果:
@import "~bootstrap/scss/bootstrap";
@include media-breakpoint-down(md) {
html {
font-size: 3rem;
}
}
Bootstrap 4 的默认字体大小是 <html> 元素上的 16px,这没问题。但在我的手机上(三星 Galaxy s8),由于每平方英寸的密集像素,16px 几乎无法读取。所以我把它移到了3rem。到这里为止,行为符合预期。
但是,如果我将 MacBook Pro 上的 Chrome 浏览器窗口缩小到比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")
);
【问题讨论】:
标签: twitter-bootstrap fonts sass responsive-design bootstrap-4