HTML - Quotations

Types of Style Sheets

There are three main types of style sheets used in web development: internal style sheets, external style sheets, and inline styles. Each type has its own benefits and drawbacks, and understanding when to use each one is key to creating well-structured and maintainable websites.

Internal Style Sheet

An internal style sheet is defined within the <style> tag in the <head> section of an HTML document. It contains CSS rules that apply to the elements on that specific page. Internal style sheets are useful when you have a single page with unique styles or when you want to quickly test out some styles without creating a separate CSS file.

Advantages Disadvantages
Styles are kept within the HTML document, making it easier to manage for single-page websites. Styles cannot be reused across multiple pages, leading to code duplication.
No additional HTTP requests are needed to fetch the styles. Mixing HTML and CSS can make the code harder to read and maintain.

Example of an internal style sheet

<head>
  <style>
    body {
      font-family: Arial, sans-serif;
      background-color: #f0f0f0;
    }
    h1 {
      color: #333;
      text-align: center;
    }
  </style>
</head>

External Style Sheet

An external style sheet is a separate CSS file that contains styles for one or more HTML pages. It is linked to the HTML document using the <link> tag in the <head> section. External style sheets are the most common and preferred method for applying styles to a website, as they allow for code reuse, easier maintenance, and separation of concerns.

Advantages Disadvantages
Styles can be reused across multiple pages, reducing code duplication. An additional HTTP request is needed to fetch the external CSS file.
Separating HTML and CSS makes the code more readable and maintainable. If the external CSS file fails to load, the website may appear unstyled.
Styles can be cached by the browser, improving page load times.

Example of an external style sheet

<head>
  <link rel="stylesheet" type="text/css" href="styles.css">
</head>

Inline Styles

Inline styles are applied directly to an HTML element using the style attribute. They have the highest specificity and override styles defined in internal or external style sheets. Inline styles should be used sparingly, as they mix HTML and CSS, making the code harder to read and maintain.

Advantages Disadvantages
Useful for applying styles to a single element quickly. Mixing HTML and CSS makes the code harder to read and maintain.
Highest specificity, overriding other styles. Styles cannot be reused, leading to code duplication.
Harder to apply consistent styles across a website.

Example of inline styles

<p style="color: red; font-weight: bold;">This is a paragraph with inline styles.</p>

Linking External Style Sheets

To use an external style sheet in your HTML document, you need to link it using the <link> tag inside the <head> section of your HTML file. The <link> tag is an empty element, meaning it does not have a closing tag, and it requires several attributes to properly connect the style sheet to the document.

The rel attribute specifies the relationship between the HTML document and the linked resource. For linking a style sheet, the value should be set to "stylesheet". The type attribute indicates the type of content being linked, which in this case is "text/css". The href attribute specifies the file path to the external CSS file.

Example: Linking an External Style Sheet in the Same Directory

<head>
  <link rel="stylesheet" type="text/css" href="styles.css">
</head>

If the CSS file is located in a different directory, you need to specify the appropriate file path in the href attribute. For instance, if the CSS file is located in a subdirectory named "css", the code would look like this:

Example: Linking an External Style Sheet in a Subdirectory

<head>
  <link rel="stylesheet" type="text/css" href="css/styles.css">
</head>

You can also link to style sheets hosted on external websites by providing the full URL in the href attribute:

Example: Linking an External Style Sheet from an URL

<head>
  <link rel="stylesheet" type="text/css" href="https://example.com/styles.css">
</head>

You can link multiple external style sheets to a single HTML document by including multiple <link> tags in the <head> section. The order in which they are linked matters, as styles defined in later style sheets will override those in earlier ones if they target the same elements.