MoonNote

はてなブログテーマ / CSS / jQuery

はてなブログテーマ「Innocent」のカスタマイズ(ナビゲーションバー編)

f:id:waitingmoon:20151220174234j:plain

はてなブログテーマ「Innocent」はナビゲーションバーを内蔵しています。面倒なCSSを記述することなく、簡単にナビゲーションバーを表示できます。

設置の手順

jQuery をフッターに記述する

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    (function($) {
        $(".menu-toggle").on("click", function() {
            $(".main-navigation").toggleClass("toggled");
        });
    })(jQuery);
</script>

スマートフォンタブレット閲覧時のメニュー展開ボタンを動作させるために必要なコードになります。フッター上のカスタマイズエリアに貼り付けて下さい。jQuery 本体は既に読み込んでいる場合は不要です。

HTML をヘッダーに記述する

<nav class="main-navigation">
    <div class="menu-toggle">メニュー</div>
    <div class="main-navigation-inner">
        <ul>
            <li><a href="#">ホーム</a></li>
            <li><a href="#">プロフィール</a></li>
            <li><a href="#">アーカイブ</a></li>
            <li>
                <a href="#" class="has-child">カテゴリー</a>
                <ul>
                    <li><a href="#">子カテゴリ1</a></li>
                    <li><a href="#">子カテゴリ2</a></li>
                </ul>
            </li>
            <li><a href="#">リンク</a></li>
        </ul>
    </div>
</nav>

次に、上記の HTML をヘッダー下のカスタマイズエリアに貼り付けます。メニューのリンクとなる <a> 直下に <ul> タグを記述すると、最大で4階層(曾孫)までのサブメニューが表示できます。

<a>.has-child を指定すると、1階層目では下向きの矢印が、2階層目以降では右向きの矢印が表示されます。指定しなくてもサブメニューは表示されますが、指定したほうが「このメニューにはサブメニューがある」と理解しやすいでしょう。

デザイン

スマートフォンタブレット

f:id:waitingmoon:20151220180128j:plain:w280

スマートフォンタブレットでは、「メニュー」ボタンをタップすると開く展開式メニューになります。

PC

f:id:waitingmoon:20151220174234j:plain:w280

PC(幅1024px~)では横並びのナビゲーションバーになります。

カスタマイズ

色の変更

f:id:waitingmoon:20151220180759j:plain
.main-navigation,
.main-navigation ul ul {
    background-color: #66cdaa;
}

.main-navigation.main-navigation ul ul に背景色を指定するとナビゲーションバーの色が変わります。

中央寄せにする

f:id:waitingmoon:20151220181130j:plain
@media screen and (min-width: 1024px) {
    .main-navigation {
        text-align: center;
    }
}

.main-navigationtext-align: center を指定すると、ナビゲーションバーがセンタリングされます。