我想渲染一个侧边栏。我的 CSS 在桌面浏览器上呈现时效果很好,即使我放大也是如此。然而,在 iOS 设备上,放大页面(通过捏合缩放)会在内容上呈现侧边栏。最后我检查了一下,我记得在默认的 Android 浏览器和 Chrome Beta 上得到了相同的行为。
我建立了一个(大部分)最小的演示页面来说明这种行为:http ://www.seas.upenn.edu/~dange/test/test.html
但是,如果您使用移动浏览器(例如移动 Safari)访问,我们会得到以下信息: iOS 屏幕截图
这是用于呈现该页面的 CSS:
/* Sidebar */
header {
border-right: 1px solid #AAA;
float: left;
padding: 0 10px;
position: fixed;
width: 200px;
bottom: 0;
left: 0;
right: auto;
top: 0;
}
#site-title {
font: bold 36px sans-serif;
margin: 1em 0;
text-align: center;
}
/* Navigation menu in sidebar */
nav {
font: 18px sans-serif;
margin: 2em auto;
width: 140px;
}
nav > ul {
list-style: none;
padding: 0 10px;
}
nav li {
margin: 0;
text-align: center;
}
nav a {
display: block;
padding: 8px 10px;
text-decoration: none;
}
/* Content "Pane" */
#content,
footer {
margin-left: 220px;
max-width: 620px;
padding: 0 10px;
position: relative;
}
#content p {
font: 18px / 30px serif;
}
footer {
border-top: 1px solid #AAA;
font: 14px serif;
}
...和一个简化的 HTML 文档:
<body>
<header>
<h1 id="site-title">Lorem Ipsum</h1>
<nav>
<ul>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</nav>
</header>
<section id="content">
<article>
<p>...</p>
<p>...</p>
<p>...</p>
</article>
</section>
<footer>
<p>...</p>
</footer>
</body>
我知道这不是移动浏览器的最佳布局(我确实计划改进我的实际站点,以便它在移动设备上看起来不错)。但与此同时,我确实想摆脱这个问题。