Chrome中的媒体查询出现了这个奇怪的问题,这个问题比较模糊,但确实让我感到困扰,所以我希望能够在这里找到解决方案或至少确认我不会生气...Chrome浏览器中滚动条的媒体查询布局问题
基本上,当媒体查询踢的时候,会从内容滚动离开屏幕的状态进入页面(所以你有y轴滚动条)到内容现在适合屏幕的状态(所以y轴滚动条不应该出现),似乎有一小段时间,页面布局被渲染,就好像滚动条在那里,即使它是不是(所以试图填满整个屏幕的东西不会出现在这段时间内)
我已经设置了一个简单的页面来展示这个问题。它包含两个浮动div,当一个媒体查询在小于500px宽的范围内被设置为不再浮动并且具有更大的宽度时 - 此时标题栏也从蓝色变为红色(为了清楚起见)。
http://appasylum.net/test/mediaQueryChromeScrollBarIssue/
<!DOCTYPE html>
<html>
<head>
<title>Media Query Chrome Scrollbar issue</title>
<style type="text/css">
html,
body
{
margin:0;
padding:0;
}
.header
{
background-color: blue;
padding: 10px;
color: white;
font-family: Helvetica, Arial, sans-serif;
}
.content
{
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
float: left;
width: 40%;
margin: 20px;
}
@media (max-width: 500px) {
.header
{
background-color: red;
}
.content
{
float:none;
width: 90%;
}
}
</style>
</head>
<body>
<div class="header">
Header
</div>
<div class="content"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. In nec purus ut quam vestibulum porta sed ultrices velit. Suspendisse dapibus justo id ligula iaculis cursus. Fusce non diam ut ante porta lacinia id vel nisl. Mauris laoreet orci vel nulla imperdiet ac rhoncus diam accumsan. Quisque sed mauris mi, sollicitudin commodo ligula. Etiam arcu arcu, vehicula ut porttitor id, viverra non augue. Mauris laoreet fringilla tempus. Praesent elit elit, molestie eget bibendum vitae, fringilla nec turpis. Suspendisse eget ipsum sed sem egestas ultricies. Cras eleifend imperdiet magna nec elementum. Etiam arcu arcu, vehicula ut porttitor id, viverra non augue. Mauris laoreet fringilla tempus. Praesent elit elit, molestie eget bibendum vitae, fringilla nec turpis. Suspendisse eget ipsum sed sem egestas ultricies. Cras eleifend imperdiet magna nec elementum.Etiam arcu arcu, vehicula ut porttitor id, viverra non augue. Mauris laoreet fringilla tempus. Praesent elit elit, molestie eget bibendum vitae, fringilla nec turpis. Suspendisse eget ipsum sed sem egestas ultricies. Cras eleifend imperdiet magna nec elementum.
</div>
<div class="content"> Aliquam in mauris quis arcu aliquam aliquam eu ut mauris. Quisque ut tortor eu massa scelerisque vehicula. Morbi velit diam, egestas at placerat vel, tincidunt a nulla. Vivamus arcu augue, vulputate at elementum sit amet, adipiscing quis odio. Etiam arcu arcu, vehicula ut porttitor id, viverra non augue. Mauris laoreet fringilla tempus. Praesent elit elit, molestie eget bibendum vitae, fringilla nec turpis. Suspendisse eget ipsum sed sem egestas ultricies. Cras eleifend imperdiet magna nec elementum
</div>
</body>
</html>
要复制打开上述链接中的窗口大于500像素宽(蓝色报头),并在高度仅只是让内容滚动离页面 - 然后慢慢降低宽度直到它变成红色(即宽度小于500px)。假设窗口的高度导致未浮动的div不再需要滚动条(反之亦然) - 在红色和蓝色标题之间转换时(即媒体查询变为活动状态),您应该注意非常短红色标题不填充整个视口宽度的期间。
注意:这个怪癖/问题不再发生在最新版本的Chrome – Rusta