Read About my Experience on GDG Cloud Event : - Click here to Read !

Materialize CSS A beginner friendly frontend framework !

a beginner friendly guide and tutorial to materialize css frontend framework also how to use it your projects
blog-thumbnail

Introduction to Materialize css

Materialize CSS is a popular front-end framework based on Google's Material Design guidelines. It provides a wide range of pre-built components, such as buttons, forms, and navigation bars, that can be easily integrated into web projects. In this article, I will go over the basics of using Materialize CSS in a project, including how to set up a project, how to add Materialize CSS to your project, and how to customize the appearance of your components and much more.

Why is Materialize CSS good for beginners?

  • It is easy to use and makes web pages dynamic and responsive.
  • It makes web pages compatible with mobile devices, tablets, and laptops.
  • It is available for free at Offical Materialize Css
materialize css

Materialize CSS is a front-end framework that helps developers create websites and apps with a modern, Material Design look. Material Design is a design language from Google that helps create a unified user experience across all devices. Materialize CSS is based on the principles of Material Design, making it a great option for developers who want attractive and user-friendly websites and apps. A key feature of Materialize CSS is its responsive grid system.

This allows developers to make layouts that adjust to the screen size, making it easy to create websites and apps that look great on any device. The framework also has lots of pre-designed UI elements like buttons, forms and tables that can be customized to match the look and feel of the website or app.

Materialize CSS also comes with built-in support for CSS preprocessors like SASS and LESS. This lets developers write CSS in a more organized and efficient way and makes it simpler to update and maintain the styles of a website or app. In addition to the core features, Materialize CSS also has lots of JavaScript plugins for adding advanced features to websites and apps.

For example, the framework has a modal plugin for creating modal windows, a scrollspy plugin for making fixed navigation bars, and a slider plugin for creating image sliders.

Overall, Materialize CSS is an excellent choice for beginner developers. It's easy to use, has good documentation and lots of pre-designed UI elements and JavaScript plugins. Plus, it is based on Material Design, so it's great for creating attractive and user-friendly websites and apps.



Setting up a Project 

To use Materialize CSS in a project, you need to create a basic web project. This can be done using HTML, CSS, and JavaScript, or with a framework like React or Angular. We will use HTML, CSS, and JavaScript for this demo of this article but you can it far more than that.

Adding Materialize CSS to Your Project

To add Materialize CSS to your project, you need to download it from the Materialize CSS website and add it to your project. Then, you need to include the Materialize CSS CSS and JavaScript files in your HTML file.

Using Materialize CSS Components

Once you have added Materialize CSS, you can start using its pre-made components. These components include buttons, forms, navigation bars, and more. To use a component, you add the appropriate class to your HTML element, For example, you would add the class "btn" to an HTML button element to create a button.

here are the some components of the materialize css

Grid System Materialize CSS provides a powerful grid system that can be used to create responsive and flexible layouts. The grid system is based on a 12-column layout, and each row can contain up to 12 columns. To create a grid, you simply need to add a "row" class to a div element, and then add "col s12" (for a full-width column) or "col s6" (for a half-width column) classes to the divs inside the row. Here is an example of how to create a simple two-column layout using the grid system:

     //code_here  
<div class="row center">
    <div class="col s4 card small  teal">grid 1</div>
    <div class="col s4 card  small orange">grid 2</div>
    <div class="col s4 card small  grey">grid 3</div>
</div>

screen shot of the above code

materialize css grid output

Navigation Bars Materialize CSS provides a range of options for creating navigation bars, including fixed and sliding navigation bars. To create a fixed navigation bar, you can add the "navbar-fixed" class to a nav element. Here is an example of how to create a fixed navigation bar:

     //code_here  
<nav class="navbar-fixed">
  <div class="nav-wrapper">
    <a href="#" class="brand-logo">Logo</a>
    <ul id="nav-mobile" class="right hide-on-med-and-down">
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </div>
</nav>
screen shot of the above code
navbar output

Modals Materialize CSS also provides pre-built models that can be easily integrated into your project. Modals are dialog boxes that can be used to display content in a separate window. To create a modal, you can add a "modal" class to a div element, and then add a "trigger" class to a button or link that will open the modal. Here is an example of how to create a simple modal:

     //code_here  
<a class="waves-effect waves-light btn modal-trigger" href="#modal1">Modal</a>
<div id="modal1" class="modal">
  <div class="modal-content">
    <h4>Modal Header</h4>
    <p>A bunch of text</p>
  </div>
  <div class="modal-footer">
    <a href="#!" class="modal-close waves-effect waves-green btn-flat">Agree</a>
  </div>
</div>

screen shot of the above code

modal output

for more components and assets use the official website

Customizing the Appearance of Your Components

Materialize CSS gives you many options for customizing the appearance of its components. This can be done with CSS classes, like "light-blue" or "darken-2", which you can add to HTML elements to change their look. There are also JavaScript functions you can use to further customize the look of your components.

Example of using the materialize CSS

     //code_here  
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="<https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css>">
    <script src="<https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js>"></script>
    <title>Product Landing Page</title>
  </head>
  <body>
    <nav class="navbar-fixed">
      <div class="nav-wrapper">
        <a href="#" class="brand-logo">Product Name</a>
        <ul id="nav-mobile" class="right hide-on-med-and-down">
          <li><a href="#features">Features</a></li>
          <li><a href="#pricing">Pricing</a></li>
          <li><a href="#about">About</a></li>
        </ul>
      </div>
    </nav>
    <div class="container">
      <div class="section">
        <div class="row">
          <div class="col s12">
            <h1 class="center-align">Welcome to Our Product</h1>
            <p class="center-align">Introducing the latest and greatest product on the market</p>
            <div class="center-align">
              <a class="waves-effect waves-light btn-large">Learn More</a>
            </div>
          </div>
        </div>
      </div>
      <div class="divider"></div>
      <div class="section" id="features">
        <h2 class="center-align">Features</h2>
        <div class="row">
          <div class="col s12 m4">
            <div class="card">
              <div class="card-image">
                <img src="feature1.png">
                <span class="card-title">Feature 1</span>
              </div>
              <div class="card-content">
                <p>Description of feature 1</p>
              </div>
            </div>
          </div>
          <div class="col s12 m4">
            <div class="card">
              <div class="card-image">
                <img src="feature2.png">
                <span class="card-title">Feature 2</span>
              </div>
              <div class="card-content">
                <p>Description of feature 2</p>
              </div>
            </div>
          </div>
          <div class="col s12 m4">
            <div class="card">
              <div class="card-image">
                <img src="feature3.png">
                <span class="card-title">Feature 3</span>
              </div>
              <div class="card-content">
                <p>Description of feature 3</p>
              </div>
            </div>
          </div>
        </div>
      </div>
		<div class="divider"></div>
      </div>
      </body>
      </html>

screen shot of the above code

materialize css

conclusion

Materialize CSS is a kind similar to bootstrap but yes if are a beginner and want to use a frontend framework for the first time so go with this Materialize CSS because here are reasons for it

  1. Materialize CSS is a powerful and flexible front-end framework that can be used to create beautiful and responsive web pages. By following the steps outlined in this article, you can set up a project, add Materialize CSS to your project, and start using its pre-built components to create beautiful and responsive web pages.
  2. It provides a wide range of pre-built components, including buttons, forms, navigation bars, and models, as well as a powerful grid system for creating flexible and responsive layouts. With its wide range of options for customizing the appearance of components, Materialize CSS is a versatile tool that can be used to create a wide range of web pages and applications.

some recourses to check out 

Do let me know your thoughts on this 💬 If you have any doubt don't hesitate just ping me on any of my social media or you can also comment on this blog post , i hope you enjoy the learning process and we will meet in the next one 

Thanks for reading my article and giving your valuable time

Thank you very much Cheers 🥂

Have a nice day 😊

Check out my Awesome Resource that i have shared below
Checkout my poject used Materialize css
Github Repo

Hey ! 👋 Myself Pratap. I'm Graduate student, I talk & write about Frontend web development and some times Graphic Designs or UI/UX Designs. Subtly charming introvert, but I liked to share …

Post a Comment