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