質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Q&A

0回答

410閲覧

OnsenUIのons-splitterで、画面の幅によりサイドメニューの表示状態を切り替えたい

mithan

総合スコア22

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

1グッド

0クリップ

投稿2017/07/18 07:52

###前提・実現したいこと
初めて質問します。

現在、以下の環境で、Webアプリを作成してます。

  • OnsenUI : v2.4.2
  • ngx-onsenui : v4.0.0-rc.1
  • Angular : v4.2.4

その中で、ons-splitterコンポーネントでハンバーガーメニューを作成してますが、画面の幅が800px以上の場合は、コンテンツの左側にサイドメニューを
常に開いた状態、それ以外の場合は、アイコンクリックでサイドメニューを開閉するようにしたいと思ってます。

OnsenUIのドキュメントでは、ons-splitter-sideコンポーネントの、collapse属性に、メディアクエリーを指定できるとの記述があったので、
collapse="(max-width:800px)" のように指定してみました。

すると、画面幅が800px未満の場合は意図したとおりに動作しますが、800px以上の場合はサイドメニューが、コンテンツ上に重なって表示されてしまいます。

ただし、画面幅(ブラウザの幅)を一度800px未満にして(メニューが非表示になる)、その後再度800px以上にすると、コンテンツの左側に、再度メニュー
が開いたままになり、意図した表示になります。

これを、画面幅が800px以上の場合は、初回表示から、コンテンツの左側にサイドメニューが開いたままになるようにしたいのですが、どなたか設定の仕方を
教えていただけないでしょうか?

以下に、該当のソースコードと、試したことを記述します。
追加で必要な情報等あれば、追記します。

###該当のソースコード

<ons-splitter> <!-- サイドメニュー --> <ons-splitter-side [page]="sideMenu" class="side-menu" side="left" width="220px" swipe-target-width="100px" animation="overlay" collapse="(max-width:800px)" swipeable> </ons-splitter-side> <!-- コンテンツ --> <ons-splitter-content [page]="content"></ons-splitter-content> </ons-splitter>

###試したこと

  • ngx-onsenuiのバージョンに対して、OnsenUIのバージョンが高かったので、それを合わせてみたが、ダメだった。
  • ons-splitter-sideのcollapse属性と、animation属性の設定をいろいろ変えてみた。
  • 確認は、Google Chromeと、Microsoft Edgeで行いましたが、両方同じ動作になります。
hanzoumon😄を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問