Primer CSS
Primer CSS is a free open-source CSS framework built with the GitHub design system to support 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. Object-oriented CSS principles, functional CSS, and BEM architecture influence its approach to CSS. It is a highly reusable model.
Why Primer CSS?
- Prime CSS facilitates building a consistent user experience with ease, having enough flexibility that supsupportorts 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 are 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 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.
Install 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>
Using 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.
<!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">
w3wiki
</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.
<!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;">
w3wiki
</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: