美文网首页
[Notes]Basic website layout and

[Notes]Basic website layout and

作者: JellyL | 来源:发表于2020-04-04 15:34 被阅读0次

    Basic website layout and styling

    Responsive design

    • Set the visual viewport
    <meta name="viewport" content="width=device-width, initial-scale=1.0" >
    

    Responsive Web Design Basics

    Using the viewport meta tag to control layout on mobile browsers - MDN

    • Use media queries
    // 48rem(768 pixels at browser's default font size or 48 times the
    // default font size in the user's browser)
    @media screen and (max-width: 48rem)
    

    When to Use Em vs. Rem

    • Using Flexbox

    A Complete Guide to Flexbox

    Material Design

    Responsive images

    • Set the relative width

    make sure images won't overflow the screen

    img {
      max-width: 100%;
    }
    
    • Using the srcset attribute

    The goal is to get the browser to fetch the version of the image with the
    smallest dimensions that is still bigger than the final display size of the image.

    srcset lets us list a set of images at different resolutions for the browser
    to choose from when fetching the image. The browser's choice depends on the
    viewport dimensions, the image size relative to the viewport, the pixel density
    of the user's device, and the source file's dimensions.

    // On a 1x display, the browser fetches sfo-500_small.jpg when the
    // window is narrower than 500px, sfo-800_medium.jpg when it is
    // narrower than 800px, and so forth.
    <img
      id="sfo"
      src="images/sfo-500_small.jpg"
      alt="View from aircraft window near San Francisco airport"
      srcset="
        images/sfo-1600_large.jpg 1600w,
        images/sfo-1000_large.jpg 1000w,
        images/sfo-800_medium.jpg  800w,
        images/sfo-500_small.jpg   500w
      "
    />
    

    srcset and sizes

    • Using media queries
    // The `sizes` value matches the image's max-width value in the CSS.
    <img
      id="sfo"
      src="images/sfo-500_small.jpg"
      alt="View from aircraft window near San Francisco airport"
      srcset="
        images/sfo-1600_large.jpg 1600w,
        images/sfo-1000_large.jpg 1000w,
        images/sfo-800_medium.jpg  800w,
        images/sfo-500_small.jpg   500w
      "
      sizes="(max-width: 800px) 50vw, 100vw"
    />
    

    sizes="(min-width: 800px) 50vw, 100vw"

    Meaning: “If the browser window is wider than 800px, this image is probably
    going to be displayed about half the size of that. If it’s smaller, it’ll
    probably be full-width.”

    @media

    • Use the picture and source elements
    <picture>
      <source
        srcset="
          images/horses-1600_large_2x.jpg 2x,
          images/horses-800_large_1x.jpg
        "
        media="(min-width: 750px)"
      />
      <source
        srcset="images/horses_medium.jpg"
        media="(min-width: 500px)"
      />
      <img src="images/horses_small.jpg" alt="Horses in Hawaii" />
    </picture>
    

    picture MDN
    source MDN

    Responsive Images: If you're just changing resolutions, use srcset

    media

    <video controls width="400" height="400"
           autoplay loop muted
           poster="poster.png">
      <source src="rabbit320.mp4" type="video/mp4">
      <source src="rabbit320.webm" type="video/webm">
      <track kind="subtitles" src="subtitles_en.vtt" srclang="en"> //
      <p>Your browser doesn't support HTML video. Here is a <a href="rabbit320.mp4">link to the video</a> instead.</p>
    </video>
    
    <audio controls>
      <source src="viper.mp3" type="audio/mp3">
      <source src="viper.ogg" type="audio/ogg">
      <p>Your browser doesn't support HTML5 audio. Here is a <a href="viper.mp3">link to the audio</a> instead.</p>
    </audio>
    
    // Restarting media playback
    const mediaElem = document.getElementById("my-media-element");
    mediaElem.load();
    

    Video and audio content

    相关文章

      网友评论

          本文标题:[Notes]Basic website layout and

          本文链接:https://www.haomeiwen.com/subject/hrsjphtx.html