Material使用04 MdCardModule和MdButtonModule综合运用

设计需求:设计一个登陆页面

    

 

1 模块导入

  1.1 将MdCardModule和MdButtonModule模块导入到共享模块中

    

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MdSidenavModule, MdToolbarModule,MdIconModule,MdButtonModule,MdIconRegistry,MdCardModule,MdInputModule} from '@angular/material';import { HttpModule } from '@angular/http';@NgModule({imports: [CommonModule,HttpModule,MdSidenavModule,MdToolbarModule,MdIconModule,MdButtonModule,MdCardModule,MdInputModule],declarations: [],exports: [CommonModule,MdSidenavModule,MdToolbarModule,MdIconModule,MdButtonModule,HttpModule,MdCardModule,MdInputModule]
})
export class SharedModule { }
View Code

  1.2 将material依赖的动画模块通过cnpm进行下载,并将动画模块导入到核心模块中

    cnpm install --save @angular/animation

    

import { NgModule, Optional, SkipSelf } from '@angular/core';
import { SharedModule } from '../shared/shared.module';
import { HeaderComponent } from './header/header.component';
import { FooterComponent } from './footer/footer.component';
import { SidenavComponent } from './sidenav/sidenav.component';import { DomSanitizer } from '@angular/platform-browser';
import { MdIconRegistry } from '@angular/material';
import { loadSvgResources } from '../utils/loadSvgResources'import { BrowserAnimationsModule } from '@angular/platform-browser/animations';@NgModule({imports: [SharedModule,BrowserAnimationsModule],declarations: [HeaderComponent, FooterComponent, SidenavComponent],exports: [HeaderComponent, FooterComponent,SidenavComponent]
})
export class CoreModule { constructor(@Optional() @SkipSelf() parentModule: CoreModule,mdIconRegistry: MdIconRegistry,domSanitizer: DomSanitizer) {if (parentModule) {throw new Error('CoreModule模块已经存在,请尽在主模块中进行引入。')}loadSvgResources(mdIconRegistry, domSanitizer);}
}
View Code

  技巧01:其他模块如果需要用到MdCardModule和MdButtonModule时只需要导入共享模块即可

  技巧02:核心模块在angualr应用只加载一次而且是在项目启动时加载的,共享模块可以加载多次

 

2 md-card组件详解

  2.1 md-card组件主要结构

<md-card><md-card-header><md-card-title>主标题</md-card-title><md-card-subtitle>副标题</md-card-subtitle></md-card-header><md-card-content>内容</md-card-content><md-card-actions>行为</md-card-actions><md-card-footer>页脚</md-card-footer>
</md-card>

 

3 MdButtonModule详解

  3.1 MdButtonModule模块中按钮的形式

    3.1.1 普通按钮:md-button md-raised-button md-icon-button 

    3.1.2 浮动按钮: md-fab md-mini-fab

  3.2 MdButtonModule模块中按钮的使用规则

    

<button md-button>普通按钮</button>
<br />
<button md-raised-button>提升按钮</button>
<br />
<!-- 图标按钮:需要导入MdIconModule图标模块,而且还需要在主页面引入谷歌的图标库 -->
<button md-icon-button><md-icon>menu</md-icon></button>   
<br />
<button md-fab >浮动按钮</button>
<br />
<button md-mini-fab>小型浮动按钮</button>
View Code

  技巧02:谷歌字体图标库镜像引用             ->        <link href="//lib.baomitu.com/material-design-icons/3.0.1/iconfont/material-icons.min.css" rel="stylesheet">

 

4 MdCardModule 、 MdButtonModule 、 MdInputModule综合应用

  4.1 导入这三个模块

  4.2 下载依赖的动画模块

  4.3 在登录组件中使用者三个模块提供的组件完成设计

    

<form><md-card><md-card-header><md-card-title>登录模块</md-card-title><md-card-subtitle>登录信息录入并提交</md-card-subtitle></md-card-header><md-card-content><md-input-container class="full-width"><span mdPrefix>XiangXu.</span><input mdInput type="text" placeholder="请输入你的邮箱" /><span mdSuffix>@163.com</span></md-input-container><md-input-container class="full-width"><input mdInput type="password" placeholder="请输入你的密码" /></md-input-container><button md-raised-button type="button">登录</button></md-card-content><md-card-actions class="text-right"><p>还未注册?&nbsp;<a href="">立即注册</a></p><p>忘记密码?&nbsp;<a href="">找回密码</a></p></md-card-actions><!-- <md-card-footer>页脚</md-card-footer> --></md-card><md-card><md-card-header><md-card-title>每日佳句</md-card-title><md-card-subtitle>Do not aim for your success if you really want it. Just stick to do what you love and believe in.</md-card-subtitle></md-card-header><img md-card-image src="/assets/img/car.jpg" /><md-card-content>少一些功利主义的追求,多一些不为什么的坚持。</md-card-content></md-card>
</form>

  4.4 在全局CSS文件中设置

    充满整行的样式

      

/* You can add global styles to this file, and also import other style files */
@import '~@angular/material/prebuilt-themes/deeppurple-amber.css'; // 导入material的内建主体
html, body, app-root, md-sidenav-container, .site {width: 100%;height: 100%;margin: 0;
}.site {display: flex;flex-direction: column;
}
header {// background-color: skyblue;
}
main {flex: 1;
}
footer {// background-color: skyblue; 
}.fill-remaining-space { // flex项目自动填充多余空间flex: 1 1 auto;
}.full-width {width: 100%;
}
View Code

  4.5 在登录组件的CSS文件中设置

    将form元素设置成flex容器

    md-card组件宽度和高度

    文本向右对齐

      

form {display: flex;flex-direction: row;justify-content: center;align-items: center;width: 100%;height: 100%    ;}md-card {height: 24em;flex: 0 0 20em;
}.text-right {text-align: end;margin: 10px;
}// form {
//     display: flex;
//     flex-direction: row;
//     justify-content: center;
//     align-items: center;
//     width: 100%; 
//     height: 100%;
// } // md-card {
//     height: 24em;
//     flex: 0 0 20em;
// }// .text-right {
//     margin: 10px;
//     text-align: end;
// }
View Code

 

转载于:https://www.cnblogs.com/NeverCtrl-C/p/8094553.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql子分区多少层_MYSQL子分区修剪

我有一个MYSQL表与分区的年份和子分区的月份。MYSQL子分区修剪CREATE TABLE ptable (id INT NOT NULL AUTO_INCREMENT,name varchar(100),purchased DATETIME NOT NULL,PRIMARY KEY (id, purchased))PARTITION BY RANGE(YEAR(purchased))SUBPARTITION BY HASH(MONTH(purchased)…

65. Valid Number

Validate if a given string is numeric. Some examples:"0" > true" 0.1 " > true"abc" > false"1 a" > false"2e10" > true 判断字符串是否代表了有效数字。 这道题有点坑&#xff0c;情况比较多…… 1 cl…

python实现bp神经网络对csv文件进行数据预测

参考资源&#xff1a; sklearn库 bp神经网络[从原理到代码一篇搞定]&#xff08;2&#xff09;_sklearn 神经网络-CSDN博客 十分钟上手sklearn&#xff1a;安装&#xff0c;获取数据&#xff0c;数据预处理 - 知乎 (zhihu.com) 一个实例讲解如何使用BP神经网络(附代码) - 知…

html实现 页面禁止右键 禁止复制 禁止图片拖动 禁止复制和剪切

众所周知&#xff0c;一般的屏蔽的方法是用JS来编写的脚本&#xff0c;但是也可以直接通过修改网页属性的方法来屏蔽右键 禁止复制。 禁止右键 οncοntextmenu"return false" 禁止复制和剪切&#xff1a; οncοpy"return false;" oncut"return fa…

Spring MVC:表单处理卷。 4 –单选按钮

在软件开发领域&#xff0c;单选按钮是图形用户界面的重要组成部分。 Spring MVC标签库为此表单元素提供了特殊标签。 更确切地说&#xff0c;有两个标签用于此目的&#xff1a;单选按钮&#xff0c;单选按钮。 两者对于特定任务都是有用的。 如您所知&#xff0c;我将在帖子中…

点击时候确定某个元素 js_某空气质量监测平台 JS反爬

目标&#xff1a;中国空气质量在线监测分析平台|城市分析 参考CSDN中文章&#xff0c;记录一下学习过程通过切换城市&#xff0c;页面数据是通过 Ajax 加载的&#xff0c;数据接口&#xff1a;https://www.aqistudy.cn/apinew/aqistudyapi.php请求的POST Data、返回的数据都被加…

HTML 部分常用属性、组成属性|...超链接、路径、锚点、列表、滚动、URL编码、表格、表单、GET和POST

URL地址 就是我们所说的网址&#xff1a;www.jd.com 浏览器内核&#xff0c;渲染引擎 Ie内核&#xff1a;triteent 谷歌/欧鹏&#xff1a;blink 火狐&#xff1a;gecko 苹果&#xff1a;webkit 渲染引擎是出现兼容性的根本问题 -html概念:hyper Text Markup Languag…

Spring @Value取值为null或@Autowired注入失败

Value 用于注入.properties文件中定义的内容 Autowired 用于装配bean 用法都很简单&#xff0c;很直接&#xff0c;但是稍不注意就会出错。下面就来说说我遇到的问题。 前两天在项目中遇到了一个问题&#xff0c;大致描述就是我写了如下一个类&#xff08;只列出关键代码&#…

2个域名重定向到https域名

配置实例&#xff1a; [rootiZbp17q09o7e8pgg9dybd7Z conf.d]# cat company.confserver { listen 80; server_name www.yu*******dao.com www.bj******kd.com; if ($host ! www.yu********dao.com) { rewrite ^/(.*)$ http://www.yu**********dao.com/$1 permanent; } return …

mysql 部门表_MySQL高级

本文大纲环境win10-64MySQL Community Server 5.7.1mysqld –version可查看版本官方文档SQL执行顺序手写顺序我们可以将手写SQL时遵循的格式归结如下&#xff1a;select distinct from join on wheregroup byhavingorder bylimit <offset>,<rows>distinct&…

使用Apache Camel发布/订阅模式

发布/订阅是一种简单的消息传递模式&#xff0c;其中&#xff0c;发布者将消息发送到某个频道&#xff0c;而无需知道谁将接收消息。 然后&#xff0c;通道负责将消息的副本传递给每个订户。 此消息传递模型允许创建松耦合和可伸缩的系统。 这是一种非常常见的消息传递模式&am…

移动端(H5)弹框组件--简单--实用--不依赖jQuery

俗话说的好&#xff0c;框架是服务与大家的&#xff0c;包含的功能比较多&#xff0c;代码多。在现在追求速度的年代。应该根据自己的需求去封装自己所需要的组件。 下边就给大家介绍一下自己封装的一个小弹框组件&#xff0c;不依赖与jQuery&#xff0c;代码少&#xff0c;适…

IDEA界面

Alt数字&#xff1a;出来你需要的界面转载于:https://www.cnblogs.com/chanaichao/p/9214327.html

在单节点和多节点上的Hadoop设置

我们将描述在单节点和多节点上的Hadoop设置。 将详细描述Hadoop环境的设置和配置。 首先&#xff0c;您需要下载以下软件&#xff08;rpm&#xff09;。 Java JDK RPM Apache Hadoop 0.20.204.0 RPM A&#xff09;单节点系统Hadoop设置 1&#xff09;在Red Hat或CentOS 5系统…

c++ for循环 流程图_python 零基础必知--条件控制与循环语句

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理本文章来自腾讯云 作者&#xff1a;somenzz如果没有 if 语句和循环语句&#xff0c;请问你怎么编程&#xff1f;Python 中的条件控制和循环语句都非常简单&…

前端总结·基础篇·CSS(二)视觉

前端总结系列 前端总结基础篇CSS&#xff08;一&#xff09;布局前端总结基础篇CSS&#xff08;二&#xff09;视觉前端总结基础篇CSS&#xff08;三&#xff09;补充前端总结基础篇JS&#xff08;一&#xff09;原型、原型链、构造函数和字符串&#xff08;String&#xff09;…

【kindle笔记】之 《浪潮之巅》- 2018-1-

《浪潮之巅》 这本书推荐自最爱的政治课老师。 政治课老师张巍老师。我会一直记得你的。 以这样的身份来到这个学校&#xff0c;他人的质疑&#xff0c;自己的忐忑&#xff0c;老板的不公。犹犹豫豫谨小慎微地前进。 第一次听到这样的话是从您口中&#xff1a; 在座的诸位&…

定位网页元素的解析

一.position属性定位网页元素 1.static &#xff1a;默认值&#xff0c;没有定位。按照标准文档流的方式提现出来 2.relative&#xff1a;相对定位&#xff0c;相对于自身元素原来的位置进行定位 <style type"text/css"> .div01{ position: relative;…

Secure CRT 自动记录日志log配置

SecureCRT8.0的下载地址下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1i5q09qH 密码&#xff1a;4pa2 配置自动log操作如下&#xff1a; 1.options ---> Session Options 2. 设置log 文件属性 点击 日志 &#xff0c;在选项框中 Log file name中填入路径和…

Java 8的惰性序列实现

我刚刚在GitHub上发布了LazySeq库&#xff0c;这是我最近进行的Java 8实验的结果。 我希望你会喜欢它。 即使您觉得它不是很有用&#xff0c;它仍然是Java 8&#xff08;以及一般而言&#xff09;中的函数式编程的重要课程。 而且它可能是第一个针对Java 8的社区库&#xff01;…