Is it possible to nest media queries within media queries?

前端 未结 3 669
长发绾君心
长发绾君心 2020-12-09 15:39

Is this possible? It seems like a neat solution to me, but I\'m not sure if it will work.

@media only screen 
and (mi         


        
相关标签:
3条回答
  • 2020-12-09 16:10

    You should be able to nest @media rules this way in CSS3, but it isn't yet supported by most browsers. See this answer for details.

    You would have to fully expand and repeat the top-level media queries for the inner rules for it to work across browsers (and I imagine the SCSS processor would generate something similar):

    @media only screen 
    and (min-device-width: 320px) 
    and (max-device-width: 480px) {
        /* Code for both portrait and landscape */
    }
    
    @media only screen 
    and (min-device-width: 320px) 
    and (max-device-width: 480px) 
    and (orientation: portrait) {
    
        /* Code for just portrait */
    
    }
    
    @media only screen 
    and (min-device-width: 320px) 
    and (max-device-width: 480px) 
    and (orientation: landscape) {
    
        /* Code for just landscape */
    
    }
    
    0 讨论(0)
  • 2020-12-09 16:22

    I think not possible but you can write this format If you are using SASS css pre-processor.

    example , you can copy this code and paste to https://www.sassmeister.com/ -and watch the output

    SASS

    @media only screen and (max-width: 767px) {
      body{
        color:red;
      }
       @media (orientation:portrait) {
           body{
            color:green;
          }
       }
       @media (orientation:landscape) {
           body{
            color:orange;
          }
       }
    }
    

    Output CSS

    @media only screen and (max-width: 767px) {
      body {
        color: red;
      }
    }
    @media only screen and (max-width: 767px) and (orientation: portrait) {
      body {
        color: green;
      }
    }
    @media only screen and (max-width: 767px) and (orientation: landscape) {
      body {
        color: orange;
      }
    }
    
    0 讨论(0)
  • 2020-12-09 16:28

    If you wanted to do this the best way is to use the high level media query in a link tag, and then the other queries inside the linked sheet.

    In practice though most people cascade their CSS rules from a base sheet that covers the common stuff and then putting changes to that in each media rule-set.

    0 讨论(0)
提交回复
热议问题