Why are my CSS3 media queries not working on mobile devices?

HtmlCssMedia QueriesMobile Website

Html Problem Overview


In the styles.css, I am using media queries, both of which use a variation of:

/*--[ Normal CSS styles ]----------------------------------*/

@media only screen and (max-width: 767px) {

    /*--[ Mobile styles go here]---------------------------*/
}

The sites resize to the layout I want in a regular browser (Safari, Firefox) when I shrink the window, however, the mobile layout isn't shown at all on a phone. Instead, I just see the default CSS.

Can anyone point me in the right direction?

Html Solutions


Solution 1 - Html

All three of these were helpful tips, but it looks like I needed to add a meta tag:

<meta content="width=device-width, initial-scale=1" name="viewport" />

Now it seems to work in both Android (2.2) and iPhone all right...

Solution 2 - Html

Don't forget to have the standard css declarations above the media query or the query won't work either.

.edcar_letter{
    font-size:180px;
}

@media screen and (max-width: 350px) {
    .edcar_letter{
	    font-size:120px;
    }
}

Solution 3 - Html

I suspect the keyword only may be the issue here. I have no issues using media queries like this:

@media screen and (max-width: 480px) { }

Solution 4 - Html

i used bootstrap in a press site but it does not worked on IE8, i used css3-mediaqueries.js javascript but still not working. if you want your media query to work with this javascript file add screen to your media query line in css

here is an example :

<meta name="viewport" content="width=device-width" />


<style>
     @media screen and (max-width:900px) {}
     @media screen and (min-width:900px) and (max-width:1200px) {}
     @media screen and (min-width:1200px) {}
</style>

<link rel="stylesheet" type="text/css" href="bootstrap.min.css">
<script type="text/javascript" src="css3-mediaqueries.js"></script>

css Link line as simple as above line.

Solution 5 - Html

Today I had similar situation. Media query did not work. After a while I found that space after 'and' was missing. Proper media query should look like this:

@media screen and (max-width: 1024px) {}

Solution 6 - Html

Including a meta tag like below can cause the browser to handle the viewport zooming differently.

<meta content="width=device-width, initial-scale=1" name="viewport" />

Solution 7 - Html

The sequential order of css code also matters, for example:

@media(max-width:600px){
  .example-text{
     color:red;
   }
}
.example-text{
   color:blue;
}

the above code will not working because the executed order. Need to write as following:

.example-text{
   color:blue;
}
@media(max-width:600px){
  .example-text{
     color:red;
   }
}

Solution 8 - Html

Always mention max-width and min-width in some unit like px or rem. This figured it out for me. If I write it without the unit and only the number value, browser can't read the media queries. example: this is wrong @media only screen and (max-width:950) and this is right @media only screen and (max-width:950px)

Solution 9 - Html

The OP's code snippet clearly uses the correct comment markup but CSS can break in a progressive way — so, if there's a syntax error, everything after that is likely to fail. A couple times I've relied on trustworthy sources that supplied incorrect comment markup that broke my style sheet. Since the OP provided just a small section of their code, I'd suggest the following:

Make sure all of your CSS comments use this markup /* ... */ -- which is the correct comment markup for css according to MDN

Validate your css with a linter or a secure online validator. Here's one by W3

More info: I went to check the latest recommended media query breakpoints from bootstrap 4 and ended up copying the boiler plate straight from their docs. Almost every code block was labeled with javascript-style comments //, which broke my code — and gave me only cryptic compile errors with which to troubleshoot, which went over my head at the time and caused me sadness.

IntelliJ text editor allowed me to comment out specific lines of css in a LESS file using the ctrl+/ hotkey which was great except it inserts // by default on unrecognized file types. It isn't freeware and less is fairly mainstream so I trusted it and went with it. That broke my code. There's a preference menu for teaching it the correct comment markup for each filetype.

Solution 10 - Html

It may also happen if the browser zoom level is not correct. Your browser window zoom should be 100%. In Chrome use Ctrl + 0 to reset the zoom level.

Solution 11 - Html

I encountered this issue recently too, and I later found out it was because I didn't put a space between and and (. This was the error

@media screen and(max-width:768px){
}

Then I changed it to this to correct it

@media screen and (max-width:768px){
}

Solution 12 - Html

Throwing another answer into the ring. If you're trying to use CSS variables, then it will quietly fail.

@media screen and (max-device-width: var(--breakpoint-small)) {}

CSS variables don't work in media queries (by design).

Solution 13 - Html

Weird reason I've never seen before: If you're using a "parent > child" selector outside of the media query (in Firefox 69) it could break the media query. I'm not sure why this happens, but for my scenario this did not work...

@media whatever {
    #child { display: none; }
}

But adding the parent to match some other CSS further up the page, this works...

#parent > #child { display: none; }

Seems like specifying the parent should not matter, since an id is very specific and there should be no ambiguity. Maybe it's a bug in Firefox?

Solution 14 - Html

I use a few methods depending. In the same stylesheet i use: @media (max-width: 450px), or for separate make sure you have the link in the header correctly. I had a look at your fixmeup and you have a confusing array of links to css. It acts as you say also on HTC desire S.

Solution 15 - Html

@media all and (max-width:320px)and(min-width:0px) {
  #container {
    width: 100%;
  }
  sty {
    height: 50%;
    width: 100%;
    text-align: center;
    margin: 0;
  }
}

.username {
  margin-bottom: 20px;
  margin-top: 10px;
}

Solution 16 - Html

due to only not typo mistake not work for me @media screen and(max-width: 930px) require sopace between the (and) & opening bracket @media screen and (max-width: 930px)

Solution 17 - Html

The Only Fix You All Need Is :

> Just Take All The Media Queries At The End Of A .CSS File

It Works, Try It

Solution 18 - Html

For me I had indicated max-height instead of max-width.

If that is you, go change it !

    @media screen and (max-width: 350px) {    // Not max-height
        .letter{
            font-size:20px;
        }
    }

Solution 19 - Html

For everyone having the same issue, make sure you actually wrote "120px" instead of only "120". This was my mistake and it drove me crazy.

Solution 20 - Html

Well, in my case, the px after the width value was missing ... Interestingly, the W3C validator did not even notice this error, just silently ignored the definition.

Solution 21 - Html

I was having this same problem and it turns out my media queries were in the wrong order. They should be defined from widest to smallest in the CSS

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionredconservatoryView Question on Stackoverflow
Solution 1 - HtmlredconservatoryView Answer on Stackoverflow
Solution 2 - HtmlThe4thIcemanView Answer on Stackoverflow
Solution 3 - HtmlMoin ZamanView Answer on Stackoverflow
Solution 4 - HtmlMohsenView Answer on Stackoverflow
Solution 5 - Htmldklog79View Answer on Stackoverflow
Solution 6 - HtmlDaksh PatelView Answer on Stackoverflow
Solution 7 - HtmlX.C.View Answer on Stackoverflow
Solution 8 - HtmlANURAG BHAKUNIView Answer on Stackoverflow
Solution 9 - HtmlCamView Answer on Stackoverflow
Solution 10 - HtmlSuhail AKhtarView Answer on Stackoverflow
Solution 11 - HtmlsdkcodesView Answer on Stackoverflow
Solution 12 - HtmlSethView Answer on Stackoverflow
Solution 13 - HtmlPJ BrunetView Answer on Stackoverflow
Solution 14 - HtmlbentehView Answer on Stackoverflow
Solution 15 - HtmlKetam SrinivasView Answer on Stackoverflow
Solution 16 - Htmlchetan mahajanView Answer on Stackoverflow
Solution 17 - HtmlmajidshakeelshawlView Answer on Stackoverflow
Solution 18 - HtmlKaka RutoView Answer on Stackoverflow
Solution 19 - HtmlPaul HanneforthView Answer on Stackoverflow
Solution 20 - HtmlChristoph ThiedeView Answer on Stackoverflow
Solution 21 - HtmlCamelBluesView Answer on Stackoverflow