bubble.ioでの上手なresponsive designのやり方(Header編)


bubble.ioでは、responsiveデザインにも対応しています。どんな画面幅の媒体でもうまく表示させるためのコツを、今回はHeaderに焦点を当ててご紹介いたいと思います。
(※ まず完成形(ページ最後)を見てもらってから、全体をみた方が良いかも。。)

1.Plugin "Slidable Menu"をInstallする

PluginタブからSlidable Menuを検索して、Installしてみてください。
↓こちらです。

画像1

2.Headerを配置し、Header編集画面に移動

Reusable elementsから、Headerを選択し、ページの一番上に張り付けてください。

画像2

その後、左上のSearch a page or a resuable...とある空欄から、Headerを選んで、Header編集画面に移動します。

画像3

Header画面のElement treeを見ると、実は既にログインボタンとログアウトボタンが用意されているのがわかります。

画像4

どちらもvisibleにするとこんな感じです。ただし、Conditionalを見ると、Sign up / Loginボタンは、ログアウトしているときだけvisibleになるような設定になっていることがわかります。

画像5

3.画面幅が広い場合のメニューバーを作成する。

例えば、ページ幅の閾値を600として、
 ページ幅600を超えるときは横並びのメニューバーを、
 ページ幅600以下であればSliable menuを
表示させるような場合を考えてみましょう。

まず、画面幅が広い場合に表示させる横並びのメニューを作ります。

Groupを作成し(Group メニューバーと名付けました)、その中に、Group Logged OutもGroup Logged Inも入れてしまいましょう。(この際、2つ同時に移動させると、片方のグループがもう片方の子になってしまうので、一つずつ移動させてください。)

画像6


Group メニューバーの中に、メニュー1、メニュー2、メニュー3といったTextを入れます。そして、Group メニューバー全体について、Conditionalタブで、Current page width < 600のときにvisibleのチェックが外れるようにします。

画像7


4.画面幅が狭い場合のメニューバーを作成する。

次に、画面幅が狭い場合に表示させる、メニューバーを作成します。

Element treeの目のボタンを押し、Group メニューバーを非表示にした上で、Slidebar Menu を画面右上に配置します。
このバーは通常は表示しないので、その際、visibleのチェックを外します。また、右側に展開されるようにするため、Opening sideはRightとします。

画像8

さらに、Conditionalで、
・ページ幅 600以下でvisibleとする
・ログイン時はログアウトも選択肢に入れる
・ログアウト時はログインも選択肢に入れる
ことを指定します。

画像9

5.ヘッダーの各部分が押された場合の反応をWorkflowで記載

あとは、Workflowで、ヘッダーの各部分が押された場合に、どういったことを起こしたいのかを書いていけばOKです。

画像10

ただし、気を付けなければならないことは、Slidebar Menuの選択肢は、Group メニューバーの中の各Textと紐づけることができない点です。なので、Textを書き換えるたびに、Slidebar Menuの選択肢も手動で変更せねばなりません。


完成形はこんな感じ

実際に、Preview画面で見てみると、画面幅が狭い場合はこうなり、

画像11

バーを押すとメニューが現れます。

画像12

他方、画面幅が広いとこうなります。

画像13


さて、うまくできたでしょうか。今日はこのへんで!


この記事が気に入ったらサポートをしてみませんか?