为啥我的简单媒体查询在模拟手机时会产生滚动条[重复]
Posted
技术标签:
【中文标题】为啥我的简单媒体查询在模拟手机时会产生滚动条[重复]【英文标题】:Why my simple media queries produce scroll bars when emulating a mobile phone [duplicate]为什么我的简单媒体查询在模拟手机时会产生滚动条[重复] 【发布时间】:2014-07-25 17:39:28 【问题描述】:我正在玩媒体查询并且我有一个空白的正文标签,尽管当我使用谷歌浏览器和仿真选项来复制三星 S2 时,即使没有内容,我也可以看到滚动条。任何想法为什么我得到滚动条? 谢谢,
HTML
<!DOCTYPE html>
<html lang="en-US">
<head>
<link rel="stylesheet" href="css/mobile.css" type="text/css" media="all" />
</head>
<body>
</body>
</html>
来自 MOBILE.CSS 的 CSS
@media only screen and (max-device-width: 480px)
body
滚动条的屏幕截图
【问题讨论】:
【参考方案1】:手机提供比实际屏幕“更大”的视口。 将视口元数据添加到头部,它应该可以工作:
<head> ....
<meta name="viewport" content="width=device-width">
...
</head>
一个视觉理解的例子:
或者作为playalong代码:
<html>
<head>
<title>Viewport on Smartphone and Desktop</title>
<!-- without width = device width smartphones show full page but small as in overview zoom -->
<!-- disable this automatic scaling -->
<meta name="viewport" content="width=device-width">
</head>
<body>
<style>
html, body
margin: 0;
padding: 0;
background-color: #EDECEC;
p
padding: 30px 0;
margin: 30px 0;
text-align: center;
font-family: sans-serif;
font-size: 300%;
.ausgabe
font-size: 150%;
.pixel
width: 320px;
background-color: #6B5B69;
color: #fff;
.prozent
width: 100%;
background-color: #D06836;
color: #F8F8F8;
</style>
<p class="pixel">320px</p>
<p class="prozent">100%</p>
<p class="ausgabe"></p>
<script>
var metaList = document.getElementsByTagName( 'meta' ),
metaFlag = false,
devWidth = window.screen.width,
browserWidth = document.documentElement.clientWidth;
if ( metaList.length > 0 && metaList[0].name == 'viewport' && metaList[0].content == 'width=device-width' )
metaFlag = true;
document.getElementsByClassName( 'ausgabe' )[0].innerHTML = 'width=device-width: ' + metaFlag + '<br/>' +
'Device Width: ' + devWidth + '<br/>' + 'Browser Width: ' + browserWidth;
</script>
</body>
</html>
【讨论】:
Lools 很棒,但是您如何引用具有适用于移动设备或桌面设备的正确设置的 css 文件?我不清楚对外部 css 文件的引用看起来如何谢谢 1.使用带有视口的元标记,2. 它应该与<link rel="stylesheet" media="screen and (max-width: 400px)" href="mobile.css" /><link rel="stylesheet" media="screen and (min-width: 401px)" href="desktop.css" />
一起使用。您可能会发现这篇文章很有用:css-tricks.com/resolution-specific-stylesheets。不幸的是,它会加载两个文件,但只需应用正确的文件。如果你调整浏览器窗口的大小,你会看到具体的设计规则。以上是关于为啥我的简单媒体查询在模拟手机时会产生滚动条[重复]的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 HTML Canvas 下方添加小 div 时会出现水平滚动条?