首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome模拟器和iPhone5显示错误的媒体查询样式,但是可以调整窗口大小

Chrome模拟器和iPhone5显示错误的媒体查询样式,但是可以调整窗口大小
EN

Stack Overflow用户
提问于 2014-07-07 01:09:18
回答 3查看 2.5K关注 0票数 1

当我在chrome中调整窗口大小时,它看起来就像我想要的那样,并且在正确的宽度上折断。但是,当我在iphone (或任何手机)上模拟屏幕或在iphone上查看时,它会显示错误断点的样式,并显示额外的背景空间。我怀疑这是因为手机的devicePixelRatio;iphone是320px,但由于它的像素比例是2,所以它以640px的宽度显示320px的断点。

我试着将断点max-width调到高于640px,但仍然不起作用。我确实写了viewport声明。

代码语言:javascript
复制
    <meta name=”viewport” content=”width=device-width, initial-scale=1">

我的div包装器宽度设置为屏幕的百分比,而不是像素。此外,我还尝试将背景图像的背景大小设置为覆盖,但没有任何运气。

这是它在iphone上的样子:http://i28.photobucket.com/albums/c221/irlinroman/iphone-640_zpsd656a8ff.png

这是桌面浏览器上调整为640px宽度的窗口:http://i28.photobucket.com/albums/c221/irlinroman/window-resize-640_zps1728eb01.png

下面是我的媒体查询css代码:

代码语言:javascript
复制
    @media screen and (max-width: 960px), screen and (max-device-width: 960px) {
    #links {
    float: none;
    margin-left: 40px;
    margin-top: 10px;
}
#content-2 p.bio {
    float: none;
    margin-bottom: 60px;
    font-size: 0.875em; /*should be 14px, 14 / 16 */
    line-height: 24px;
}
#background-2 {
    height: 420px;
}
#welcome-message, #welcome-message-bg {
    width: 450px;
    height: 280px;
    padding: 40px 20px;
    left: 50%;
    margin-left: -250px;
}
#welcome-message p.welcome {
    font-size: 2em;
}
#welcome-message p.about {
    font-size: 1.5em;
    width: 380px;
    line-height: 40px;
}
#footer .copyright {
    margin-right: 20px;

}

nav ul#regular-nav {
    visibility: hidden;
}

nav ul#responsive-nav {
    visibility: visible;
}

nav #responsive-li-items {
    visibility: hidden;
}
    }

    @media screen and (max-width: 560px), screen and (max-device-width: 560px) {
#welcome-message, #welcome-message-bg {
    width: 240px;
    height: 240px;
    padding: 20px 10px;
    left: 50%;
    margin-left: -130px;
}

#welcome-message p.welcome {
    font-size: 1.3em;
}
#welcome-message p.about {
    font-size: 1em;
    width: 200px;
    line-height: 30px;
}

header {
    height: 140px;
}

nav ul#responsive-nav {
    top: 50px;
    left: 50%;
    margin-left: -100px;
}

#background-image {
height: 470px;
}

#irlin-design-logo {
/*margin-left: 20px;*/
float: none;
display: block;
margin-left: auto;
margin-right: auto; 
}

#content-2 p.bio {
    width: 240px;
    margin-left: 10px;
    display: inline-block;
    margin-top: 0px;
    /*margin-bottom: 0px;*/

}

#content-2 h1 {
    margin-left: 10px;
    display: inline-block;
    margin-top: 0px;
    /*margin-bottom: 0px;*/

}

#about-me-title {
    text-align: center;
}

#bio-div {
    text-align: center;
}

#background-2 {
    height: 480px;
}


#links {
    float: none;
    margin-left: 10px;

}

#links p.side-links {   
    width: 230px;
    margin: 0 auto;
}

#footer-nav-links {
    margin: 0px;
}

#footer-nav-links a  {
    margin-right: 20px;
}
}

提前感谢所有的建议。

EN

回答 3

Stack Overflow用户

发布于 2014-08-22 03:07:53

您的引号有问题。这个meta帮助我解决了类似的问题。

代码语言:javascript
复制
 <meta name="viewport" content="width=device-width, initial-scale=1"> 
票数 5
EN

Stack Overflow用户

发布于 2016-12-29 15:32:55

我建议重写你的媒体查询,我从来没有见过像你这样用逗号在媒体查询中定义一个范围:

代码语言:javascript
复制
@media screen and (max-width: 960px), screen and (max-device-width: 960px) {}

相反,我会这样做:

代码语言:javascript
复制
@media screen and (max-width: 960px) and (min-width: 600px) {}

为了更好地解释一下,这个媒体查询代码会影响600px到900px之间的视区,并且应该被任何理解媒体查询的浏览器读取。

票数 0
EN

Stack Overflow用户

发布于 2014-07-13 13:55:17

我想通了。尽管我的meta viewport标签是正确写入的,但复制别人的并粘贴它,而不是我的,解决了这个问题。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24598278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档