【发布时间】:2015-06-05 22:15:47
【问题描述】:
我正在使用媒体查询来根据宽度调整网站元素的大小。我正在我的桌面上开发和测试它,它工作得很好,但是当我启动它并在移动设备(iPhone 5)上测试它时,它根本不会调整大小 - 它以全宽显示。
我已经四处寻找对此的回应,普遍的共识似乎是设置我的视口。但我已经这样做了——在我的标题中我有:
<meta name="viewport" content="width=device-width, initial-scale=1">
有什么我可能拥有的东西可以覆盖这个吗?
我的媒体查询如下所示:
@media (min-width:320px) { /* smartphones, iPhone, portrait 480x320 phones */
#rlanguage {position: relative; right:0; border:red solid 0px;}
#iX-nav {position: relative; right:0; border:red solid 01px;}
#infoemail {display:none}
#mainMenu {display:none}
#mobileMenu {display:inline}
#DeskTopOnly {display:none;}
#MenuSpacing {width: 1px;}
#iX-footer {width: 100%; height:auto}
.GreenMenuLine {background:#000}
.rootVoices TD.selected {padding: 0px;}
.rootVoices TD.rootVoice {padding: 0px; width:10px}
}
@media (min-width:481px) { /* portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */
#rlanguage {position: relative; float:right; border:orange solid 0px;}
#iX-nav {position: relative; float:right; border:orange solid 0px;}
#infoemail {display:none}
#mainMenu {display:none}
#mobileMenu {display:inline}
#DeskTopOnly {display:none;}
#MenuSpacing {width: 3px;}
#iX-footer {width: 100%; height:auto}
.GreenMenuLine {background:#000}
.rootVoices TD.selected {padding: 0px;}
.rootVoices TD.rootVoice {padding: 0px; width:0px}
}
@media (min-width:681px) { /* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */
#rlanguage {position: relative; float:right; border:yellow solid 0px;}
#iX-nav {position: relative; float:right; border:yellow solid 0px;}
#infoemail {display:none}
#mainMenu {display:inline}
#mobileMenu {display:none}
#DeskTopOnly {display:none;}
#MenuSpacing {width: 2px;}
#iX-footer {width: 100%; height:auto}
.GreenMenuLine {background:#000}
.rootVoices TD.selected {padding: 1px;}
.rootVoices TD.rootVoice {padding: 1px; width:0px}
}
@media (min-width:791px) { /* tablet, landscape iPad, lo-res laptops and desktops */
#rlanguage {position: relative; float:left; border:green solid 0px;}
#iX-nav {position: relative; float:left; border:green solid 0px;}
#infoemail {display:inline}
#mainMenu {display:inline}
#mobileMenu {display:none}
#DeskTopOnly {display:none;}
#MenuSpacing {width: 12px;}
#iX-footer {width: 100%; height:auto}
.GreenMenuLine {background:#000}
.rootVoices TD.selected {padding-right: 10px; padding-left:10px;}
.rootVoices TD.rootVoice {padding-right: 10px; padding-left:10px; width:12px}
}
@media (min-width:1025px) { /* big landscape tablets, laptops, and desktops */
#rlanguage {position: relative; float:left; border:blue solid 0px;}
#iX-nav {position: relative; float:left; border:blue solid 0px;}
#infoemail {display:inline}
#mainMenu {display:inline}
#mobileMenu {display:none}
#DeskTopOnly {display:inline;}
#MenuSpacing {width: 15px;}
#iX-footer {width: 100%; height:auto}
.GreenMenuLine {background:#000}
.rootVoices TD.selected {padding-right: 20px; padding-left:20px;}
.rootVoices TD.rootVoice {padding-right: 20px; padding-left:20px; width:12px}
}
@media (min-width:1281px) { /* hi-res laptops and desktops */
#rlanguage {position: relative; float:left; border:purple solid 0px;}
#iX-nav {position: relative; float:left; border:purple solid 0px;}
#infoemail {display:inline}
#mainMenu {display:inline}
#mobileMenu {display:none}
#DeskTopOnly {display:inline;}
#MenuSpacing {width: 18px;}
#iX-footer {width: 100%; height:auto}
.GreenMenuLine {background:#99cc33}
.rootVoices TD.selected {padding-right: 24px; padding-left:24px;}
.rootVoices TD.rootVoice {padding-right: 24px; padding-left:24px; width:12px
}
提前致谢!
【问题讨论】:
-
使用这个视口 在这里解释:css-tricks.com/snippets/html/responsive-meta-tag
-
是的,这是我做的第一件事。我编辑了问题,以便显示此字符串。这个答案似乎对我不起作用。
-
在你的脑海中我看到了这个:,你的意思是重写它?
-
@Patrick:你能澄清一下到底是什么问题吗?我看到三个具有定义宽度的元素:
#iX-footer,在所有断点处设置为 100%;#MenuSpacing,宽度在 1 到 18 像素之间;和.rootVoices TD.rootVoice,介于 0 到 12 之间。其中哪一个的行为与您的预期不同? -
例如,在this test page 上,该框在我的 iPhone 5C 上显示为绿色,使用与您相同的媒体查询和元视口标签。
标签: html css mobile-safari