2.HTML과CSS를 이용한 연습 두번째

11 minute read

온라인 강의 사이트

코드 비교

  • HTML 구성(1)

    • Expert Code : 클래스명을 작성할때, 여러 페이지에 걸쳐 작성될 테그들, 즉 활용도가 높은 테그들은 그 용도 파악하기 쉽게 접두어를 붙인다. 또한 이런애들은 뼈대의 역할을 할뿐이어서 디자인 서식을 준다거나 하지 않는다.
    <div class="l_wrapper ">
      <div class="l_sidebar">Side</div>
      <div class="l_main">Main</div>
    </div>
    
    • Yosup Code : 그냥 위치에 따라 클래스명을 작성함
    <div class="wrapper">
      <div class="lecture"></div>
      <aside class="payment" lang="ko"></aside>
    </div>
    
  • HTML 구성(2)

    • Expert Code : 위에서 말한것처럼 l_wrapper를 우리가 뼈대로 이미 정했기 때문에 l_wrapper에 padding을 주변 다른곳에서 재활용할때에도 상하단에 padding이 적용되기 때문에 그걸 다른요소(contents)로 감싸서 그 테그에다가 padding을 주었다. 마찬가지로 l_sidebar와 l_main 역시 그 자체에 어떠한 디자인 서식을 주기 보다는 또다른 테그를 만들어 그 테그에다 디자인을 줌
    <div class="contents">
      <div class="l_wrapper">
        <div class="l_sidebar">
          <div class="checkout"></div>
        </div>
        <div class="l_main">
          <div class="course"></div>
        </div>
      </div>
    </div>
    
    .contents {
      padding: 40px 0;
    }
    .checkout {
      background-color: #666;
    }
    
    • Yosup Code : wrapper에 margin을 줌(이러면 나중에 재활용할때에 다른것도 margin에 영향을 받게됨)
    <div class="wrapper">
      <div class="lecture"></div>
      <aside class="payment" lang="ko"></aside>
    </div>
    
    .wrapper {
      width: 1200px;
      margin: 30px auto;
    }
    
  • HTML 구성(3)

    • Expert Code : 같은 margin이 적용하기 위해 공통의 클래스를 적용하였다.
    <div class="checkout-section">
      <p class="price">
        11,000원
        <span class="price-discount">5,500원</span>
      </p>
    </div>
    <div class="checkout-section">
      <a href="#" class="button button_block mb_5">장바구니 담기</a>
      <a href="#" class="button button_block button_important">바로구매</a>
    </div>
    <div class="checkout-section">
      section2
    </div>
    
    .checkout-section {
      margin: 20px;
      background-color: rgba(255, 255, 255, 0.05);
    }
    
    • Yosup Code : 같은 margin을 적용하기 위해 infromaition 이라는 하나의 div로 묶어줬다. 이럴경우 cost 와 button detail의 간격도 떨어트려야 하기 때문에 또 다른 css를 적용할수 밖에 없다.
    <div class="information">
      <div class="cost">
        <strong>11,000원</strong>
        <strong>5,500원</strong>
      </div>
      <button type="button">장바구니에 추가</button>
      <button type="button">지금 구매</button>
      <div class="detail">
        <strong>이 강좌는 다음을 포함합니다.</strong>
        <ul>
          <li>46.5시간 주문형 동영상</li>
          <li>81개의 글</li>
          <li>85개의 다운로드 가능 리소스</li>
          <li>평생 이용</li>
          <li>모바일 및 TV에 대한 엑세스</li>
          <li>수료증</li>
        </ul>
      </div>
    </div>
    
    .information {
      width: 250px;
      margin: 0 auto;
    }
    .payment button {
      margin-top: 10px;
    }
    .payment .detail {
      margin: 0 auto;
      padding-top: 30px;
    }
    
  • HTML 구성(4)

    • Expert Code : class에 하위 요소에는 ‘-‘ 를 어떠한 기능을 할때는 언버바 를 붙였다.
    <div class="l_wrapper ">
      <div class="l_sidebar">
        <div class="checkout">
          <div class="video">
            Video
          </div>
          <div class="checkout-section">Price</div>
          <div class="checkout-section">Section 1</div>
          <div class="checkout-section">Section 2</div>
        </div>
      </div>
      <div class="l_main">Main</div>
    </div>
    
    • Yosup Code : 그냥 의미 없는 class를 작성하였다. 하위요소에 - 를 해야하는데 언더바를 붙였네..
    <header class="intro">
      <div class="intro_title">
        <h1>THE WEB DEVELOPER BOOTCAMP</h1>
        <strong>
          Complete Data Science Training : Mathematics, Statistics,Python,
          Advanced Statistics in Python, Machine & Deep Learning
        </strong>
      </div>
    
      <div class="intro_img">
        <img src="/assets/images/practice/lecture/logo.png" alt="lecture logo" />
        <strong>Creator Joseph</strong>
      </div>
    
      <img
        src="/assets/images/practice/lecture/star-sprite.png"
        alt="five start"
        aria-label="lecture 
              evaluation"
      />
    </header>
    
  • CSS의 작성(1)

    • Expert Code : css를 작성할때 공통으로 사용되는 요소 , 뼈대로 사용되는 요소, 구성요소 등 따로 분리해서 작성한다.
    /* ---------------Layours :뼈대---------------------- */
    .l_wrapper {
      width: 960px;
      margin: 0 auto;
    }
    .l_sidebar {
      width: 260px;
      float: right;
      margin-left: 20px;
      width: 300px;
    }
    
    .l_main {
      border: 10px solid red;
      background-color: green;
      overflow: hidden;
    }
    
    /* ----------------util------------*/
    
    .mb_5 {
      margin-bottom: 5px;
    }
    .mb_10 {
      margin-bottom: 10px;
    }
    
    /* -----Commons : 공통적으로 사용할수 있는 것들-----*/
    
    .clearfix:after {
      content: " ";
      display: table;
    }
    
    a {
      text-decoration: none;
      color: inherit;
    }
    
    .button {
      background-color: #333;
      color: white;
      padding: 0.5em 1em;
      display: inline-block;
    }
    
    .button_block {
      display: block;
      text-align: center;
    }
    
    /* ------------Components---------------- */
    
    .contents {
      padding: 40px 0;
    }
    
    .checkout {
      background-color: #666;
    }
    
    • Yosup CODE : 구분 없이 그냥 작성
    .wrapper {
      width: 1200px;
      margin: 30px auto;
    }
    .lecture {
      float: left;
      width: 900px;
    }
    .lecture {
      float: left;
      width: 900px;
    }
    .lecture .intro {
      width: auto;
      background-image: url(/assets/images/practice/lecture/cover.png);
      background-size: cover;
      background-repeat: no-repeat;
      height: 200px;
      padding: 25px 25px;
    }
    
  • CSS의 작성(2) : CSS 방법론

    • Expert Code : CSS에 하위요소를 선언해서 사용하지 않고, 거의 클래스명으로 CSS를 적용시켜주었다. 이렇게 되면 HTML의 클래스의 명이 복잡해지겠지만 , CSS가 많아지고 복잡해지는것 보단 나은 방식이다.
    <div class="checkout-section">
      <a href="#" class="button button_block mb_5">장바구니 담기</a>
      <a href="#" class="button button_block button_important">바로구매</a>
    </div>
    
    • Yosup Code : 하위 요소 남발..
    <div class="innerbox">
      <table>
        <tr class="rd-only">
          <th>arrow img</th>
          <th>title</th>
          <th>date</th>
        </tr>
        <tr>
          <td></td>
          <td><a href="#">A Note On Asking For Help</a></td>
          <td>20.12</td>
        </tr>
        <tr>
          <td></td>
          <td><a href="#">Adiitional FREE Content</a></td>
          <td>20.12</td>
        </tr>
      </table>
    </div>
    
    .innerbox table a {
      text-decoration: none;
      color: gray;
    }
    .innerbox table a:hover {
      text-decoration: underline;
    }
    
    .innerbox table td:last-child {
      position: absolute;
      right: 15px;
    }
    
  • float를 선언할 테그의 위치

    • EXPERT Code : float가 적용될 요소를 마크업 상단에 위치시켰다. 일반적으로 적용될 float가 상단에 위치해야한다고함
    <div class="l_wrapper ">
      <div class="l_sidebar">Side</div>
      <div class="l_main">Main</div>
    </div>
    
    .sidebar {
      background-color: orange;
      width: 300px;
      float: right;
    }
    /* float가 적용될 요소는 마크업상 상단에 위치해야한다. */
    .main {
      border: 10px solid red;
      overflow: hidden;
    }
    
    • Yosup Code : 나는 보이는 순서대로 마크업을 구성하였고 그에 따라 float를 2번쓰는 경우가 발생하였다.
    <div class="wrapper">
      <div class="lecture"></div>
      <aside class="payment" lang="ko"></aside>
    </div>
    
    .lecture {
      float: left;
      width: 900px;
    }
    
    .payment {
      width: 300px;
      height: 939px;
      float: left;
      background-color: black;
      margin: 0 auto;
    }
    
    • 의문점(1) : 그러면 보이는대로 작성하고 sidebar에다가 float: right를 해주면 되지 않을까?
    • 결과 : 너가 제대로 float에 대해 이해를 못하고 있구나, 보이는대로 작성하고 float:right를 작성하면 다른 모습이 나오지..
    <div class="l_wrapper ">
      <div class="l_main">Main</div>
      <div class="l_sidebar">Side</div>
    </div>
    
    .sidebar {
      background-color: orange;
      width: 300px;
      float: right;
    }
    /* float가 적용될 요소는 마크업상 상단에 위치해야한다. */
    .main {
      border: 10px solid red;
      overflow: hidden;
    }
    
    • 의문점(2) : 그러면 순서대로 작성하고 위에거에다가 float : left를 해주면 되지 않을까?
    • 결과 : 너가 나중 결과를 생각하지 않고 작성한 코드구나, 나중에 휴대폰 화면에서 side가 main 위로 올라가야할때 코드 작성이 어려움이 생긴다.
    <div class="l_wrapper ">
      <div class="l_main">Main</div>
      <div class="l_sidebar">Side</div>
    </div>
    
    .l_sidebar {
      overflow: hidden;
      background-color: orange;
    }
    
    .l_main {
      border: 10px solid red;
      float: left;
      width: 660px;
    }
    

-Vedio 사용 방법

  • EXPERT Code : 외부에서 비디오를 받아왔는데, 그럴경우 지정된 높이와 너비에 의해 부모 밖으로 비디오가 나가는 현상이 발생한다. 그걸 방지하기 위해 .video-iframe 에 absolute를 주고 부모의 너비와 높이 만큼 꽉 채웠다. 그런데 특이한점은 부모의 높이를 padding-top: % 를 통해 주었다는것이다. padding-top : % 는 적용된 테그의 너비만큼 비례해서 높이가 정해진다고 한다.(따라서 padding-top : 100% 는 정사각형 모양이 나오는것임)

    그냥 height px로 주면 되지 않을까? 그럴경우 px은 고정되어있기 때문에 나중에 반응형 작업을 할때 크게 나와야할 상황에서도 적용한 px만큼 나오기 때문에 좋지 않은 방법이다. 그러면 height 를 %로 주면 되지 않을까? height % 는 부모의 높이에 따른 %를 주기 때문에 비디오의 16:9 사이즈를 유지하기가 쉽지 않다.

    <div class="video">
      <iframe
        src="https://player.vimeo.com/video/27246366?color=ffffff"
        width="640"
        height="360"
        frameborder="0"
        allow="autoplay; fullscreen"
        allowfullscreen
        class="video-iframe "
      ></iframe>
    </div>
    
    .video {
      position: relative;
      background-color: dodgerblue;
      padding-top: 56.25%;
    }
    
    .video-iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
    }
    
    • Yosup Code : 다양한 비디오에도 감당하기 위해 다음과 같은 HTML을 준건 나쁘지 않았는데, px로 줬네.. 이러면 반응형 작업할때 일을 두번 해야하는 현상이 생기더라..
    <video controls>
      <source src="/assets/images/practice/lecture/sujin2.mp4" type="video/wav" />
      <source src="/assets/images/practice/lecture/sujin2.mp4" type="video/ogg" />
      <source
        src="/assets/images/practice/lecture/sujin2.mp4"
        type="video/mpeg"
      />
    </video>
    
    .wrapper video {
      width: 300px;
      height: 250px;
    }
    
  • Button을 만드는 방법

    • EXPERT Code : a 테그로 button을 만들어서 사용했다. 하지만 a 테그는 inline 요소이기에 padding top , bottom을 주면 안된다고 했으므로 a 테그를 원래 button의 display 속성인 inline-block으로 해준다. 그러나 지금의 상황에서는 한줄에 하나의 button이 필요하므로 또다른 클래스를 만들어 block요소를 적용해주었다. .button 요소에 직접 block과 maring을 줘도되지만 이 button은 다른 곳에서도 사용되는 공통의 요소이기 때문에 또다른 클래스인 md_5 나 button_block를 추가 시켜준것이다
    <a href="#" class="button button_block mb_5">장바구니 담기</a>
    <a href="#" class="button button_block button_important">바로구매</a>
    
    .button {
      background-color: #333;
      color: white;
      padding: 0.5em 1em;
      display: inline-block;
    }
    
    .button_block {
      diplay: block;
      text-align: center;
    }
    
    /* util */
    .mb_5 {
      margin-bottom: 5px;
    }
    .mb_10 {
      margin-bottom: 10px;
    }
    .mb_15 {
      margin-bottom: 15px;
    }
    
    • Yosup Code : 그냥 버튼 테그를 사용함, 버튼 자체는 inline-block이므로 따로 한줄에 하나씩 사용하기 위해 block으로 바꿔주기만 함
    <button type="button">장바구니에 추가</button>
    <button type="button">지금 구매</button>
    
    .payment button {
      margin: 0 auto;
      display: block;
      width: 220px;
      height: 35px;
      margin-top: 10px;
      border: 0;
      font-weight: 900;
      color: white;
    }
    
  • max-width vs width 그리고 변하지 요소 vs 변하는 요소

    • max-width의 정의 : max-width CSS 속성은 요소의 최대 너비를 설정합니다. max-width는 width 속성의 사용값이 자신의 값보다 커지는걸 방지합니다.

      • 사용값 : 사용값은 계산값에 모든 계산을 수행한 후의 결과 값입니다.

      • 계산값 : 계산값은 상속 과정에서 부모가 자식에게 물려주는 값을 말합니다.

      • 즉 사용값이라 하면 auto를 의미하는것 같다.

    • max-width vs width

      • width : 980px로 잡았을 경우 화면을 줄여도 980px을 유지 한다.

      • width : % 로 잡았을 경우 부모에 width값에 %를 적용한 값을 받기 때문에 화면이 줄면 같이 줄어들게 되지만, 대신 화면이 커지면 같이 커지게 된다.

      • max-width : 980px로 잡았을 경우 width 속성의 사용값인 auto가 적용되고 그렇기 때문에 화면이 width를 적용했을 때와 다르게 줄어도 같이 줄어들게 되며 auto값이 980px보다 커지는것을 방지한다.

      • max-width % 로 잡았을 경우 width: auto가 적용되며, 화면을 늘렸을때 적용한 %보다 커지는것을 방지한다.

    • 변하지 않는 요소와 변하는 요소

      • 변하는 요소는 : px로 고정값을 주지 않는 요소들이다.
      • 변하지않는 요소 : px로 준 요소들

      따라서 px로 side의 너비를 정했기 때문에 사이드가 고정이 되는 모습을 보인것이다.

    • Expert code

      <div class="contents">
        <div class="l_wrapper ">
          <div class="l_sidebar">sidebar</div>
          <div class="l_main">Main</div>
        </div>
      </div>
      
      .l_wrapper {
        max-width: 980px;
        margin: 0 auto;
      }
      
      .l_sidebar {
        width: 300px;
        float: right;
        background-color: orange;
      }
      
      .l_main {
        overflow: hidden;
        border: 10px solid red;
      }
      
    • Yosup code : width를 px로 잡았기 때문에 화면이 줄어들어도 1200px를 유지할것이고,width를 max-width로 잡아서 줄인다고 한들 payment는 300px와 lecture 역시 변하지 않는 코드를 만듬, 화면을 줄임으로 해서 변해야하는 반응형 웹에는 적합하지 않은 코딩

    <div class="wrapper">
      <div class="lecture">
        <header class="intro"></header>
      </div>
    
      <aside class="payment" lang="ko"></aside>
    </div>
    
    .wrapper {
      width: 1200px;
      margin: 30px auto;
    }
    
    .lecture {
      float: left;
      width: 900px;
    }
    .payment {
      width: 300px;
      height: 939px;
      float: left;
      background-color: black;
      margin: 0 auto;
    }
    

꿀 팁~

  • 1.아직도 반응형 작성방법에 대한 이해가 잘 안됨.. 좀 더 효율적인 코딩이 쉬운 반응형 작업을 하는데 도움이 될것 같다는 결론을 얻음

  • 2.CSS 마진 상쇄(필수로 외워두자)

    CSS 마진 상쇄

  • 3.CSS 마진 상쇄 해결방법

    .clearfix:after {
      content: " ";
      display: table;
    
      /* 마진 상쇄의 해결방법 :
      
      가상요소를 만들어 주되 이 문제는 block과 block 사이에서 발생하는 문제이므로
      diplay를 block도 inline(inline은 위 아래가 아닌 흐름이자네~)도 아닌요소인 table로 해준다.
      
      또 다른 해결방법(but 잘 쓰지 않음) :
      
      부모요소에 경계를 줄수 있는 padding 이나 border를 준다. but 이것은 시각적으로 보일수 있으므로
      시각적으로 보이지 않게 하기 위해 display:flow-root (flow-root 는 호환성이 별루..) 나
      overflow:hidden 또는 가상요소를 만들어주어 사용한다.
      그러나 overflow:hidden를 사용하면 overflow:hidden 자체의 목적인 "넘쳤을때 자른다"라는
      의미에 맞지 않게 사용되므로 가상요소를 사용하여 해결해주는것이 좋을것 같다.
      */
    }
    
  • 4.레이아웃을 먼저 잡는게 중요하며, 레이아웃(뼈대)만 따로하는 테그를 만들어 사용하면 나중에 재활용할수 있다. (그리고 그 레이아웃은 뼈대용도로만 사용해야한다.) 마찬 가지로 공통된 스타일은 별도의 클래스로 만들고 재사용한다. (=== CSS 방법론)

    <div class="l_wrapper">
      <div class="l_sidebar"></div>
    </div>
    <div class="l_main">
      Main
    </div>
    
    /* ---------------Layours :뼈대---------------------- */
    
    .l_wrapper {
      width: 960px;
      margin: 0 auto;
    }
    
    .l_sidebar {
      /* width: 260px; */
      float: right;
      margin-left: 20px;
      width: 300px;
    }
    
    .l_main {
      border: 10px solid red;
      background-color: green;
      overflow: hidden;
    }
    
    /* -----Commons : 공통적으로 사용할수 있는 것들-----*/
    
    .clearfix:after {
      content: " ";
      display: table;
    }
    a {
      text-decoration: none;
      color: inherit;
    }
    
    .button {
      background-color: #333;
      color: white;
      padding: 0.5em 1em;
      display: inline-block;
    }
    
    .button_block {
      display: block;
      text-align: center;
    }
    
  • 5.css를 작성할때 공통으로 사용되는 요소 , 뼈대로 사용되는 요소, 구성요소 등 따로 분리해서 작성한다.

    /* ---------------Layours :뼈대---------------------- */
    .l_wrapper {
      width: 960px;
      margin: 0 auto;
    }
    .l_sidebar {
      width: 260px;
      float: right;
      margin-left: 20px;
      width: 300px;
    }
    
    .l_main {
    border: 10px solid red;
    background-color: green;
    overflow: hidden;
    
    /* ----------------util------------*/
    .mb_5 {
    margin-bottom: 5px;
    }
    .mb_10 {
    margin-bottom: 10px;
    }
    .mb_15 {
    margin-bottom: 15px;
    }
    
    .mb_20 {
    margin-bottom: 20px;
    }
    
    /* -----Commons : 공통적으로 사용할수 있는 것들-----*/
    
    .clearfix:after {
    content: " ";
    display: table;
    
    }
    a {
      text-decoration: none;
      color: inherit;
    }
    
    .button {
     background-color: #333;
      color: white;
      padding: 0.5em 1em;
      display: inline-block;
    
    }
    
    .button_block {
      display: block;
      text-align: center;
    }
    
    /* ------------Components---------------- */
    
    .contents {
     padding: 40px 0;
    }
    
    .checkout {
     background-color: #666;
    }
    
    
  • 6.반응형으로 사용할 형태들은 언제든지 위치에 따라 모양이 바뀌어야하므로 px 보다는 %로 잡는게 좋다.

  • 7.높이를 정할때 height를 쓰는데, 반응형일때는 px보다는 %가 좋으니 %를 사용하려고 했으나, % 는 부모의 높이에 따른 비율이므로 만약 부모의 높이가 없을경우 height에 %를 사용하는것은 무의하다. 따라서 높이를 정할때 사용할수 있는 또다른 방법이 padding-top이다. (padding-top에 사용하는 %는 자기자신의 width에 비례한 높이를 나타낸다.)

    .video {
      position: relative;
      background-color: dodgerblue;
      padding-top: 56.25%;
    }
    
  • 8.class 이름을 체계적으로 정하기

    • 1.서로 직접적인 관련있는 하위요소일때 : price의 하위요소인 discount 다 ==> price-discount 처럼 “-“ 를 사용하였다.
    <p class="price">
      11,000원
      <span class="price-discount">5,500원</span>
    </p>
    
    • 2.어떠한 담당요소가 있을때 : layout의 역할을 하는 wrapper이다 ==> l_wrapper , l_sidebar 와 같은 언더바 를 사용하였다.
    <div class="l_wrapper">
      <div class="l_sidebar"></div>
    </div>
    
  • 9.자주 사용하는 속성은 utility class로 만든다.(=== CSS 방법론)

    <a href="#" class="button button_block mb_5">장바구니 담기</a>
    
    /* util */
    
    .mb_5 {
      margin-bottom: 5px;
    }
    .mb_10 {
      margin-bottom: 10px;
    }
    
    .mb_15 {
      margin-bottom: 15px;
    }
    
    .mb_20 {
      margin-bottom: 20px;
    }
    
  • 10. CSS 방법론(BEM, OOCSS, SMACSS)

    CSS 방법론

  • 11.텍스트가 흰색이라 잘 안보이는 경우가 있는데,배경을 줄때 어떤 이미지를 주더라도 텍스트가 잘 보이게끔 하기 위해 배경안에 또 다른 레이아웃을 넣어주고 특정 지역을 어둡게 하여 텍스트 있는 쪽은 잘 보이게끔 하기도 한다.

    .course-cover {
      background-image: url(/assets/images/practice/lecture/cover.png);
      padding: 30px;
      background-size: cover;
      background-position: center;
      position: relative;
    }
    .course-cover::after {
      content: " ";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      opacity: 0.5;
      background: -moz-linear-gradient(
        top,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.65) 100%
      );
      background: -webkit-linear-gradient(
        top,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.65) 100%
      );
      background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.65) 100%
      );
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
    
      <!-- bacground 부분은 그라데이션을 주기위해 외부에서 가져온거임 -->
    }
    
    
  • 13.각 기기별 미디어쿼리 적용사이즈

    /*
      ##Device  =  Desktops
      ##Screen  =  1281px  to  higher  resolution  desktops
    */
    @media (min-width: 1281px) {
      /* CSS */
    }
    
    /*
      ##Device = Laptops,Desktops
      ##Screen  =  B/w  1025px  to  1280px
    */
    @media (min-width: 1025px) and (max-width: 1280px) {
      /* CSS */
    }
    
    /*
      ##Device = Tablets,Ipads  (portrait)
      ##Screen  =  B/w  768px  to  1024px
    */
    @media (min-width: 768px) and (max-width: 1024px) {
      /* CSS */
    }
    
    /*
      ##Device = Tablets,Ipads  (landscape)
      ##Screen  =  B/w  768px  to  1024px
    */
    @media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
      /* CSS */
    }
    
    /*
      ##Device = Low Resolution Tablets,Mobiles  (Landscape)
      ##Screen  =  B/w  481px  to  767px
    */
    @media (min-width: 481px) and (max-width: 767px) {
      /* CSS */
    }
    
    /*
      ##Device  =  Most  of  the  Smartphones  Mobiles  (Portrait)
      ##Screen  =  B/w  320px  to  479px
    */
    @media (min-width: 320px) and (max-width: 480px) {
      /* CSS */
    }
    

Leave a comment