How to combine multiple conditions in a single media query?
Jun 25, 2025 am 12:38 AMThe methods to use media queries in CSS to satisfy multiple conditions at the same time are as follows: 1. Use and to connect multiple conditions to ensure that all conditions are true, such as @media screen and (min-width: 600px) and (max-width: 900px) and (min-device-pixel-ratio: 2); 2. Use commas to represent the relationship of "or", as long as one of the conditions is satisfied, such as @media (max-width: 480px), (max-height: 320px); 3. You can clarify logical priorities through brackets to enhance readability; 4. Use not to negate a condition, such as @media not all and (max-width: 600px); 5. Use only to prevent error recognition from older browsers, such as @media only screen and (max-width: 600px). Correctly mastering these logical operators and syntax is the key to implementing complex media queries.
In CSS, if you want to meet multiple conditions at the same time in a media query, the method is actually quite straightforward. You can use logical operators to connect different conditions, the most commonly used ones are and
and ,
(comma), and not
. The point is that these conditions must be written clearly and correctly structured.
Use and
connect multiple conditions
When you need to meet two or more conditions at the same time, you can use and
to connect. For example, if you want to apply styles on devices with a screen width between 600px and 900px and a device pixel ratio of 2, you can write this:
@media screen and (min-width: 600px) and (max-width: 900px) and (min-device-pixel-ratio: 2) { /* Style content*/ }
- Each condition must be established before the style will take effect.
- Note that the expressions in each bracket must be connected with
and
. - If you miss a keyword, such as
screen and
, the entire media query may not work.
Use commas ,
indicate the relationship of "or"
If you want any condition to be satisfied to trigger a media query, you can use commas to separate different condition groups. For example:
@media (max-width: 480px), (max-height: 320px) { /* Effective when the screen width is less than or equal to 480px or the height is less than or equal to 320px*/ }
- Each condition here is independent, and as long as one of them is satisfied, the style will be applied.
- Suitable for use in equipment that is suitable for a variety of different sizes or directions.
Pay attention to the syntax order and parentheses use
Although you can omit brackets in most cases, adding brackets in some complex scenarios will be clearer. For example, if you want to judge (min-width: 768px) 并且(orientation: landscape)
or (min-width: 1024px)
, it is recommended to add brackets to clarify the priority:
@media (min-width: 768px) and (orientation: landscape), (min-width: 1024px) { /* ... */ }
Or to express the logic more clearly:
@media ((min-width: 768px) and (orientation: landscape)), (min-width: 1024px) { /* ... */ }
However, note that not all browsers support this writing method. The addition of brackets is more for code readability, and the actual operation is still handled according to the default priority.
Tips: Don't forget not
and only
In addition to and
and commas, you can also use not
to negate a certain condition:
@media not all and (max-width: 600px) { /* Effective only when the width is greater than 600px*/ }
only
is mainly used to prevent the old browser from misidentifying media queries:
@media only screen and (max-width: 600px) { /* Only recognized by modern browsers*/ }
Basically that's it. The key to combining multiple conditions is to understand logical relationships and use keywords and syntax correctly. It may be a bit confused at the beginning, but it will be familiar with it after practicing a few more times.
The above is the detailed content of How to combine multiple conditions in a single media query?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

There are three ways to selectively include CSS on a specific page: 1. Inline CSS, suitable for pages that are not frequently accessed or require unique styles; 2. Load external CSS files using JavaScript conditions, suitable for situations where flexibility is required; 3. Containment on the server side, suitable for scenarios using server-side languages. This approach can optimize website performance and maintainability, but requires balance of modularity and performance.

Flexboxisidealforone-dimensionallayouts,whileGridsuitstwo-dimensional,complexlayouts.UseFlexboxforaligningitemsinasingleaxisandGridforprecisecontroloverrowsandcolumnsinintricatedesigns.

The HTML popover attribute transforms elements into top-layer elements that can be opened and closed with a button or JavaScript. Popovers can be dismissed a number of ways, but there is no option to auto-close them. Preethi has a technique you can u

CSS blocks page rendering because browsers view inline and external CSS as key resources by default, especially with imported stylesheets, header large amounts of inline CSS, and unoptimized media query styles. 1. Extract critical CSS and embed it into HTML; 2. Delay loading non-critical CSS through JavaScript; 3. Use media attributes to optimize loading such as print styles; 4. Compress and merge CSS to reduce requests. It is recommended to use tools to extract key CSS, combine rel="preload" asynchronous loading, and use media delayed loading reasonably to avoid excessive splitting and complex script control.

In the following tutorial, I will show you how to create Lottie animations in Figma. We'll use two colorful designs to exmplify how you can animate in Figma, and then I'll show you how to go from Figma to Lottie animations. All you need is a free Fig

We put it to the test and it turns out Sass can replace JavaScript, at least when it comes to low-level logic and puzzle behavior. With nothing but maps, mixins, functions, and a whole lot of math, we managed to bring our Tangram puzzle to life, no J

ThebestapproachforCSSdependsontheproject'sspecificneeds.Forlargerprojects,externalCSSisbetterduetomaintainabilityandreusability;forsmallerprojectsorsingle-pageapplications,internalCSSmightbemoresuitable.It'scrucialtobalanceprojectsize,performanceneed

No,CSSdoesnothavetobeinlowercase.However,usinglowercaseisrecommendedfor:1)Consistencyandreadability,2)Avoidingerrorsinrelatedtechnologies,3)Potentialperformancebenefits,and4)Improvedcollaborationwithinteams.
