Les conceptions ont généralement des polices de titre plus petites pour les conceptions mobiles.
Material-UI a-t-il un mécanisme pour rendre la typographie sensible?
Je vois que le thème par défaut a les tailles de police définies dans rems - cela signifie-t-il qu'il s'agit simplement de réduire la taille de police de base? (Cela ne semble pas fonctionner, que se passe-t-il si vous souhaitez réduire les polices de titre à des taux différents).
Il n'existe aucun mécanisme spécifique pour définir des tailles de typographie réactives.
Vous pouvez mettre à l'échelle la taille de tous les MUI Typography
en modifiant le font-size
du <html>
élément, comme vous l'avez mentionné. ( documents )
const styles = theme => ({
"@global": {
html: {
[theme.breakpoints.up("sm")]: {
fontSize: 18
}
}
}
}
Remplace le thème
Pour autant que je sache, la seule autre option consiste à utiliser des remplacements de thème pour définir des styles personnalisés pour chacune des variantes Typography
.
Cela nécessite de répliquer une partie de la logique dans createTypography.js (c'est-à-dire en définissant des hauteurs de ligne pour maintenir le rythme vertical)
const theme = createMuiTheme({
overrides: {
MuiTypography: {
headline: {
fontSize: pxToRem(24),
[breakpoints.up("md")]: {
fontSize: pxToRem(32)
}
}
}
}
Mise à jour
MUI v4 intègre une typographie réactive! Vérifiez ici pour plus de détails.
Ancienne réponse
La réponse de @ luke est excellente. Je voulais ajouter quelques détails pour que cela fonctionne dans la pratique, car les deux points d'arrêt et pxToRem sont accessibles sur l'objet du thème ... le meaking cela devient un poulet et problème d'oeufs! Mon approche:
import { createMuiTheme } from "@material-ui/core"
const defaultTheme = createMuiTheme({ ... customisations that don't rely on theme properties... })
const { breakpoints, typography: { pxToRem } } = defaultTheme
const theme = {
...defaultTheme,
overrides: {
MuiTypography: {
h1: {
fontSize: "5rem",
[breakpoints.down("xs")]: {
fontSize: "3rem"
}
}
}
}
}
export default theme
J'espère que cela est utile à quelqu'un!