Premiers pas avec materializecss

Installer

Une fois que vous avez téléchargé les fichiers, extrayez-les dans votre répertoire désigné.

Vous remarquerez qu’il existe deux ensembles de fichiers. Le min signifie que le fichier est “compressé” pour réduire les temps de chargement. Ces fichiers minifiés sont généralement utilisés en production alors qu’il est préférable d’utiliser les fichiers non minifiés lors du développement.


Après l’extraction, la structure de fichiers de votre répertoire devrait ressembler à :

  MyWebsite/
  |--css/
  |  |--materialize.css
  |
  |--fonts/
  |  |--roboto/
  |
  |--js/
  |  |--materialize.js
  |
  |--index.html

Exemple de page HTML MaterializeCSS :

<!DOCTYPE html>
<html>
 <head>
  <!--Import Google Icon Font-->
  <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <!--Import materialize.css-->
  <link type="text/css" rel="stylesheet" href="css/materialize.min.css"  media="screen,projection"/>

  <!--Let browser know website is optimized for mobile-->
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
 </head>

 <body>
  <!--Import jQuery before materialize.js-->
  <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
  <script type="text/javascript" src="js/materialize.min.js"></script>
 </body>
</html>

Télécharger

Il existe deux façons d’utiliser MaterialiseCSS, soit vous pouvez télécharger les fichiers sur votre système, soit utiliser les fichiers de CDN (Content Delivery Network).

Telecharger des fichiers

  • Téléchargez le [Package Matérialiser][1].
  • Téléchargez le [Materialize SASS Package][2].
  • Installer via NPM : npm install materialize-css
  • Installer via Bower : bower install materialize

Inclure à partir de CDN

  • Inclure le CSS minifed dans la section head :

     <!-- Compiled and minified CSS -->
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/css/materialize.min.css">
    
  • Inclure le fichier Javascript dans la section Body, juste avant la balise body de fermeture.

     <!-- Compiled and minified JavaScript -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/js/materialize.min.js"></script>
    

[1] : http://materializecss.com/bin/materialize-v0.97.7.zip [2] : http://materializecss.com/bin/materialize-src-v0.97.7.zip

Modèles

Ce sont les pages de démarrage les plus simples avec un en-tête, un appel à l’action et des fonctionnalités d’icône.

Modèle de démarrage Modèle de parallaxe
[![Modèle de démarrage][5]][5] [![Modèle de parallaxe][6]][6]
[Démo][1] ou [Télécharger][2] [Démo][3] ou [Télécharger][4]

[1] : http://materializecss.com/templates/starter-template/preview.html [2] : http://materializecss.com/templates/starter-template.zip [3] : http://materializecss.com/templates/parallax-template/preview.html [4] : http://materializecss.com/templates/parallax-template.zip [5] : http://i.stack.imgur.com/JnOsX.gif [6] : http://i.stack.imgur.com/UcrKc.jpg

Page Web utilisant Materialisecss

Voici un exemple de page de base utilisant le framework CSS Materialise qui intègre le système de grille et materialboxed.

<!DOCTYPE html>
<html>
<head>
<title>Materializecss Example webpage</title>
  <!--Import Google Icon Font-->
  <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <!--Import materialize.css-->
  <link type="text/css" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/css/materialize.min.css"  media="screen,projection"/>

  <!--Let browser know website is optimized for mobile-->
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>

<body>
  <div class="container"> 
    <div class="row">
      <div class="col s12"><h3>MATERIALIZECSS EXAMPLE</h3><h4>A simple website just to show how an element is used.</h4></div>
      <div class="col s12 m6 l3">
        <img class="materialboxed" width="100%" height="220"  src="https://upload.wikimedia.org/wikipedia/commons/7/76/Katun_nature_reserve.jpg">
        <h4>Katun Nature Reserve</h4>
        <p><i>Lovely Place</i></p>
      </div>
      <div class="col s12 m6 l3">
        <img class="materialboxed" width="100%" height="220" src="https://upload.wikimedia.org/wikipedia/commons/4/4b/Computer_art_4.png">
        <h4>Art</h4>
        <p><i>Simple & Attractive</i></p>
      </div>
      <div class="col s12 m6 l3">
        <img class="materialboxed" width="100%" height="220" src="https://c1.staticflickr.com/9/8715/16947318656_4c6cbc3091_b.jpg">
        <h4>Food</h4>
        <p><i>For any occasion</i></p>
       </div>
      <div class="col s12 m6 l3">
        <img class="materialboxed" width="100%" height="220" src="https://c1.staticflickr.com/7/6179/6217102314_350be5e843.jpg">
        <h4>Steve Jobs</h4>
        <p><i>Inspiration</i></p>
      </div>
    <div class="col s12"><h5>Comment your suggestion</h5></div>
    </div>
  </div>
  <!--Import jQuery before materialize.js-->
  <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.7/js/materialize.min.js"></script>
<script>
$(document).ready(function(){
  $('.materialboxed').materialbox();
});
</script>
</body>

Comment puis-je compiler mon Sass

Cette section n’est pertinente que si vous travaillez avec la version Sass de Materialise.

Tout d’abord, vous devez installer Sass dans votre répertoire de travail :

gem install sass

Lorsque Sass est installé sur votre projet et que vous souhaitez mettre à jour votre fichier de sortie .css, vous devez utiliser la commande suivante :

sass sass/materialize.scss public/style.css

REMARQUE : le deuxième paramètre sass/materialize.scss est le chemin d’accès à votre fichier .scss, et le dernier paramètre sass/style.css est le chemin d’accès à votre dossier de sortie lorsque le fichier .css est localisé.

Si vous souhaitez éviter cette commande à chaque fois que vous effectuez une modification, vous pouvez exécuter une commande watch :

 sass --watch sass/sass:public/stylesheets

REMARQUE : cette commande surveille tous les fichiers Sass du répertoire scss pour les modifications, puis met à jour le fichier de style dans notre répertoire public.

Utiliser MaterialiseCSS avec Angular

Il existe de nombreuses façons d’utiliser le framework MaterializeCSS.

Quelques points à garder à l’esprit avant de passer à l’installation

  • Ce n’est pas un cadre CSS uniquement, bien qu’il contienne un nom CSS. Nous pouvons aussi utiliser son SCSS
  • Il n’est pas conçu pour Angular
  • C’est aussi un framework de composants construit sur jquery. Bien que nous ne soyons pas censés utiliser jquery (non suggéré) dans angular, nous importons toujours .

Vous pouvez utiliser n’importe laquelle des méthodes suivantes :

  • CDN
  • Les atouts
  • Inclure dans angulaire (NPM)
  • Inclure dans Angular (source avec SCSS)

Chacun a ses propres avantages et inconvénients.

CDN

Ajoutez simplement ceci à index.html et vous êtes prêt à partir.

 <!-- Compiled and minified CSS -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.2/css/materialize.min.css">
 
 <!-- We need jquery first -->  
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

 <!-- Compiled and minified JavaScript -->
   <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.2/js/materialize.min.js"></script>

Les atouts

Ajoutez-le en tant qu’actif dans votre projet. Cela permet de ne pas dépendre d’Internet lors de la construction et de l’exécution locale.

[Télécharger jQuery][1]

[Télécharger la version CSS][2]

  • Extrayez-les

  • Copiez materialize.min.css, jquery-3.2.1.min.js et materialize.min.js dans votre dossier de ressources

  • ajoutez-les à index.html

      <link rel="stylesheet" href="./assets/materialize.min.css" >
      <script src="./assets/jquery-3.2.1.min.js"></script>
      <script src="./assets/materialize.min.js"></script>
    

Inclure dans angulaire (NPM)

Dans cette méthode, nous incluons directement les fichiers dans notre build angulaire. Je suppose que le projet angulaire est construit avec @angular/cli pour plus de simplicité.

Fais

npm install materialize-css --save 
npm install jquery --save

Cela revient au téléchargement de fichiers CSS, mais nous n’avons pas besoin de les ajouter dans notre référentiel.

Ajoutez ce qui suit à .angular-cli.json :

"styles": [
    "../node_modules/materialize-css/dist/css/materialize.css",
    "styles.scss"
]

...

"scripts":[
  "../node_modules/jquery/dist/jquery.js",
  "../node_modules/materialize-css/dist/js/materialize.js"
]

Inclure dans angulaire (SCSS)

[Télécharger la source avec la version SCSS][3]

Effectuez cette opération si vous souhaitez tirer parti de SCSS pour modifier le comportement par défaut de la bibliothèque. Sinon, vous pouvez toujours utiliser la méthode précédente et utiliser SCSS à côté.

Ajoutez-les à un dossier en dehors de src . Peut-être créer un dossier materialize-src comme frère de src et y coller le contenu. Nous le faisons parce que l’installation npm de materialize-css ne nous donne pas la version scss. (Corrigez-moi si je me trompe )

Installer jquery

npm install jquery --save 

Ajoutez-les à votre .angular-cli.json

"styles": [
    "../materialize-src/sass/materialize.scss",
    "styles.scss"
 ],
 "scripts": [
    "../node_modules/jquery/dist/jquery.min.js",
    "../materialize-src/js/bin/materialize.min.js"
 ],

Intégration avec Angular :

Les méthodes d’installation ci-dessus offrent toutes les fonctionnalités avec matérialiser et ** pas besoin d’installer quoi que ce soit pour travailler en angulaire **. Prenez n’importe quel exemple et utilisez simplement la structure HTML appropriée dans la partie composant d’angular et vous êtes prêt à partir.

Dans certains cas, vous devrez peut-être bricoler avec javascript et pour cela, nous devons utiliser jQuery. Au lieu de cela, nous pouvons utiliser le développeur de wrapper angulaire à [angular2-materialize][4]. J’ai développé un site entièrement fonctionnel en utilisant angular et materialize et je n’en ai jamais ressenti le besoin.

Si vous croyez toujours que vous en avez besoin. Vous pouvez installer comme suit :

  • Installer matérialiser avec l’une des méthodes mentionnées ci-dessus

  • Installer angular2-materialize

      npm install angular2-materilize --save 
    

    Add in angular app.module.ts

      import { MaterializeModule } from "angular2-materialize";
    
      @NgModule({
        imports: [
          //...
          MaterializeModule,
        ],
        //...
      })
    

[1] : https://code.jquery.com/jquery-3.2.1.min.js [2] : http://materializecss.com/bin/materialize-v0.98.2.zip [3] : http://materializecss.com/bin/materialize-src-v0.98.2.zip [4] : https://github.com/InfomediaLtd/angular2-materialize/