DEV Community

Cover image for Understanding CSS: Advantages and Disadvantages of Inline, Internal, and External Styles
Brendan
Brendan

Posted on

Understanding CSS: Advantages and Disadvantages of Inline, Internal, and External Styles

Introduction

What is CSS

  • CSS, also known as cascading style sheet, is one of the core technologies of the web.

  • CSS is used to describe the visual style and presentation of the page. It consists of countless properties that developers can use to format (edit) the content of a web page.

You can write CSS in three places: inline CSS, internal CSS, and external CSS. Today, we'll look at their advantages and disadvantages.

Inline CSS

Inline CSS applies CSS styles directly into the HTML code using the style attribute. For example:

<p style="color: blue; font-size: 14px;">This is a styled paragraph.</p>

Enter fullscreen mode Exit fullscreen mode

Advantages of Inline CSS

  • An advantage of using inline CSS is the ease with which you can style a particular web page component, or, in other words, specificity. This ability to change the styling of any specific element ties into its next advantage.

  • Inline CSS makes testing a style or changing a particular style on a webpage effortless.

  • One of the most significant advantages of inline CSS is that it doesn't require external files or links. This advantage means you can streamline the development process as all the code is within the HTML code. This feature makes it very useful when working on small projects.

Disadvantages of Inline CSS

  • A significant disadvantage of using inline CSS is managing the code as a project gets bigger and bigger. With different styles scattered throughout the HTML, editing the webpage or making global changes becomes more complicated and bug-prone because each element that needs a style change/update must be searched for and changed manually.

  • Another disadvantage is increased repetition when multiple elements in the HTML need the same styling. Since developers have to style each component manually, they repeat the same CSS code, making the code large and complex to read, increasing the likelihood of bugs.

Internal CSS

Internal CSS is a way of applying CSS to a webpage that involves using a style tag in the head section of the HTML file. For example:

<!DOCTYPE html>  
<html lang="en">  
<head>  
<meta charset="UTF-8">  
<meta name="viewport" content="width=device-width, initial-scale=1.0">  
<title>Internal CSS Example</title>  
<style>  
body {  
font-family: Arial, sans-serif;  
}  
h1 {  
color: blue;  
}  
p {  
font-size: 14px;  
}  
</style>  
</head>  
<body>  
<h1>Welcome to My Website</h1>  
<p>This is an example of internal CSS.</p>  
</body>  
</html>
Enter fullscreen mode Exit fullscreen mode

This method allows you to edit and modify the style and feel of the page without needing an external file for the CSS.

Advantages of Internal CSS

  • When using internal CSS, the styles are confined to the specific page, which helps avoid conflicts with styles on other pages. This approach guarantees that the CSS rules defined within the style tag in the head section apply only to that document. As a result, developers can specify the styling of individual pages without worrying about unintended side effects on other parts of the website, making internal CSS a convenient choice for page-specific customizations.

  • Another advantage of internal CSS that ties into the previous one is it provides greater control and customization of the individual pages of a website.

  • Another advantage of internal CSS is that it can contribute to faster page loading times, as no additional HTTP requests are needed to fetch an external stylesheet.

Disadvantages of Inline CSS

  • A significant disadvantage of internal CSS is the duplication of styles across multiple HTML files. Each HTML file must have a separate style section with the same CSS code when different pages need the same style. This repetition not only increases the overall size of the website but also complicates maintenance since any changes to the styles must be done manually in every file. This disadvantage can lead to inconsistencies and a higher chance of errors, making internal CSS less efficient for larger websites that require uniform styling across multiple pages.

  • Another notable disadvantage of internal CSS is the increased HTML file size. Adding styles directly within the style tag in each HTML document's head section increases the overall file size, especially if there are large or complex styles. This disadvantage can lead to longer load times for users with slower internet connections.

External CSS

External CSS involves styling in a separate .css file and linking it to an HTML document using the link tag in the head section. This way of writing CSS promotes the reusability of styles and better organization across multiple pages. An example of what your HTML code will look like is:

<!DOCTYPE html>  
<html lang="en">  
<head>  
<meta charset="UTF-8">  
<meta name="viewport" content="width=device-width, initial-scale=1.0">  
<title>External CSS Example</title>  
<link rel="stylesheet" href="styles.css">  
</head>  
<body>  
<h1>Welcome to My Website</h1>  
<p>This is an example of external CSS.</p>  
</body>  
</html>



Enter fullscreen mode Exit fullscreen mode
An example of the CSS is :

body {  
font-family: Arial, sans-serif;  
}  
h1 {  
color: blue;  
}  
p {  
font-size: 14px;  
}
Enter fullscreen mode Exit fullscreen mode

Advantages of external CSS

  • A significant advantage of external CSS is its reusability, as a single stylesheet can be linked across multiple web pages, significantly reducing repetition and redundancy. This means that common styles only need to be defined once in an external .css file, which you can then link to any number of HTML documents. This advantage makes development more streamlined and makes things like site-wide updates much more straightforward and efficient.

  • A vital performance advantage of external CSS is that it uses browser caching to improve loading times after the initial visit. When a user first visits a website, the external stylesheet is downloaded and stored in the browser cache. On subsequent visits, the browser can quickly retrieve the cached CSS file rather than downloading it again, significantly reducing load times.

Disadvantages of Inline CSS

  • A disadvantage of external CSS is its reliance on additional HTTP requests to load the stylesheet. Each time a web page is accessed, the browser must fetch the external CSS file, which can cause a delay, especially on slower networks or if the server hosting the stylesheet is under heavy load. The webpage may render without styles if the CSS file fails to load due to network issues or server errors.

Choosing The Right Approach

There are multiple factors to consider when considering what CSS type to use when working on a project, as there is no one-size-fits-all way of looking at it. Some of these factors are

  • Project Size:

    More extensive projects benefit from external CSS for better management and scalability.

  • Complexity:

    Complex designs are easier to handle with external CSS due to all the styling taking place in one place.

  • Performance Needs:

    Inline and internal CSS can be quicker for small, simple pages, while external CSS leverages caching for repeated visits.

The appropriate type of CSS depends on the project's size and specific needs. For small web pages, inline or internal CSS is enough. External CSS, however, is best for large, multi-page websites.

Top comments (0)