Material UI 是一款功能很强大,界面却十分清新简洁的CSS框架。Material UI利用了Google的Material Design 全新设计语言。并且让每一个UI组件都变得很独立。所以开发人员使用Material UI也会比較简单。和Bootstrap相似,Material UI提供了很是多常用的UI组件。除了最主要的菜单、button、滑动杆、进度条、单选框/复选框外,它还提供了一个很是有趣的日历组件,另外还提供了一些很是有趣的图标。css
首先咱们从最主要的看起。html
如下是一个简单的多级下拉菜单git
代码例如如下:github
nestedMenuItems = [ { type: mui.MenuItem.Types.NESTED, text: 'Reports', items: [ { payload: '1', text: 'Nested Item 1' }, { type: mui.MenuItem.Types.NESTED, text: 'Nested Item 2', items: [ { payload: '1', text: 'Nested Item 2.1' }, { type: mui.MenuItem.Types.NESTED, text: 'Nested Item 2.2', items: [ { payload: '1', text: 'Nested Item 2.2.1' }, { payload: '3', text: 'Nested Item 2.2.2' } ] }, { payload: '3', text: 'Nested Item 2.3' } ] }, { payload: '3', text: 'Nested Item 3' }, { type: mui.MenuItem.Types.NESTED, text: 'Nested Item 4', items: [ { payload: '1', text: 'Nested Item 4.1' }, { type: mui.MenuItem.Types.NESTED, text: 'Nested Item 4.2', items: [ { payload: '1', text: 'Nested Item 4.2.1', disabled: true }, { payload: '3', text: 'Nested Item 4.2.2' } ] }, { payload: '3', text: 'Nested Item 4.3' } ] }, { payload: '4', text: 'Nested Item 5' } ] }, { payload: '1', text: 'Audio Library'}, { payload: '2', text: 'Settings'}, { payload: '3', text: 'Logout', disabled: true} ]; <Menu menuItems={nestedMenuItems} autoWidth={false}/>
如下是一个带图标的垂直菜单web
代码例如如下:npm
//iconClassName is the classname for our icon that will get passed into mui.FontIcon iconMenuItems = [ { payload: '1', text: 'Live Answer', iconClassName: 'muidocs-icon-communication-phone', number: '10' }, { payload: '2', text: 'Voicemail', iconClassName: 'muidocs-icon-communication-voicemail', number: '5' }, { payload: '3', text: 'Starred', iconClassName: 'muidocs-icon-action-stars', number: '3' }, { payload: '4', text: 'Shared', iconClassName: 'muidocs-icon-action-thumb-up', number: '12' } ]; <Menu menuItems={iconMenuItems} autoWidth={false}/>
如下是简单的彩色button。点击button会出现波浪扩散的动画效果。bootstrap
代码例如如下:框架
//Raised Buttons <RaisedButton label="Default" /> <RaisedButton label="Primary" primary={true} /> <RaisedButton label="Secondary" secondary={true} /> <div style={styles.container}> <RaisedButton primary={true} label="Choose an Image"> <input type="file" style={styles.exampleImageInput}></input> </RaisedButton> </div> <div style={styles.container}> <RaisedButton linkButton={true} href="https://github.com/callemall/material-ui" secondary={true} label="Github"> <FontIcon style={styles.exampleButtonIcon} className="muidocs-icon-custom-github"/> </RaisedButton> </div> <RaisedButton label="Disabled" disabled={true} />
如下是Material UI通过美化过的单选框和复选框学习
代码例如如下:动画
<RadioButtonGroup name="shipSpeed" defaultSelected="not_light"> <RadioButton value="light" label="prepare for light speed" style={{marginBottom:16}} /> <RadioButton value="not_light" label="light speed too slow" style={{marginBottom:16}}/> <RadioButton value="ludicrous" label="go to ludicrous speed" style={{marginBottom:16}} disabled={true}/> </RadioButtonGroup>
这是我的认为最美丽的CSS日历组件
代码例如如下:
//Portrait Dialog <DatePicker hintText="Portrait Dialog" //Landscape Dialog <DatePicker hintText="Landscape Dialog" mode="landscape"/> // Ranged Date Picker <DatePicker hintText="Ranged Date Picker" autoOk={this.state.autoOk} minDate={this.state.minDate} maxDate={this.state.maxDate} showYearSelector={this.state.showYearSelector} />
Material UI还有很是多实用的CSS UI组件,你可以前往其官方站点下载及学习使用。