はてなブログって、結構しっかりとhtmlやcssを書かないとメニュー1つ付けられないんですよね。
今回は、webエンジニアのharuが、はてなブログでハンバーガーメニュー(三)を設置した方法を紹介します。
このようなメニューを作っていきます
「デザイン>ヘッダ>タイトル下」にhtmlを入力する
PC版のはてなブログの管理画面を開きます。
PC版の管理画面を開いたら、デザインをクリック。
デザインを開いたら、ヘッダを開き、タイトル下(画像部分)にhtmlを入力します
この部分にhtml書きます。
試しに以下のhtmlを入れてみましょう。
<div class="hamburger-menu"> <input type="checkbox" id="menu-btn-check"> <label for="menu-btn-check" class="menu-btn"><span></span></label> <div class="menu-content"> <ul> <li> <a href="/archive/category/レシピ">レシピ</a> <ul class="category-child"> <li> <a href="/archive/category/紅茶"> 紅茶 </a> </li> <li> <a href="/archive/category/緑茶"> 緑茶 </a> </li> <li> <a href="/archive/category/ハーブティー"> ハーブティー </a> </li> <li> <a href="/archive/category/コーヒー"> コーヒー </a> </li> <li> <a href="/archive/category/カクテル"> カクテル </a> </li> </ul> </li> <li> <a href="/archive/category/お出かけ">お出かけ</a> </li> <li> <a href="/archive/category/暮らし">暮らし</a> </li> <li> <a href="/archive/category/その他">その他</a> </li> </ul> </div> </div>
「レシピ」「紅茶」「緑茶」などの日本語部分を、自分のカテゴリ名に書き換えるとカテゴリ名からメニューを作れる仕組みです。
「デザイン>デザインCSS」にメニュー用のCSSを入力する
デザインCSSにメニュー用のCSSに、追記していきます。
#blog-title{ height: auto;padding: 20px 0 50px 0; } #blog-title a { color: #dea08c; } h1#title { border-bottom: none; padding-bottom: 0; margin-bottom: 0; font-weight: normal; letter-spacing: 0.15em; } #blog-title-inner { width: 100%; background: none; } div#blog-title-inner { text-align: left; } .menu-btn { top: 10px; right: 10px; display: flex; position: absolute; height: 60px; width: 60px; justify-content: center; align-items: center; z-index: 90; } .menu-btn span, .menu-btn span:before, .menu-btn span:after { content: ''; display: block; height: 3px; width: 25px; border-radius: 3px; background-color: #dea08c; position: absolute; } .menu-btn span:before { bottom: 8px; } .menu-btn span:after { top: 8px; } #menu-btn-check { display: none; } .menu-content { position: absolute; top: 0; right: 0; opacity: 0; transition: all 0.5s; z-index: 10; pointer-events: none; } .menu-content ul { margin: 77px 0px 0; padding-left: 0; } .menu-content ul li { border-bottom: solid 1px #dea08c; list-style: none; background-color: #fff; padding-left: 1.25em; } .menu-content ul li a { display: block; width: 100%; font-size: 15px; box-sizing: border-box; text-decoration: none; padding: 9px 15px 10px 0; position: relative; color: #dea08c; } .menu-content ul li a::before { content: ""; width: 7px; height: 7px; border-top: solid 2px #ffffff; border-right: solid 2px #ffffff; transform: rotate(45deg); position: absolute; right: 11px; top: 16px; } .menu-content ul li ul.category-child { margin-top: 0; } .menu-content ul li ul.category-child li { border-bottom: dashed 1px #dea08c; } .menu-content ul li ul.category-child li:last-child { border: none; } #menu-btn-check:checked ~ .menu-content { opacity: 1; } .hamburger-menu { position: relative; bottom: 76px; } #menu-btn-check:checked ~ .menu-btn span { background-color: rgba(255, 255, 255, 0); } #menu-btn-check:checked ~ .menu-btn span::before { bottom: 0; transform: rotate(45deg); } #menu-btn-check:checked ~ .menu-btn span::after { top: 0; transform: rotate(-45deg); } #menu-btn-check:checked ~ .menu-content{ pointer-events: auto; } .entry-header { position: initial; }
ブログタイトルの大きさを調整して、ハンバーガーメニュー(三)が綺麗に表示されるようにしています。
その部分の調整はそれぞれで行ってください。
難しい場合には、コメントを頂ければ相談に乗ります。お気軽にコメントまたはTwitter(@g_masquerade)にてご連絡ください。