FDS12_Markup_Summary

Responsive Image, Grid Layout

Responsive Web

<picture> element

Pixel density descriptor

Image 반응형으로 만들기

  1. wrapper를 만들고, 그 안에 <img> max-width: 100%;
  2. height: auto;
  <style>
  .rwd-wrapper{
    width: 30%;
    border: 5px solid blueviolet;
  }
  .rwd-wrapper img{
    max-width: 100%;
    height: auto;
  }
  </style>
  </head>
  <body>
    <div class="rwd-wrapper">
      <img src="images/image-src.png" alt="">
    </div>
	</body>
	```

3. srcset 속성을 사용해서 Pixel density 설정
  ![0416](https://user-images.githubusercontent.com/48080762/56205794-bd0a5a80-6085-11e9-818e-61f08070d206.png)

  ```html
  <div class="rwd-wrapper">
  <img src="images/image-src.png" alt=""
    srcset="images/image-1x.png 1x,
            images/image-2x.png 2x,
            images/image-3x.png 3x,
            images/image-4x.png 4x">
  </div>
  1. Viewport 별로 Art Direction 설정하기

Background image를 반응형으로 만들기

  1. image 원본 size를 알아내야한다. > 가로, 세로 비율을 계산해야함
  2. height를 0으로 하고, padding을 세로로 원본 image의 비율에 맞게 준다.
  .rwd-bg{

    width: 100%;
    height: 0 !important;
    padding-top: calc(3280 / 4928 * 100%);
    background: url("images/light.jpg") no-repeat;
    background-size: 100% 100%;
  }
  1. width 크기를 변경할 때는 새로운 wrapper를 만들어 그 wrapper의 width를 줄인다.
  .wrapper{
    width: 50%;
  }
  .rwd-bg{
    width: 100%;
    height: 0 !important;
    padding-top: calc(3280 / 4928 * 100%);
    background: url("images/light.jpg") no-repeat;
    background-size: 100% 100%;
  }
    <div class="wrapper">
      <div class="rwd-bg"></div>
    </div>

Background-size: cover, contain

CSS Trick Background-size 참고 사이트

image

Media query로 해상도 별 배경 image 다르게 하기

@media all and (min-resolution: 192dpi){
  .rwd-bg{
    background-image: url("images/unsplash.jpg");
  }
}