2016-02-26 16 views
7

ho definito tema prima per material-ui in theme.ts:Tipografia e la spaziatura in materiale-ui

import {Colors, Spacing} from 'material-ui/lib/styles/'; 
import {ColorManipulator} from 'material-ui/lib/utils/'; 
import {Styles} from 'material-ui'; 

export default <Styles.RawTheme> { 
    spacing: Spacing, 
    fontFamily: 'Roboto, sans-serif', 
    palette: <Styles.ThemePalette> { 
     primary1Color: Colors.red500, 
     primary2Color: Colors.red700, 
     primary3Color: Colors.lightBlack, 
     accent1Color: Colors.orangeA200, 
     accent2Color: Colors.grey100, 
     accent3Color: Colors.grey500, 
     textColor: Colors.darkBlack, 
     alternateTextColor: Colors.white, 
     canvasColor: Colors.white, 
     borderColor: Colors.grey300, 
     disabledColor: ColorManipulator.fade(Colors.darkBlack, 0.3), 
     pickerHeaderColor: Colors.red500, 
    } 
}; 

Poi, nel mio costume Reagire componente app.tsx ho applicato questo tema:

import * as React from 'react'; 
import {AppBar, AppCanvas} from 'material-ui'; 
import {ThemeManager, ThemeDecorator} from 'material-ui/lib/styles/'; 
import Theme from 'theme'; 

@ThemeDecorator(ThemeManager.getMuiTheme(Theme)) 
export class App extends React.Component<{}, {}> { 
    constructor(props) { 
     super(props); 
    } 

    render() { 
     return (
      <div> 
       <AppBar title={ 'App' } showMenuIconButton={false}/> 
       <AppCanvas> 
        <h1>Test</h1> 
       </AppCanvas> 
      </div> 
     ); 
    } 
} 

Ma h1 intestazione non è in stile come deve essere nel design dei materiali. No carattere Roboto, dimensione più piccola.

Il materiale-hai stili incorporati o qualcos'altro che posso usare per modellare facilmente intestazioni secondo le linee guida Materiale e anche dare spaziatura (margini e spaziatura) agli elementi?

risposta

0

io non sono sicuro di come la dimensione del carattere viene calcolato nel tema finale, ma se si tratta di una funzione del contenuto di spaziatura, allora è possibile manipolare che con l'aggiunta di una sezione distanza al vostro tema grezzo come questo:

export default <Styles.RawTheme> { 
    fontFamily: 'Roboto, sans-serif', 
    spacing: { 
     iconSize: 24, 
     desktopGutter: 24, 
     desktopGutterMore: 32, 
     desktopGutterLess: 16, 
     desktopGutterMini: 8, 
     desktopKeylineIncrement: 60, // left-nav width = this * 4 
     desktopDropDownMenuItemHeight: 32, 
     desktopDropDownMenuFontSize: 15, 
     desktopLeftNavMenuItemHeight: 30, 
     desktopSubheaderHeight: 48, 
     desktopToolbarHeight: 56 
    }, 
    palette: {...} 
} 

e giocare con quelle impostazioni.

2

Materiale-UI non include il carattere Roboto, it is up to you to include it in your project.

verificare rapidamente questo aggiungendo la seguente nell'elemento <head> del codice HTML e controllando se l'intestazione h1 è in stile:

<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet"> 

Se volete scaricare il tipo di carattere Roboto e includerlo nei vostri beni statici, si può ottenere da qui: https://www.fontsquirrel.com/fonts/roboto

+0

Grazie. Ho votato in su. Ho cercato l'implementazione per gli stili di tipografia da https://material.io/guidelines/style/typography.html#typography-styles. Ho già fatto qualche soluzione. Proverò a condividerlo in seguito. – mixel

Problemi correlati