从棱角分明的材料设计开始
Starting with angular material design
我已经尝试使用Angular Material Design一周了,但没有成功。我花时间研究HTML/CSS、JavaScript和AngularJS,以了解出了什么问题,但我仍然不知道问题出在哪里
基本上,我尝试过的是谷歌角材料设计网站的"入门"部分,但没有一个对我有效:
我试图复制它的Github入门项目,但我得到了这个结果:
编辑:对不起,我的帐户是新的,我还不能发布图像,但这是我网站的打印屏幕,甚至没有运行angular![我的结果][3]
我也尝试过复制它的简单Hello World示例,但我遇到了非常相似的问题。
我不知道我做错了什么,但我认为这很简单。我有一种感觉,我没有导入正确的CSS/JS。
var app = angular.module('StarterApp', ['ngMaterial']);
app.controller('AppCtrl', ['$scope', '$mdSidenav', function($scope, $mdSidenav){
$scope.toggleSidenav = function(menuId) {
$mdSidenav(menuId).toggle();
};
}]);
.menuBtn {
background-color: transparent;
border: none;
height: 38px;
margin: 16px;
position: absolute;
width: 36px;
}
md-toolbar h1 {
font-size: 1.250em;
font-weight: 400;
margin: auto;
}
md-list .md-button {
color: inherit;
font-weight: 500;
text-align: left;
width: 100%;
}
.visually-hidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
/* Using Data-URI converted from svg until <md-icon> becomes available
https://github.com/google/material-design-icons
*/
.menuBtn {
background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGcgaWQ9IkhlYWRlciI+CiAgICA8Zz4KICAgICAgICA8cmVjdCB4PSItNjE4IiB5PSItMjIzMiIgZmlsbD0ibm9uZSIgd2lkdGg9IjE0MDAiIGhlaWdodD0iMzYwMCIvPgogICAgPC9nPgo8L2c+CjxnIGlkPSJMYWJlbCI+CjwvZz4KPGcgaWQ9Ikljb24iPgogICAgPGc+CiAgICAgICAgPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+CiAgICAgICAgPHBhdGggZD0iTTMsMThoMTh2LTJIM1YxOHogTTMsMTNoMTh2LTJIM1YxM3ogTTMsNnYyaDE4VjZIM3oiIHN0eWxlPSJmaWxsOiNmM2YzZjM7Ii8+CiAgICA8L2c+CjwvZz4KPGcgaWQ9IkdyaWQiIGRpc3BsYXk9Im5vbmUiPgogICAgPGcgZGlzcGxheT0iaW5saW5lIj4KICAgIDwvZz4KPC9nPgo8L3N2Zz4=) no-repeat center center;
}
<html lang="en" ng-app="StarterApp">
<head>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/angular_material/0.7.1/angular-material.min.css">
<link rel="stylesheet" href="CSS/test.css">
</head>
<body layout="column" ng-controller="AppCtrl">
<md-toolbar layout="row">
<button ng-click="toggleSidenav('left')" hide-gt-sm class="menuBtn">
<span class="visually-hidden">Menu</span>
</button>
<h1>Hello World</h1>
</md-toolbar>
<div layout="row" flex>
<md-sidenav layout="column" class="md-sidenav-left md-whiteframe-z2" md-component-id="left" md-is-locked-open="$media('gt-sm')">
</md-sidenav>
<div layout="column" flex id="content">
<md-content layout="column" flex class="md-padding">
</md-content>
</div>
</div>
<!-- Angular Material Dependencies -->
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-animate.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-aria.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angular_material/0.7.1/angular-material.min.js"></script>
<script src="JS/test.js"></script>
</body>
</html>
我试图在[括号][4]上重新创建这个确切的代码,但当我在浏览器中运行它时,它不起作用。我的代码还有什么需要做的吗?
我很难准确理解什么不适合您,但请注意,如果您从本地文件系统查看此页面,则在引用外部资源时需要指定http://
或https://
。
目前,您的所有资产都被这样引用://ajax.googleapis.com/ajax/libs/angular_material/0.7.1/angular-material.min.css
这可能会使angular和其他所有内容无法加载到您的页面中。
更多解释
正如评论中提到的,您正在使用的被称为与协议相关的URL。
如果浏览器通过HTTPS查看当前页面,那么它将使用HTTPS协议请求该资产,否则通常会使用HTTP请求。这可以防止IE中出现可怕的"此页面同时包含安全和非安全项目"错误消息,使您的所有资产请求都处于同一协议中。
文章还提到:
*当然,如果您在本地查看该文件,它会尝试使用file://协议请求该文件。
使用Chrome,打开开发工具(F12)并验证是否正确加载了js和css文件。
- JavaScript的额外材料:理解奇怪的部分
- 如何添加类,同时开始在文本字段中输入文本
- 无法读取属性'材料'未定义的Three.js
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 将固定片放置在有角度的材料中
- ng模型内的ng重复的ng重复开始
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- Yii2从点击链接开始加载模式
- Jquery幻灯片以一行左侧的图像开始,但我希望它从右端开始
- 从REST服务器和Coffeescapet前端开始
- nodejs createReadStream从第n行开始
- 处理第三方库发送的ajax请求的开始和结束事件
- 从头开始创建XLS文件
- 在开始时隐藏FX.slide内容,而不是在单击后隐藏
- 拖动开始时更改可拖动元素的大小
- jQuery Datepicker从日期开始设置默认值
- 水平视差滚动从头开始-没有插件(jQuery)
- 从工作日结束到下一个工作日开始的完整日历JS包装时间
- 从棱角分明的材料设计开始
- 角材料-如何开始