Nesting Media Queries

前端 未结 2 1379
忘了有多久
忘了有多久 2020-12-06 04:29

By default I want to give my body element a green border. On a device that supports retina display I want to check for size first. On an ipad I want to give my body a red bo

2条回答
  •  甜味超标
    2020-12-06 05:02

    No. You need to use the and operator and write that as two queries. You can, however, do this in SCSS, which will compile to CSS, but it will combine them by unfolding them and using the and operator.

    This is a common problem, and once I first wrote LESS or SCSS, I didn't ever want to go back to writing this long-hand.

    Long-handed CSS:

    @media (-webkit-min-device-pixel-ratio: 2) and (max-width: 768px) and (min-width: 320px),
                      (min-resolution: 192dpi) and (max-width: 768px) and (min-width: 320px) {
      body {
        border: 1px solid red;
      }
    }
    @media (-webkit-min-device-pixel-ratio: 2) and (max-width: 320px),
                      (min-resolution: 192dpi) and (max-width: 320px) {
      body {
        border: 1px solid blue;
      }
    }
    

    Nesting queries may work, but support varies across browsers.

提交回复
热议问题