MDC 排版是特定于 Roboto 字体的,还是我们可以使用其他 Google 字体实现,如果是这样,推荐的方法是否只是将font-family
CSS 应用于body
?
最后,似乎所有标题元素都与<h1>
似乎破坏了 HTML5 语义性质的元素相关联,即h1
通常比h5
.
MDC 排版是特定于 Roboto 字体的,还是我们可以使用其他 Google 字体实现,如果是这样,推荐的方法是否只是将font-family
CSS 应用于body
?
最后,似乎所有标题元素都与<h1>
似乎破坏了 HTML5 语义性质的元素相关联,即h1
通常比h5
.
MDC-Web 是一个可定制的库,鉴于Google 不禁止将您的品牌样式与 Material Design 框架一起使用,您可以自由使用任何字体,而不仅仅是“Roboto”。
如果您使用纯 CSS 方法,添加font-family
tobody
是不够的:MDC-Web 将默认排版样式(包括font-family
)应用于不同的组件(例如 、、mdc-button
)和排版类,它们仍然会应用“Roboto”字体。所以,如果你打算使用这样的 MDC-Web 组件和类,你需要为它们中的每一个手动指定:mdc-list
mdc-card
font-family
.mdc-button {
font-family: "Open Sans", sans-serif;
}
.mdc-list {
font-family: "Open Sans", sans-serif;
}
.mdc-card__supporting-text {
font-family: “Open Sans”, sans-serif;
}
但这可能很乏味,因此生成 MDC-Web 样式的推荐方法是使用 Sass。具体来说,在导入组件之前,您需要在文件中覆盖MDC-Web 的排版变量:.scss
$mdc-typography-font-family: "Open Sans", sans-serif;
@import "@material/typography/mdc-typography";
如果你不想使用 SASS,你可以通过在你的 css 中设置变量来做一些基本的自定义。例如:
<link href="https://fonts.googleapis.com/css?family=Nunito+Sans:200,300,400,600,700" rel="stylesheet">
<link rel="stylesheet" href="https://unpkg.com/material-components-web@latest/dist/material-components-web.min.css">
<link rel="stylesheet" href="/assets/css/site.css" />
site.css
:root {
--mdc-typography-font-family: 'Nunito Sans', sans-serif;
}
body {
font-family: var(--mdc-typography-font-family);
}
您还可以使用如下变量覆盖默认主题颜色:
--mdc-theme-primary: #0d46a0;
更多信息可以在这里找到:https ://material.io/develop/web/docs/theming