Primer CSS

  • Last Updated : 23 May, 2022

Primer CSS is a free open-source CSS framework that is built with the GitHub design system to provide support to the broad spectrum of Github websites. It creates the foundation of the basic style elements such as spacing, typography, and color. This systematic method makes sure that our patterns are steady and interoperable with every other. Its approach to CSS is influenced by object-oriented CSS principles, functional CSS, and BEM architecture. It is a highly reusable model.

Primer CSS Tutorial

Why Primer CSS?

  • Prime CSS facilitates building a consistent user experience with ease, having enough flexibility that supports the broad spectrum of Github websites.
  • It provides highly reusable components and utilities with flexible styles that can be utilized to achieve many different layouts.
  • Prime CSS provides the systematic design approach, designed for GitHub, that helps to ensure that the styles should be consistent and interoperable with each other.
  • Prime CSS has styling that is categorized into 3 primary themes, ie the Core style is the common dependencies, which contains the native element and typography styles, buttons, navigation, etc. The Product style is specific to github.com, that have the components like avatars, labels, markdown styles, etc. The Marketing style which is particular to the GitHub marketing efforts, comprises the international and event-focused sites, along with more design-heavy feature pages on github.com.

Steps for installing the Primer CSS: The Primer CSS can be utilized either by installing the Node Package Manager in the system or by directly implementing it through the CDN links. We will explore both the options for installation & understand its usage through the examples.

Installing Primer CSS via NPM: 

Step 1: Use the below command to install the Primer CSS:

npm install @primer/css --save

This will help to install all the required SCSS source files into the node_modules/@primer/css directory.

 

Step 2: Add the below Import statement inside the <style> tag in the HTML.

@import "node_modules/@primer/css/dist/primer.css";

Step 3: Add the classes of specific components/utilities, as given below.

<button class="BtnGroup-item btn" type="button">...</button>

Implementing the Primer CSS through the CDN Link:

The Prime CSS can be utilized either by downloading the built CSS from unpkg.com and need to host it by ourselves or simply by including a CDN link in the HTML.

<link href=
"https://unpkg.com/@primer/css@^19.0.0/dist/primer.css" 
      rel="stylesheet" />

Example 1: This example describes the implementation of Prime CSS by specifying the path in the import statement.

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" 
          content="width=device-width, 
                   initial-scale=1.0">
    <style>
        @import "node_modules/@primer/css/dist/primer.css";
    </style>
    <title>Primer CSS</title>
</head>

<body style="margin:100px">
    <div class="text-center">
        <h1 class="color-fg-success">
            GeeksforGeeks
        </h1>
        <h3>Primer CSS Example</h3>
    </div>
    <div class="d-flex flex-justify-center">
        <div aria-label="Breadcrumb">
            <ol>
                <li class="breadcrumb-item">
                    <a href="#">Data Structure</a>
                </li>
                <li class="breadcrumb-item">
                    <a href="#">Algorithms</a> 
                </li>
                <li class="breadcrumb-item breadcrumb-item-selected">
                    <a href="#" aria-current="page">
                        Asymptotic Notation
                    </a>
                </li>
            </ol>
        </div>
    </div>
    <br />
    <div class="d-flex flex-justify-center">
        <div aria-label="Breadcrumb">
            <ol>
                <li class="breadcrumb-item"> 
                    <a href="#">Web Technologies</a>
                </li>
                <li class="breadcrumb-item">
                     <a href="#">CSS</a>
                </li>
                <li class="breadcrumb-item breadcrumb-item-selected">
                    <a href="#" aria-current="page">
                        Prime CSS Tutorial
                    </a> 
                </li>
            </ol>
        </div>
    </div>
</body>
</html>

 

Output:

 

Example 2: This example describes the implementation of Primer CSS.

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <link href=
"https://unpkg.com/@primer/css@^16.0.0/dist/primer.css" 
          rel="stylesheet" />
    <link rel="stylesheet" href=
"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>

<body>
    <div>
        <h1 style="color:green">GeeksforGeeks</h1>
        <h3>Primer CSS Example</h3>
    </div>
    <div class="flash flash-success">
        <i class="glyphicon glyphicon-thumbs-up"></i> 
        <strong>Your request has been successfully submitted!</strong>
    </div>
    <br>
    <div class="flash flash-error">
        <i class="glyphicon glyphicon-remove" 
           style="color:red;">
        </i> 
        <strong>
            There is an error encountered while 
            processing. Please try again!
        </strong> 
    </div>
</body>
</html>

 

Output:

 

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above


My Personal Notes arrow_drop_up