サイドバーをレンダリングしたい。私の CSS は、デスクトップ ブラウザーでレンダリングすると、ズームインしてもかなりうまく機能します。ただし、iOS デバイスでは、ページを (ピンチしてズームして) ズームインすると、コンテンツの上にサイドバーがレンダリングされます。最後に確認したところ、デフォルトの Android ブラウザーと Chrome ベータ版で同じ動作が得られたことを覚えています。
この動作を説明する (ほとんど) 最小限のデモ ページを作成しました。
ただし、モバイル 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>
これがモバイル ブラウザーに最適なレイアウトではないことは承知しています (実際のサイトを改善して、モバイル デバイスで見栄えがよくなるようにする予定です)。しかし、それまでの間、私はこの問題を取り除きたいと思っています。