はじめに
今回、スキナモノートにドロップダウンメニューを付けてみました。表示にはCSSのみ使用しています。
まだ、シンプルですが、なかなか気にいっています。この先使用するか分からないのですが、テストも兼ねて。
カスタマイズはしないしないと言っていたのにいけませんね(笑)
一応、記事のネタとして、と言い訳をしつつ、進行していきます。
ドロップダウンメニューとは。
マウスオーバーすると、こんな感じに下にメニューが出てくる感じです。リンク先は手動で入れるしかないので面倒な部分もありますが、こういうメニューを使いたかった、という方のご参考になればと思い、記事にしてみました。
簡単ですが、少し説明をさせていただきます。
まずはコード全文から。
ダッシュボード>デザイン>カスタマイズ>ヘッダ>タイトル下
の部分に張り付けをします。
HTML
<nav> <ul id="globalmenu"> <li><a href="#">メニュー1</a> <ul> <li><a href="#">メニュー1の子1</a></li> <li><a href="#">メニュー1の子2</a></li> <li><a href="#">メニュー1の子3</a></li> </ul> </li> <li><a href="#">メニュー2</a> <ul> <li><a href="#">メニュー2の子1</a></li> <li><a href="#">メニュー2の子2</a></li> <li><a href="#">メニュー2の子3</a></li> <li><a href="#">メニュー2の子4</a></li> </ul> </li> <li><a href="#">メニュー3</a> <ul> <li><a href="#">メニュー3の子1</a></li> </ul> </li> <li><a href="#">メニュー4</a> <ul> <li><a href="#">メニュー4の子1</a></li> </ul> </li> </ul> </nav>
CSS
次にCSSです。
ダッシュボード>デザイン>カスタマイズ>カスタムCSS
の部分に張り付けをします。
#globalmenu{ width: 100%; margin: 0 auto 40px; height: 50px; padding: 0; list-style-type: none; background: #fff; border-top: 1px solid #000; border-bottom: 1px solid #000; } #globalmenu li{ position: relative; float: left; text-align: center; width: 25%; margin: 0; padding: 0; } #globalmenu li a{ display: block; margin: 0; padding: 17px 0 20px; color: #000; font-size: 15px; text-decoration: none; } #globalmenu li:hover > a{ background: #ccc; color: #fff; } #globalmenu li ul{ position: absolute; top: 100%; color: #fff; left: 0; margin: 0; padding: 0; list-style: none; z-index:10000; } #globalmenu li ul li{ overflow: hidden; width: 100%; height: 0; color: #fff; } #globalmenu li ul li:hover > a{ background: #EDA47C; color: #fff; } #globalmenu li:hover ul li{ overflow: hidden; height: 40px; border-bottom: 1px dotted #ffffff; } #globalmenu li ul li a{ font-size: 13px; padding: 15px; background: #ddd; text-align: left; }
HTMLの説明
HTMLやCSSに慣れていない人の為に、ざっと簡単な説明をしておきます。
まずはHTMLから
<nav> <ul id="globalmenu"> <li><a href="#">メニュー1</a> <ul> <li><a href="#">メニュー1の子1</a></li> <li><a href="#">メニュー1の子2</a></li> <li><a href="#">メニュー1の子3</a></li> </ul> </li>
上記のソースの、メニュー1という部分が、グローバルメニューに表示される部分です。私のブログでいう、「トップ はてなブログ ペンケース モノ 」という部分ですね。
そして、メニュー1の子1、2、3は、マウスオーバーした時に表示されるメニューです。a href="#"の#の部分にリンクするURLを入れます。メニュー2、3、4も同様です。
CSSの説明
次にCSSですが、
#globalmenu{ width: 100%; margin: 0 auto 40px; height: 50px; padding: 0; list-style-type: none; background: #fff; border-top: 1px solid #000; border-bottom: 1px solid #000; } #globalmenu li{ position: relative; float: left; text-align: center; width: 25%; margin: 0; padding: 0; }
globalmenuのbackground #fffで背景の色を指定します。私の場合は白なので、#fffです。
globalmenu liの width25%は各メニューの幅を決めています。
私の場合、4つのメニューを表示させているので、各25%の幅。4×25%=100%
もしも、5つのメニューを表示させる場合は、20%に変更して合計が100%になるようにして下さい。
次に、色の変更部分だけピックアップしてみます。
#globalmenu li:hover > a{ background: #ccc; color: #fff; } #globalmenu li ul li:hover > a{ background: #EDA47C; color: #fff; } #globalmenu li ul li a{ font-size: 13px; padding: 15px; background: #ddd; text-align: center; }
globalmenu li:hover > a{ background:#cccはグローバルメニューにマウスオーバーした時に色です。
globalmenu li ul li:hover > a{ background #EDA47Cは子メニューにマウスオーバーした時の色です。
globalmenu li ul li a{ background: #dddは子メニューの色です。
最後に
こんな風にいじっていくと、オリジナルのドロップダウンメニューが作れます。
コードは公開していますが、ご利用は自己責任でお願いしますね。
カスタマイズをする時にはバックアップをお忘れなく。
(追記)また、コメントでご指摘をいただきましたが、ドロップしたメニューがAdSenseの広告にかぶらないように注意をしましょう。私自身も初歩的な事を見落としておりました。
以上、はてなブログにドロップダウンメニューを付けてみた。でした。
最後までお読みいただきありがとうございます。感謝

これからのWebサイト設計の新しい教科書 CSSフレームワークでつくるマルチデバイス対応サイトの考え方と実装〈Bootstrap・コンテンツファースト・コンポーネント設計〉
- 作者: 松田直樹,後藤賢司,こもりまさあき
- 出版社/メーカー: エムディエヌコーポレーション
- 発売日: 2015/03/23
- メディア: 単行本
- この商品を含むブログ (2件) を見る