【问题标题】:Media queries not working in Chrome but in Firefox? [closed]媒体查询在 Chrome 中但在 Firefox 中不起作用? [关闭]
【发布时间】:2013-02-12 06:30:11
【问题描述】:

我目前正在处理的网站没有在 chrome 中为 480 像素以下的设备选择样式,而是在 Firefox 中工作,chrome 正在获取 800 像素和 1200 像素的媒体查询,我无法为我的生活找出为什么它没有接收 480px 媒体查询。

请参阅下面的样式表。

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

.ui-tabs .tab {
    clear:both; 
    height:386px; 
    width:550px; 
    margin:0 auto;
}

.ui-tabs .groundFloor {
    background:url(img/groundFloor_550.jpg) top center;
}

.ui-tabs .firstFloor {
    background:url(img/firstFloor_550.jpg) top center;
}

.ui-tabs .secondFloor {
    background:url(img/secondFloor_550.jpg) top center;
}

}


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

#slide1 h1.logo {
    width:350px;
}

.mainnav {display:none;}
.navMobile {display:block;}

.navMobile {
    height:auto;
}

.navMobile .menuBox {
    height:auto;
    min-height:40px;
    width:100%;
    display:inline-block;
    position:fixed;
    top:0;
    left:0;
    right:0;
    background:#fff;
    z-index:99999;
}

.navMobile .menuBox ul {
    display:block;
    clear:both;
    height:auto;
    width:100%;
    padding:0;
    margin:0;
    border-top:1px solid #eee;
    font-family: "proxima-nova";
}

.navMobile .menuBox ul>li {
    display:block;
    clear:both;
    padding:10px 0;
    text-align:center;
    border-bottom:1px solid #eee;
}

.navMobile .menuBox ul>li a {
    padding:0;
    margin:0;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color:#ccc;
    font-size: 0.9em;
    font-weight:500;
    opacity: 1;
}

.navMobile .menuBox ul>li a:hover,.mainnav ul>li a:focus {
    text-decoration: none;
}

.navMobile .menuBox ul>li:last-child a {
    margin-right: 0;
    padding-right: 0;
}

.navMobileBtn {
    clear:both; 
    height:40px;
    width:40px;
}

.button {
    margin-left: -37px;
}

.home-block {
    width:100%;
    margin-right:0;
}

.caption {
    font-size: 1.6em;
}

.building .area .colLarge {
    float: none;
    clear: both;
    width: 100%;
    padding:0;
    padding-top: 2%;
}

.building .area .colSmall {
    float: none;
    clear:both;
    width:100%;
    padding:0;
    padding-top: 2%;    
}

.building .area .divide .divideLeft {
    float: none;
    clear:both;
    width: 100%;
    padding:0;
    padding-top: 4%;
}

.building .area .divide .divideRight {
    float: none;
    clear:both;
    width: 100%;
    padding:0;
    padding-top: 4%;
}

.ui-tabs ul li {
    font-size:1.2em; 
}

.formBox {
    display:inline-block;
    float:none;
    clear:both;
    height:auto;
    width:100%;
    margin:0;
}

.formBox .title {
    float:left;
    margin-right:4%;
    width:100%; 
}

.formBox .firstName {
    float:left;
    margin-right:4%;
    width:100%;
}

.formBox .surname {
    float:left;
    width:100%;
}

.formBox .email {
    float:left;
    margin-right:4%;
    width:100%;
}

.formBox .number {
    float:left;
    width:100%;
}

.formBox .businessType {
    float:left;
    margin-right:4%;
    width:100%;
}

.formBox .businessType input[type=text] {
    padding-left:2%;
    width:100%;
}

.formBox .unit {
    float:left;
    width:100%;
}

.formBox .additionalInfo {
    float:left;
    width:100%;
}

.formBox .additionalInfo input[type=text] {
    padding-left:1%;
    width:100%;
}

.formBox input[type=text] {
    display:block;
    width:97%;
    height:30px;
    padding-left:3%;
    border:0;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px; /* border radius */
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box; /* prevents bg color from leaking outside the border */
    background-color: #ebebeb; /* layer fill content */
    font-size:0.8em;
    color:#797886;
}

.formTop {
    display:inline-block;
    float:none;
    clear:both;
    height:auto;
    width:100%;
    margin:0;
}

.formSubmit {
    float: none;
    clear:both;
    width: 90%;
    margin: 30px auto;
}

form.mobileForm {
    display:block;
}

form.mainForm {
    display:none;
}

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

#slide1 h1.logo {
    width:250px;
}

.ui-tabs ul li {
    font-size:0.8em; 
    font-weight:100;
}

.ui-tabs .tab {
    clear:both; 
    height:211px; 
    width:300px; 
    margin:0 auto;
}

.ui-tabs .groundFloor {
    background:url(img/groundFloor_300.jpg) top center;
}

.ui-tabs .firstFloor {
    background:url(img/firstFloor_300.jpg) top center;
}

.ui-tabs .secondFloor {
    background:url(img/secondFloor_300.jpg) top center;
}

}

【问题讨论】:

  • 因为你没有关闭之前的媒体块?
  • 是的,就是这样!感谢您的帮助!
  • 另一个潜在问题(我刚刚遇到)是 Chrome 对待 max-device-widthmax-width 的方式不同(这应该很明显,但很容易错过)。如果您从另一个项目复制/粘贴媒体查询代码,请确保您使用的是正确的 :-)
  • 我遇到的另一个问题:在桌面浏览器中,Firefox 和 Chrome 的顶部区域(网址栏、书签等)占用的空间量略有不同,留下了一个有效高度略有不同。在某些分辨率下,依赖特定高度值的媒体查询可能会超过一个浏览器的阈值,但不会超过另一个。解决方案是放宽媒体查询中的高度参数,直到它同时触发。

标签: css media-queries


【解决方案1】:

试试这个:

/* Smartphones (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) {
/* Styles */
}

Source >>

【讨论】:

  • 感谢您抽出宝贵时间,上面的回答帮助了我!
  • 没问题!我没有注意到缺少的括号,但我想我会向您展示这篇文章,因为它将来可能会有用!
  • 我遇到了这个问题,并通过在样式脚本底部添加媒体查询来解决。添加顶部样式媒体查询对我不起作用,例如:
【解决方案2】:

你有一些不好的嵌套,或者不正确的大括号。如果我删除实际样式,它看起来像这样:

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

}

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

/* Missing } brace here */

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

}

Firefox 可能只是以不同的方式处理错误。照顾好这个,你应该是good to go

【讨论】:

  • 实际上,CSS3 允许 @media 嵌套 which currently only Firefox implements,使其能够正确渲染 - 我猜它会根据 @987654323 在样式表的最后填写 } @。也就是说,OP 当然不打算将一个规则嵌套在另一个规则中,所以这是正确的答案。
  • 谢谢,不知道我是怎么错过的!非常感谢您抽出宝贵时间!
  • 最近我遇到了一个相关的媒体查询问题,即 Chrome 开发工具没有正确响应,并使用此元标记修复它:<meta name="viewport" content="width=device-width,initial-scale=1">。希望这也能有所帮助。
  • @whatacold 我的那个标签和那个标签一模一样,但是后来通过模板调用放置了另一个标签并覆盖了它(details)......所以在浪费时间检查括号嵌套之前巨大的 CSS,首先查找所有元视口标签。
猜你喜欢
  • 2021-09-29
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
  • 2016-03-17
  • 2013-04-11
  • 1970-01-01
  • 2012-03-15
相关资源
最近更新 更多