WordPressナビゲーションメニューのカスタマイズ

WordPressナビゲーションメニューのカスタマイズWordPressの始め方や使い方まとめ

今回はWordPressのナビゲーションのメニュー部分をカスタマイズとしていきます。具体的にはメニュー部分の色や高さ、文字の大きさと色、それから背景色などを変更していきます。

また、リクエストの多かった、「ナビゲーションメニューを均等に配置する方法」や「サブメニューのカスタマイズ」も紹介していきます。基本的なナビゲーションメニューの設定などは別記事です。

WordPressのナビゲーションメニューの使い方と設定

メニュー部分というのは最初このようになっていると思います。

メニュー部分-1

私の場合はこのナビメニューの高さを低くして背景色と文字色を変更しています。

メニュー部分-2

ナビゲーションメニューのカスタマイズ

私の利用しているTwentyTwelveで説明していきます。子テーマで作成したスタイルシート (style.css)を使います。私の変更箇所のコードはこのようになっています。

/* ナビメニュー */
.main-navigation li a {
color: #fff; /* 文字色(白) */
font-weight:bold; /* 太字にして */
line-height: 25px; /* 高さ */
font-size: 15px;} /* 文字の大きさ */

.main-navigation ul {
margin: 0; /* 余白をなくす */
background: #1F5E73; /* 背景色 */
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}

この各項目の好きな部分を変更して使ってみて下さい。文字の左に余白が欲しい場合(右にずらしたい場合)には「padding-left: ●●px;」を追加して下さい。

それからリンクのカスタマイズでも解説しましたが、カーソルが乗った時の色と訪問済みの色を指定する事ができますので、これも設定しておくといいでしょう。

.main-navigation li a:visited {color: #fff;}
.main-navigation li a:hover{color: #7a8285;}

「a:visited」が訪問済みの色で「a:hover」がカーソルを載せた時の色です。それぞれ設定しておきましょう。

ナビゲーションのメニューを均等に並べる方法

ナビゲーションのメニューは通常は「左揃え」のような状態になっているので、右側に余白ができてしまう場合があります。こんな感じです。

均等-1

なので、メニューに設置した項目を均等に並べるようにしていきます。テーマTwenty Twelveでのサンプルですが子テーマのスタイルシートに次のコードを追加して下さい。

@media screen and (min-width: 960px) {
.main-navigation ul.nav-menu {
 display: table !important;
 table-layout: fixed;
 text-align: center;
 width: 100%;}

 .main-navigation li {
 display: table-cell;
 vertical-align: middle;}
}

ulには「display:table」、liには「display:table-cell」を指定する事で均等にする事ができますので試して見て下さい。

サブメニューをカスタマイズする場合

このWordPressのメニューナビにサブアイテム(サブメニュー)を設置している方もいるかと思います。WordPressの管理画面から「外観」⇒「メニュー」と進んでメニューを右にずらしてみるとサブメニューになります。

サブメニュー-2

これで保存して確認するとサブメニューこんな感じに縦に開きます。

サブメニュー-1

このサブメニューのカスタマイズも一緒にやってしまいましょう。スタイルシートに次のコードを追加するだけ。

/* ナビゲーションサブメニュ- */
ul.sub-menu li a{
color:#fff !important;  /* サブメニュー文字色 */
background-color:#1F5E73 !important;  /* サブメニューの背景色 */
font-size:12px !important;  /* 文字の大きさ */
font-weight:bold !important;  /* 文字を太字に */
}
 
ul.sub-menu li {
margin-right:0px !important; /* サブメニューの右の余白を0に */
}

後はカラーや文字の大きさを自分好みに変更して利用して下さい。

以上WordPressナビゲーションメニューのカスタマイズでした。

コメント

  1. りた より:

    しげぞう様

    りたです。ご返信、誠にありがとうございます。
    しげぞう様から教えて下さったコードを挿入したのですが, どうしても右側だけ空白が大きい気がします。もしかしたら, 私の感覚がおかしいだけかもしれません笑

    しげぞう様が考えてらっしゃる他の要因があれば、是非教えて頂けないでしょうか?
    何卒、宜しくお願い致します。

  2. しげぞう より:

    りた様

    報告ありがとうございます。一度スタイルシートに次のコードを入れて試して見てください。

    .main-navigation li {
        padding-left: 20px;
    }

    数値が大きすぎると2段になるので、数値は変更しながら調整してみて下さい。もし上手くいかない場合には再度コメント頂けると助かります。

  3. りた より:

    しげぞう様

    ご回答、誠にありがとうございます。無事間隔を狭めることができました!
    もう1点、質問させて下さい。
    ナビメニューの右端のある余白はどのように設定できるのでしょうか?
    個人的には左右の余白が統一され、等間隔にメニューを配置したいと考えております。しかし、感覚的に右端だけ余白は大きいように感じたので、質問させて頂きました。

    本当に初歩的な質問で恐縮ですが、何卒宜しくお願い致します。

  4. しげぞう より:

    りた様

    コメントありがとうございます。ナビの文字間隔というのは各メニューの間の間隔でしょうか?違ったらすみません。各メニューの間隔であればスタイルシートに次のコードを追加で行けるかと思います。

    .main-navigation li {
        margin-right: 10px;
    }

    数値はお好みで変更して下さい。またこの部分でない場合には再度コメント下さいませ。

  5. りた より:

    しげぞう様

    何度も質問しておりますりたです。
    グローバルナビの文字間隔を狭めたいときはどのようなコードを挿入すれば良いのでしょうか?
    大変恐縮ではありますが、ご回答頂ければ幸いです。

    何卒、宜しくお願い致します。

  6. しげぞう より:

    tanotano様

    返信ありがとうございます。テーマの「functions.php」を最近編集した覚えはありませんか?もしくは、子テーマに「functions.php」はありますか?「functions.php」も1度疑ってみると良いかもしれません。

    子テーマのfunctions.phpであれば内容をコピーしておいて、FTPでこの子テーマの「functions.php」を一度削除して確認する事ができますが、どうでしょうか?

タイトルとURLをコピーしました