How to Include CSS Inside a JavaScript File?
Last Updated :
02 Dec, 2024
Here are the various ways to include CSS inside a JavaScript file.
1. Using style Property (Inline Styling)
The simplest way to include CSS in JavaScript is by directly modifying the style property of an HTML element. This method applies styles inline, directly to the elements, and overrides any external or internal CSS rules.
HTML
<html>
<body>
<div id="myEle">Hello, World!</div>
<script>
let ele = document.getElementById('myEle');
ele.style.backgroundColor = 'lightblue';
ele.style.fontSize = '20px';
ele.style.padding = '10px';
</script>
</body>
</html>
- element.style.property is used to modify the inline styles of an individual HTML element.
- This method is limited to applying styles to a single element at a time.
- It provides fine control over individual elements but can become cumbersome for larger styles or multiple elements.
2. Creating and Appending a style Tag
Another approach is to create a <style> tag dynamically within JavaScript and append it to the document's <head>. This method is useful when you want to include multiple CSS rules that are applied globally across your web page.
HTML
<html>
<body>
<div id="myEle">Hello, World!</div>
<script>
let style = document.createElement('style');
style.innerHTML = `
body {
background-color: lightblue;
font-family: Arial, sans-serif;
}
h1 {
color: darkblue;
text-align: center;
}
`;
document.head.appendChild(style);
</script>
</body>
</html>
- document.createElement('style') creates a new <style> element.
- style.innerHTML allows you to add CSS rules to the newly created <style> tag.
- document.head.appendChild(style) appends the <style> tag to the document's head, effectively applying the CSS rules to the page.
- This approach enables you to include multiple CSS rules dynamically.
3. Using insertRule() Method
The insertRule() method allows you to add individual CSS rules to an existing <style> tag within JavaScript. It is useful if you want to add styles to a particular CSS rule dynamically.
HTML
<html>
<body>
<div id="myEle">Hello, World!</div>
<script>
let style = document.createElement('style');
document.head.appendChild(style);
let sheet = style.sheet;
sheet.insertRule('body { background-color: lightblue; }', 0);
sheet.insertRule('h1 { color: darkblue; text-align: center; }', 1);
</script>
</body>
</html>
- style.sheet gives you access to the CSSStyleSheet object, allowing you to manipulate styles directly.
- sheet.insertRule(rule, index) adds a new CSS rule to the stylesheet at the specified index.
- This method is ideal for dynamically adding specific rules while maintaining the order of CSS rules.
4. Using External CSS with JavaScript
If you want to include an external CSS file dynamically, you can do so by creating a <link> tag and appending it to the document's head. This approach is helpful when you want to load CSS stylesheets on the fly, based on user interaction or other conditions.
HTML
<html>
<body>
<div id="myEle">Hello, World!</div>
<script>
let link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'styles.css';
document.head.appendChild(link);
</script>
</body>
</html>
- document.createElement('link') creates a new <link> element.
- link.rel = 'stylesheet' specifies that the link tag refers to a stylesheet.
- link.href specifies the path to the external CSS file.
- This method dynamically loads an external CSS file into the page.
5. Using Template Literals for CSS in JavaScript
Template literals can be used to inject CSS styles directly into a <style> tag. This method provides the flexibility of writing multi-line CSS with embedded JavaScript expressions, making it highly readable and convenient for complex styles.
HTML
<html>
<body>
<div id="myEle">Hello, World!</div>
<script>
let style = document.createElement('style');
style.innerHTML = `
body {
background-color: lightblue;
}
.highlight {
color: ${Math.random() > 0.5 ? 'red' : 'green'};
font-weight: bold;
}
`;
document.head.appendChild(style);
</script>
</body>
</html>
- The template literal syntax (`) allows you to write multiline CSS and embed JavaScript expressions, such as ${Math.random() > 0.5 ? 'red' : 'green'}.
- This is useful when you need dynamic styling based on conditions or random values.
Which Approach to Choose?
Method | When to Use | Why Choose It |
---|
style property | When applying inline styles to individual elements. | Simple for direct, one-off style modifications to specific elements. |
style tag (create and append) | When you need to include multiple styles for the entire document. | Efficient for adding bulk styles dynamically without affecting the structure. |
insertRule() | When adding individual CSS rules dynamically to an existing stylesheet. | Useful for specific rule-based modifications, with better control over order. |
External CSS (via <link> tag) | When you want to include external CSS files dynamically. | Best for loading external stylesheets based on certain conditions. |
Template literals for CSS | When you want dynamic CSS with embedded JavaScript expressions. | Ideal for more complex styles where variables or random values need to be included. |
Similar Reads
How to include inline JavaScript in HAML ? There are mainly two ways to include JavaScript in HTML: Internal/Inline: By using "script" element in the "head" or "body" section. External: By using an external JavaScript file. We will be extending the below example for HTML and see how it could be implemented similarly for HAML. To include inli
2 min read
How to include SVG code inside HTML file ? SVG stands for Scalable Vector Graphics. It is an XML-based format used to describe vector graphics. SVG is widely supported in modern web browsers, including Google Chrome, Firefox, Opera, and others, which can render SVG images seamlessly. Designers frequently use the SVG format for creating illus
1 min read
How to import a SVG file in JavaScript ? SVG (Scalable Vector Graphics) files in JavaScript are XML-based vector image files commonly used for describing two-dimensional vector graphics. In this article, we are going to see and use different ways of using SVGs. Below are the methods to import an SVG file in JavaScript: Table of Content Usi
3 min read
How to Include One CSS File in Another? Here are the methods to include one CSS file in another:Method 1. Using @import RuleThe @import rule allows you to import one CSS file into another, enabling modularity and reusability of styles.html<html> <head> <link rel="stylesheet" href="styles.css"> </head> <body>
3 min read
How to import a CSS file in React ? In React applications, styling is a crucial aspect of creating visually appealing and responsive user interfaces. CSS (Cascading Style Sheets) files are commonly used to define styles for React components. Importing CSS files into React components allows developers to apply styles to specific elemen
3 min read
How to Add JavaScript in HTML Document? To add JavaScript in HTML document, several methods can be used. These methods include embedding JavaScript directly within the HTML file or linking an external JavaScript file.Inline JavaScriptYou can write JavaScript code directly inside the HTML element using the onclick, onmouseover, or other ev
3 min read
How to include css files using NodeJS, Express, and EJS? CSS stands for âCascading Style Sheetâ. It is used to style web pages. CSS simplifies the process of making web pages presentable. It describes how web pages should look it prescribes colors, fonts, spacing, and much more. Including CSS files is important for styling web pages in web development wit
2 min read
How to load CSS files using JavaScript? The CSS file is used to describe how HTML elements will be displayed. There are various ways to add CSS files to the HTML document. JavaScript can also be used to load a CSS file in the HTML document. Approach:Use the document.getElementsByTagName() method to get HTML head element.Create a new link
2 min read
How to Change Background Image in javaScript? This article will show you how to change the background color in JavaScript. Changing a background image in JavaScript involves modifying the style property of an HTML element to update its backgroundImage property. This can be done by selecting the element and setting its style.backgroundImage prop
2 min read
How to Include CSS Files in Vue2 ? VueJS is one of the greatest frameworks for JavaScript similar to ReactJS. The user interface layer is designed with VueJS. When working with Vue2, styling your components is an essential aspect of creating a visually appealing and user-friendly application. In Vue2 you can include CSS files in vari
4 min read