Open In App

Bootstrap 5 Using the API Remove utilities

Last Updated : 01 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Bootstrap 5 provides a set of utility classes for various use cases and with them Bootstrap also provides a utility API to modify, add or remove these utility classes by using Sass. This utility API is based on the Sass maps named $utility. We create our own $utility map and merge it with the default one. Along with adding and modifying utility APIs, Bootstrap provides remove API to remove any of the default utility classes. In this article, we’ll see everything about Bootstrap removing utility APIs.

Remove Utility in RTL

Sometimes RTL styling may be difficult to use for some edge cases therefore Bootstrap 5 provides us this facility to drop the utilities from RTL output by setting the RTL option to false.

RTL option:

This option allows us to disable the RTL styling for specific utilities. Let’s see the syntax to remove the RTL styling for the float utility.

Syntax:

$utilities: (
"float": (
rtl: false
),
);

Ways to remove the utility:

  • using map-remove(): It accepts multiple arguments. The first argument should be the $utility map followed by the name of the classes to be removed from the $utilities map.
  • using map-merge(): Here to remove the utility we set the key of the $utilities map to null. It accepts two maps. The first one is the $utilities map and the second is the new map.

Syntax:

$utilities: map-remove($utilities, class1, class2, ...)
$utilities: map-merge($utilities, ("class_name":null))

Steps to Use Bootstrap 5 API Remove Utilities

Step 1: Initiate Node Package Modules using the below CLI command.

npm init


Step 2: Install Bootstrap in the project modules for usage.

npm install bootstrap sass


Step 3: Create the custom Scss file, and import the bootstrap Scss functions.

@import "node_modules/bootstrap/scss/functions.scss";
@import "node_modules/bootstrap/scss/variables";
@import "node_modules/bootstrap/scss/variables-dark";
@import "node_modules/bootstrap/scss/maps";
@import "node_modules/bootstrap/scss/mixins";
@import "node_modules/bootstrap/scss/utilities";
// Remove multiple utilities with a comma-separated list
// $utilities: map-remove($utilities, "width", "float");
@import "node_modules/bootstrap/scss/utilities/api";


Step 4: Compile the custom Scss file to a designated CSS file.

sass custom.scss custom.css


Step 5: Link the compiled CSS file inside the <head> tag of the HTML file.

<link rel="stylesheet" href="./custom.css">


Example 1: In this example, we’ll use method 1 to remove the utility classes from the components. Here we’ll be removing color and float classes from the Bootstrap utilities and therefore after compiling our Scss classes, we’ll see that these classes will be ineffective.

HTML




<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" 
          content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="./custom.css">
    <title>Bootstrap remove utility</title>
</head>
<body>
    <div class="container" style="width: 30%;">
        <h1 class="text-success">GeeksForGeeks</h1>
        <div class="float-start">This is float 1</div><br>
        <div class="float-end">This is float 2</div><br>
        <div class="float-none">This is float 3</div>
    </div>
</body>
</html>


custom.scss

CSS




@import "node_modules/bootstrap/scss/functions.scss";
@import "node_modules/bootstrap/scss/variables";
@import "node_modules/bootstrap/scss/variables-dark";
@import "node_modules/bootstrap/scss/maps";
@import "node_modules/bootstrap/scss/mixins";
@import "node_modules/bootstrap/scss/utilities";
  
// Remove multiple utilities with a comma-separated list
$utilities: map-remove($utilities, "color", "float");
  
@import "node_modules/bootstrap/scss/utilities/api";


Output: Before Writing custom.scss

before-remove-utility.JPG

Before removing utilities

After writing custom.scss

after-remove-utility.JPG

After removing utilities

Example 2: In this example, we’ll use the map-merge method to remove the utility classes.

HTML




<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" 
          content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="./custom.css">
    <title>Bootstrap remove utility</title>
</head>
<body>
    <div class="container" style="width: 30%;">
        <h1 class="text-center">GeeksForGeeks</h1>
        <div>This is float 1</div><br>
        <div>This is float 2</div><br>
        <div>This is float 3</div>
    </div>
</body>
</html>


custom.scss

CSS




@import "node_modules/bootstrap/scss/functions.scss";
@import "node_modules/bootstrap/scss/variables";
@import "node_modules/bootstrap/scss/variables-dark";
@import "node_modules/bootstrap/scss/maps";
@import "node_modules/bootstrap/scss/mixins";
@import "node_modules/bootstrap/scss/utilities";
  
// Remove multiple utilities with a comma-separated list
$utilities: map-merge($utilities, (text-align:null));
  
@import "node_modules/bootstrap/scss/utilities/api";


Output: Before Writing custom.scss

bootstrap-merge.JPG

Before removing text-align utility

After Writing custom.scss

after-remove-utility.JPG

After removing text-align utility



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads