我在site上遇到了Webkit浏览器(Chrome / Safari),CSS3媒体查询,display
和float
的问题。我的网页上的默认样式是将元素nav
浮动到右侧display:inline-block
。当窗口调整为移动大小时,媒体查询会将其重新调整为:float:none; display:block
。当浏览器的大小恢复正常时,会出现问题:导航元素显示为低于其高度的数量。这是一些图片和标记:
正常显示窗口正常和网站:
Window Mobile Sized,网站显示正确:
窗口大小恢复正常,网站显示不正确:
这是nav
的正常样式(和是我要将IE7的内容移到单独的样式表中......)
nav {
text-align:center;
float:right;
display:inline-block;
*display:inline;
zoom:1;
margin-top:30px;
*margin-top:-70px;
}
以下是重新设置nav
的媒体查询:
@media screen and (max-width:480px)
{
header nav
{
margin:0;
float:none;
display:block;
}
}
那么,这是一个Webkit错误,还是预期的行为?我做错了什么,或者是Webkit?如果 是一个错误,任何人都知道任何好的解决方法吗?实时网站是here,如果我需要提供更多信息,请与我们联系。谢谢。
答案 0 :(得分:7)
我将其简化为:http://jsbin.com/opawal/
480px
的窗口开始。480px
。480px
。这是一个错误。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
h2 {
display: inline-block;
}
nav {
float: right;
}
@media screen and (max-width:480px) {
nav {
float: none;
}
}
</style>
</head>
<body>
<h2>h2 element</h2>
<nav>nav element</nav>
</body>
</html>