QooQ のサイドバーを通常は隠しておき、ボタンを押すことで表示させるカスタマイズ方法です。
ブログデザインを2カラムから1カラムにしたいときなど、使用用途はいろいろ考えられます。
こんにちは!HARU( @HARU )です。
今回は Blogger のテンプレートである QooQ のサイドバーを、通常は隠しておき、ボタンを押すことで表示させるようにするカスタマイズをします。
通常、QooQ は2カラムで構成されています。
最近、1カラム化したい欲求が出てきていて、サイドバーを消さない方法はないかと思っていた矢先、先駆者がいらっしゃったのでやってみようと思った次第です。
1カラム化したときにも役立ちますが、PC 表示時は2カラム。スマホ表示時は1カラム + ボタンで表示させるみたいなこともできると思います。
今回は1カラム化前提のため、上記のようなカスタマイズは考えていません。
要望があれば、やってみようかなって感じなので、コメントください。
テンプレートの編集( ソースコード改変 )するときは、必ずバックアップを取ってから編集しましょう。
不安な方は以下の記事を参考にしてください。
カスタマイズイメージ
通常2カラム構成である QooQ のサイドバーを隠しておき( 非表示 )、ボタンを押すことで表示させるようにします。
もう一度ボタンを押す、もしくは黒背景部分を押すことで非表示になるようにしました。
JQuery の導入
JQuery を導入していない場合、以下の記事を参考に導入してください。
Font Awesome の導入
Font Awesome を導入していない場合、以下の記事を参考に導入してください。
HTML 編集
以下のコードを</body>の直上に記述します。
<!-- サイドバーメニュー表示ボタン -->
<div id='side-button'><span /></div>
<div id='side-button-back'/>
サイドバーを表示させるためのボタンのコードになります。
Script 追記
以下の Script を</body>の直上に記述します。
<!-- サイドバー表示/非表示 -->
<script>
$(function(){
$('#side-button').click(function(){
$('#side-button,#sub-content,#side-button-back').toggleClass('open');
});
$('#side-button-back').click(function(){
$('#side-button,#sub-content,#side-button-back').removeClass('open');
});
});
</script>
CSS 追記
以下の CSS を Blogger テンプレートの CSS 欄に記述します。
/* サイドバーメニュー表示ボタン */
#side-button{
width: 50px;
height: 50px;
position: fixed;
right: 0;
bottom: 400px;
background: #3f98ef;
opacity: 0.6;
z-index: 1002; /* サイドバーよりも上へ */
}
#side-button span{
position: relative;
display: block;
width: 50px;
height: 50px;
text-decoration: none;
}
#side-button span::before{
font-family: 'Font Awesome 5 Free';
font-weight: 900;
content: '\f0c9';
font-size: 25px;
color: #fff;
position: absolute;
width: 25px;
height: 25px;
top: 0;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}
/* 背景を黒くする */
#side-button-back.open{
background-color: #000000;
opacity: 0.7;
z-index: 1000;
height: 100%;
width: 100%;
position: fixed;
transition: all 1s ease;
top: 0;
left: 0;
}
/* サイドバーメニュー非表示 */
#sub-content {
box-sizing:border-box;
transition: all 0.3s;
transform: translate(-100%);
position: fixed;
top: 0;
left: 0;
z-index: 1001;
}
#sub-content.open {
transform: translate(0) !important;
height:100%;
overflow-y: auto;
overflow-x: hidden;
}
#sub-content {
margin: 0 !important;
width: 320px !important;
}
#sub-content .widget{
margin:auto!important;
}
追加する CSS は簡単に実装できるように#sub-content の CSS を無理やり調整(!important)しています。
なるべく使わないほうがいいので、CSS を調整できる方は各自で調整してください。
さいごに
QooQ 1カラム化に向けて「サイドバーのカスタマイズ」でした!
パッと見あとは、main-contentの位置ずれを解消すれば、1カラム化できそうです。
1カラム化するにあたって、私はサイドバーを使わない方針も考えていますが、使いたい方はこういった方法は良さそうですね。
ボタンの位置やサイドバーの広さなど、いろいろ調整して自分好みのカスタマイズをしてみてください。
HARU様、こんにちわ
返信削除1カラムに挑戦してみたのですが、なかなか難しいです。
このボタンは右に出てしまいますね。
https://www.one-step.tokyo/
なんとか頑張ろうと思いますが、左側にするにはどうしたら良いのでしょうか?
それと左側には、リストのサブメニューの1と2を入れて見ましたが
リンクは有るのですが画像が出ませんでした、何か間違えているのでしょうか?
コメントありがとうございます。
削除ご質問の内容としては「サイドバーメニューを表示するボタンを、左側に移動したい」ということでしょうか?
(現在の私のブログのように左側にボタンを設置するイメージでしょうか?)
>それと左側には、リストのサブメニューの1と2を入れて見ましたが
>リンクは有るのですが画像が出ませんでした、何か間違えているのでしょうか?
こちらの質問は何のことかわかりませんでした。申し訳ないです!
リストのサブメニューとはなんのことでしょうか?
スマートフォンのときの、サイドバーの処遇をどうするか悩んでいたところ、こちらの記事にたどり着きました。
返信削除とても参考になります。ありがとうございました。
コメントありがとうございます。
削除参考になれば幸いです!