2016-02-26 76 views
7

我在theme.ts定義原始主題material-ui印刷術和間隔材料的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, 
    } 
}; 

然後在我的定製陣營部件app.tsx我應用這個主題:

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> 
     ); 
    } 
} 

但是h1頭不是因爲它必須是材質設計。沒有Roboto字體,更小的尺寸。

material-ui是否有內置樣式或其他可用於根據材質準則輕鬆設置標題樣式的其他內容,還可以爲元素提供間距(邊距和填充)?

回答

0

我不知道大小如何字體在最後的主題進行計算,但如果是在距內容的功能,那麼你可以通過添加分隔區間,將原始的主題這樣的操作是:

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: {...} 
} 

並玩這些設置。

2

Material-UI不包含Roboto字體,it is up to you to include it in your project

迅速在你的HTML的<head>元素加入以下和檢查,如果你的h1頭的樣式驗證這一點:

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

如果你想下載的Roboto字體,包括它在你的靜態資產,你可以從這裏得到它:https://www.fontsquirrel.com/fonts/roboto

+0

謝謝。我upvoted。我從https://material.io/guidelines/style/typography.html#typography-styles尋找版式樣式的實現。我已經做了一些解決方法。稍後會嘗試分享。 – mixel