QooQ を1カラム化したときに行ったカスタマイズのまとめになります。
1カラムデザインにもメリット、デメリットはありますが、個人的にはメリットが優っていると思っています。
是非、1カラム化してみてください。
こんにちは、HARU( @HARU )です。
ようやく QooQ の1カラム化するためのピース( カスタマイズ )が揃ったので、満を持して1カラム化してみました!
個人的には理想に近いデザインが完成できて満足しています。
ここでは1カラム化するときに気にした点や、1カラム化するとき、今まで紹介してきたカスタマイズ+αをしたので紹介したいと思います。
是非、皆さんも1カラム化に挑戦してみてください!
とは言え、ここで紹介しているカスタマイズ例は、1カラム化しなくても使えるものばかりだと思います。
自分のブログをカスタマイズするときの、参考になれば幸いです。
1カラムデザインのメリット
1カラムデザインはとにかく記事が読みやすいことがメリットだと思います。
ユーザビリティの観点から言えば、1カラムデザインにしない理由はありませんよね。
こんな説明をしていてあれですが、個人的には2カラムデザインが読みづらいと思ったことはありません。3カラムは…?ですが。
ただ一つ言えることは、サイドバーがあってもそちらを気にすることが少ないという点です。
この点から私は「 サイドバーがあっても無くても変わらない 」=「1カラムデザインにしよう」ということになりました。
1カラムデザインのデメリット
2カラムデザインのように、その他情報を表示させないため、直帰率が高くなる可能性があります。
当然と言えば当然ですよね。
でもこれってメリットのときお伝えした通り、個人的にはデメリットに当たらないと考えています。
なぜなら個人的感想ですが、サイドバーがあってもそちらを気にしないから。
もちろん Google アナリティクスなどで、検証をしているわけではありません。
ただの想像なので、もしかしたら圧倒的に直帰率が上がってしまうかもしれません。
それでもブログなんて自己満な世界ですし、どうせならシンプルでかっこいいやつにしようと思ったのが私です。
空いたスペースを有効活用
直帰率が気になる方は、1カラムデザインにしたことにより空いたスペースに、読んでほしいリンク先などを設置するのはどうでしょうか。
少しは改善されるかもしれませんし、単純な2カラムのデザインよりも、ごちゃごちゃしないように調整しやすいと思います。
個人的1カラムデザインこだわりポイント
1カラムデザインは、2カラムデザインより横をうまく使えるようになります。
そこで PC 画面で表示したときはなるべく縦方向に伸びないようにし、スクロール量を減らすことにこだわりました。
もちろん個別記事ページはそんなこと不可能ですw
それにカスタマイズするにつれ、どんどん縦に伸びてしまうのは仕方ないかなって思ってます。
なるべく、1画面に収まるをモットーに考えている感じですね。
QooQ 1カラム化まとめ
画面左側に縦型アイコンメニューバー設置
1カラムとはいえ、邪魔にならないアイコンが並んでいるくらいならいいと思い、左型に縦型のメニューバーを設置しました。
左側固定にしてありますが、記事を読んでいても気にならないかな?と思います。
サイドバーを隠して実装
私はサイドバーを消すことに抵抗があったため、1カラム化に踏み切ることができませんでした。
しかしサイドバーを消すのではなく、サイドバーを隠しておくという考え方を知ったおかげで、その一歩が踏み出せました!
ナビゲーションバーとの干渉を調整
このあと紹介するオリジナルのナビゲーションバーとサイドバーが、ボタンを押すことで干渉してしまうことがありました。
そこでサイドバーボタンを押すと、ナビゲーションバーが閉じるプログラムを追加しました。
<!-- サイドバー表示/非表示 -->
<script>
$(function(){
//ナビゲーションバーボタン対応
$('#side-button').click(function(){
$('#sub-content,#side-button-back').toggleClass('open');
$('#top-navi').removeClass('open');
});
$('#side-button-back,#menu-wrapper').click(function(){
$('#sub-content,#side-button-back').removeClass('open');
});
});
</script>
オリジナルのナビゲーションバー
QooQ に実装されているナビゲーションバーを撤去し、オリジナルのナビゲーションバーを設置しました。
2カラムデザインでも使いやすい、シンプルなデザインになっています。
サイドバーとの干渉を調整
サイドバーのところで記載した通り、こちらもナビゲーションバーボタンを押すと、サイドバーが閉じるプログラムを追加しました。
<!-- ナビゲーションバー -->
<script>
$(function() {
function slideMenu() {
var activeState = $("#menu-container .menu-list").hasClass("active");
$("#menu-container .menu-list").animate({right: activeState ? "0%" : "-100%"}, 400);
}
//ナビメニュー開閉
$("#menu-wrapper,.menu-back").click(function(event) {
event.stopPropagation();
$("#hamburger-menu").toggleClass("open");
$("#menu-container .menu-list,.menu-back").toggleClass("active");
slideMenu();
$("body").toggleClass("overflow-hidden");
});
//サイド用のボタンをクリックしたとき、ナビゲーションバー閉
$("#side-button").click(function(event) {
event.stopPropagation();
$("#hamburger-menu").removeClass("open");
$("#menu-container .menu-list,.menu-back").removeClass("active");
slideMenu();
$("body").removeClass("overflow-hidden");
});
//子ナビ
$(".menu-list").find(".accordion-toggle").click(function() {
$(this).children('ul').toggleClass("open").slideToggle("fast");
$(this).toggleClass("active-tab").find(".menu-link").toggleClass("active");
$(".menu-list .accordion-content").not($(this).children('ul')).slideUp("fast").removeClass("open");
$(".menu-list .accordion-toggle").not(jQuery(this)).removeClass("active-tab").find(".menu-link").removeClass("active");
});
//マウスカーソルがナビを離れたとき、メニュー閉
$('#menu-container').mouseleave(function(){
$(".menu-list .accordion-content").not($(this).children('ul')).slideUp("fast").removeClass("open");
$(".menu-list .accordion-toggle").not(jQuery(this)).removeClass("active-tab").find(".menu-link").removeClass("active");
});
}); // jQuery load
</script>
ナビゲーションバーをボタンで表示
以前は PC 画面表示で、ナビゲーションバーを画面上部固定していました。
今回、左側に縦型アイコンメニューバーを追加したため、PC 画面表示でもナビゲーションバーを隠しておき、ボタンクリックで表示させるように調整しました。
これは「 サイドバーを隠して実装する 」方法を応用した形になります。
以下に Script を参考程度に記載します。
<!-- PC表示ナビゲーションバー表示/非表示 -->
<script>
$(function(){
$('#top-navi-button').click(function(){
$('#top-navi').toggleClass('open');
$('#sub-content,#side-button-back').removeClass('open');
});
});
</script>
CSS の調整やボタンの設置など、実装する場合は他にいろいろやることありますよ!
ナビゲーションバーはスクロールで非表示
PC 画面で表示したナビゲーションバーは、スクロールを検知すると非表示になるように調整しました。
以下の記事の応用になります。
以下、Script を参考程度に記載します。
<!-- PC表示ナビゲーションバー スクロールで非表示 -->
<script>
var startPos = 0,winScrollTop = 0;
$(window).on('scroll',function(){
winScrollTop = $(this).scrollTop();
if (winScrollTop >= startPos) {
$('#top-navi').removeClass('open');
} else {
$('#top-navi').removeClass('open');
}
startPos = winScrollTop;
});
</script>
さいごに
とりあえず、1カラムデザインはこんなものでしょうか。
2カラムのときより、シンプルで読みやすいブログになっていたら嬉しいです。
ある程度は「 私的理想の形 」になってきたので、今後は小さい調整をしつつ、他のことも書いていけたらと思っています。
雑記ブログのならではの「多ジャンルに対応したブログデザイン」を目指してカスタマイズを進めていきます!
初めまして、質問させていただきたいのですが。QooQを使って1カラムデザインに挑戦しているのですがどうもうまく行きません。縦型アイコンメニューバーを設置してサイドバーを隠して実装するまではできましたが、メニューがうまくできません。階層型メニューの2階層以下が1階層の下に来ずセンターになってしまいます。
返信削除また。メニューを縦型アイコンナビゲーションに入れる方法がよくわかりません。
素人相手に説明面倒でしょうけどご教授頂けると有難いです。ちなみに現状このような感じです。
https://ciaoap.blogspot.com
初めまして!コメントありがとうございます。
削除テストページ拝見いたしましたが、特に問題のある動きになっていないように見受けられます。
できれば、「階層型メニューの2階層以下が1階層の下に来ずセンターになってしまう」状況を作り出してもらえますか?