Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 2.02 KB

09.viewport.md

File metadata and controls

54 lines (36 loc) · 2.02 KB

The concept of the "viewport" is fundamental in web design, especially for creating responsive layouts. Understanding what the viewport is and how it affects web design is key for any aspiring web developer.

What is the Viewport?

  • Definition: The viewport is the user's visible area of a web page. It varies with the device - it's smaller on a mobile phone than on a computer screen.
  • Responsive Design: A key aspect of modern web design is to make websites look good on all devices. The viewport plays a critical role in achieving this responsiveness.

Viewport vs. Window

  • The Window: Refers to the entire browser window, including the browser chrome (like the address bar, tabs, etc.).
  • The Viewport: Only the area where the web content is displayed - it's what you actually see of the website.

Controlling the Viewport

  • Viewport Meta Tag: HTML provides a <meta> tag for the viewport which allows web designers to control the viewport's size and scale.

    <meta name="viewport" content="width=device-width, initial-scale=1" />
    • width=device-width sets the width of the viewport to the width of the device.
    • initial-scale=1 sets the initial zoom level when the page is first loaded.

Viewport Units in CSS

  • Units Based on the Viewport Size:

    • vw (viewport width): 1% of the viewport's width.
    • vh (viewport height): 1% of the viewport's height.
  • Usage: These units are useful for creating designs that adapt to the size of the viewport. For example, a width of 50vw means the element will always be half the width of the viewport.

Examples

  1. Full-Page Hero Image:

    .hero-image {
      width: 100vw;
      height: 100vh;
    }

    This ensures that the hero image always covers the entire viewport.

  2. Responsive Font Size:

    p {
      font-size: 2vw;
    }

    This makes the font size responsive, scaling based on the width of the viewport.