代码之家  ›  专栏  ›  技术社区  ›  Pete Irfan TahirKheli

两种宽度之间和第三种宽度以上的媒体查询

  •  2
  • Pete Irfan TahirKheli  · 技术社区  · 6 年前

    我正在尝试执行以下媒体查询,但遇到了问题-我是否必须将其拆分并执行两个单独的查询(对每个查询重复所有样式),或者是否可以以任何方式组合它们?

    .container {
      padding: rem(16px);
      display: flex;
      flex-direction: column;
    }
    
    @media only screen and (min-width: 600px) and (max-width: 768px) and (min-width: 1550px) {
      /* want this to turn into a row in between 600 and 768 and over 1550px but the above doesn't seem to work */
      .container {
        flex-direction: row;
        align-items: center;
      }
    }
    
    /* have also tried 
    @media only screen and (min-width: 600px) and (max-width: 768px),
    @media only screen and (min-width: 1550px) {
      this does not work either
    }
    
    */
    <div class="container">
      <div>div 1</div>
      <div>div 2</div>
    </div>
    3 回复  |  直到 6 年前
        1
  •  4
  •   MDrX    6 年前

    @media only screen and (min-width: 600px) and (max-width: 768px), screen and (min-width: 1550px) {
      ...
    }
        2
  •  1
  •   SuperDJ Franklin Rivero    6 年前

    您可以完全分离媒体查询:

    .container {
      padding: rem(16px);
      display: flex;
      flex-direction: column;
    }
     
    @media only screen and (min-width: 600px) and (max-width: 768px) {
      .container {
        flex-direction: row;
        align-items: center;
      }
    }
    
    @media only screen and (min-width: 1550px) {
      .container {
        flex-direction: row;
        align-items: center;
      }
    }
    <div class="container">
      <div>div 1</div>
      <div>div 2</div>
    </div>
        3
  •  0
  •   Solar    6 年前
    @media only screen and (min-width:600px) and (max-width: 768px),
    (min-width: 1550px){
    
        .container {
            flex-direction: row;
            background: green;
            align-items: center;
         }
    
    }
    
    1. 使用逗号和逗号 @media
    2. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1, maximum-scale=1">