ページ左側にメニューバーを display: fixed; で固定します。
html,body {
height: 100%;
}
.menu {
position: fixed;
z-index: 100;
top: 0;
left: 0;
width: 75px;
height: 100%;
background: #fff;
}safariでは、上下にスクロールするとアドレスバーとタブバーが消える仕様なのですが、この消える時に画面の高さ100%の値が変わるため、下側に余白が発生してしまいます。
そこで、アドレスバーとタブバーを動かさず、高さを変えないようにCSSで調整します。
html,body {
height: 100%;
overflow: hidden;
}
body {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
overflow: auto;
}CSSでMac版Chromeなどの領域外スクロール(バウンススクロール)を無効にする | ITハット
上記設定をすることで、慣性スクロールがなくなり、もっさりした重い感じのスクロールになってしまいます。
そこで、bodyタグに下記を追加します。
body {
-webkit-overflow-scrolling: touch;
}-webkit-overflow-scrollingと慣性スクロール – メモログ
これで固定する前のスムーズなスクロールになります。
アドレスバーとタブバーを消したい場合には、スタンドアローンアプリのように見せるように下記タグを追加します。
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-title" content="アイコンタイトル"> <link rel="apple-touch-icon-precomposed" href="images/apple-touch-icon-precomposed.png">
iPadなどのタブレット端末やスマートフォンでスタンドアローンのアプリのように見せるための方法 – MovableType.net 活用ブログ



コメント