Types of CSS Units
In CSS, we use units to define the size of elements, and there are two main categories: absolute units and relative units.
Absolute Units:
These are fixed sizes that don’t change based on screen size or other elements:
- px (Pixels): The most common unit, used for on-screen designs. Pixels are small, fixed units of measurement.
 
p {
  font-size: 18px;
}- in (Inches): Typically used for print layouts, but you probably won’t use this much for web.
 
div {
  width: 1in;
}- cm (Centimeters), mm (Millimeters): Also used in print design. These units aren’t as common in web design.
 
div {
  height: 10cm;
}Relative Units:
These units change size based on another element, making them more flexible and often better for responsive designs:
- % (Percentage): The size is relative to the parent element.
 
div {
  width: 50%; /* Takes up 50% of the parent element's width */
}- em: Relative to the font size of the parent element. If the parent’s font size is 16px, then 
1.5emwould be 24px. 
p {
  font-size: 1.5em; /* 1.5 times the parent’s font size */
}- rem: Similar to 
em, but relative to the root element (the<html>tag). 
p {
  font-size: 2rem; /* 2 times the root element's font size */
}- vw (Viewport Width): 1vw is equal to 1% of the viewport width (the browser window). This is great for responsive layouts.
 
div {
  width: 50vw; /* 50% of the viewport width */
}- vh (Viewport Height): 1vh equals 1% of the viewport height.
 
div {
  height: 100vh; /* Full height of the viewport */
}Using Units in CSS
1. Width and Height:
You can define width and height using any of the units mentioned above. For example:
div {
  width: 100px; /* Fixed size in pixels */
  height: 50%;  /* Half the height of the parent */
}2. Font Sizes:
Font size is typically defined using px, em, rem, or %, depending on your needs.
h1 {
  font-size: 3rem; /* Relative to the root element’s font size */
}
p {
  font-size: 16px; /* Fixed size in pixels */
}3. Margins and Padding:
You can also set margins and padding using any of these units. This helps control the spacing around and inside elements.
div {
  padding: 20px;
  margin: 5%;
}CSS Units Example Code
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    body {
      font-size: 16px; /* Sets the base font size */
    }
    /* Using px for fixed sizing */
    h1 {
      font-size: 24px;
    }
    /* Using em for relative sizing */
    p {
      font-size: 1.5em; /* 1.5 times the base font size */
    }
    /* Using % for flexible width */
    div {
      width: 50%; /* Takes up half the width of the parent */
      padding: 1em;
      background-color: lightgray;
    }
    /* Viewport units for responsive design */
    .fullscreen {
      width: 100vw;
      height: 100vh;
      background-color: lightblue;
    }
  </style>
  <title>CSS Units Example</title>
</head>
<body>
  <h1>Understanding CSS Units</h1>
  <p>This text is sized with em units, relative to the base font size.</p>
  <div>This div takes up 50% of the width of its parent.</div>
  <div class="fullscreen">This div fills the entire viewport.</div>
</body>
</html>


