zoukankan      html  css  js  c++  java
  • Material UI:很强大的CSS框架

    Material UI 是一款功能很强大,界面却十分清新简洁的CSS框架,Material UI利用了Google的Material Design 全新设计语言,而且让每个UI组件都变得很独立。因此开发人员使用Material UI也会比較简单。和Bootstrap类似,Material UI提供了非常多经常使用的UI组件,除了最主要的菜单、button、滑动杆、进度条、单选框/复选框外,它还提供了一个非常有趣的日历组件。另外还提供了一些非常有趣的图标。

    Material UI 的特点

    • 组件非常丰富,每个组件的风格比較一致。

    • 提供了 npm 包的形式,使用起来相对照较方便。
    • 这一切都是开源的,你能够随意使用这个开源的CSS框架。

    Material UI 的应用实例

    首先我们从最主要的看起。

    菜单

    以下是一个简单的多级下拉菜单

    代码例如以下:

    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}/>

    以下是一个带图标的垂直菜单

    代码例如以下:

    //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,点击button会出现波浪扩散的动画效果。

    代码例如以下:

    //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组件。你能够前往其官方站点下载及学习使用。

    本文转自http://www.codeceo.com/article/material-ui.html

  • 相关阅读:
    OpenGL(二十一) glPolygonOffset设置深度偏移解决z-fighting闪烁问题
    OpenGL(二十) glutSpecialFunc响应键盘方向控制键
    OpenGL(十九) gluOrtho2D、glViewport、glutInitWindowSize区别与关系
    matlab 三维图像的绘制
    matlab 三维图像的绘制
    UIKit和Core Graphics绘图(一)——字符串,线条,矩形,渐变
    jQuery实现密保互斥问题
    Lecture Halls
    POJ 3233 Matrix Power Series (矩阵+二分+二分)
    Wooden Sticks
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6875164.html
Copyright © 2011-2022 走看看