您当前位置:首页 > 文章中心 > HTML5+CSS3 > CSS3

Material UI:非常强大的CSS框架

稿件来源: 码农网   撰稿作者: 小峰   发表日期: 2015-06-27   阅读次数: 122   查看权限: 游客查看

Material UI:非常强大的CSS框架

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

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

按钮

下面是简单的彩色按钮,点击按钮会出现波浪扩散的动画效果。

代码如下:

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

关键词: Meterial,ui   编辑时间: 2015-06-27 23:40:20

  • 感到高兴

    0

    高兴
  • 感到支持

    0

    支持
  • 感到搞笑

    0

    搞笑
  • 感到不解

    0

    不解
  • 感到谎言

    0

    谎言
  • 感到枪稿

    0

    枪稿
  • 感到震惊

    0

    震惊
  • 感到无奈

    0

    无奈
  • 感到无聊

    0

    无聊
  • 感到反对

    0

    反对
  • 感到愤怒

    0

    愤怒
0%(0)
0%(0)
共有0 条评论 发言请遵守【相关规定

网友评论

会员头像
发 表同步腾讯微博    验证码:  点击更新请先登陆
  • 暂无评论
关闭模块文章图片 article Pictrue
  • 我的妈妈爸爸
  • 基于koa2+mysql+vue2.0+Element阳光内容管理系统
  • 代码覆盖率工具 Istanbul 入门教程
  • 全栈工程师的武器——MEAN
  • 9款超炫的 CSS3 复选框(Checkbox)
  • 微信开发在线翻译功能
  • CSS3那些不为人知的高级属性
  • 给easyui的datebox添加清空事件
  • flash写字效果
  • kendoUI系列教程之DropDownList下拉菜单
  • kendoUI系列教程之datetimepicker日期时间选择
  • kendoUI系列教程之datepicker日期选择
  • kendoUI系列教程之combobox下拉列表框
  • kendoUI系列教程之colorpicker
  • kendoUI系列教程之calendar日历表
  • kendoUI系列教程之autocomplete自动补齐