現状は親メニューが何色かあるのですが、子メニューには親メニューの色分けが適用されません。
そこで、子メニューのclassをCSSで指定してみたのですが、まったく言うことをきかず無視するんです。
下記は出力されたHTMLです。
こちらを見ると、子メニューはsub-menuというclassのハズなのです。
HTML
<div class="section-two"> <div class="inner clearfix"> <a class="mobile-only toggle-mobile-menu" href="#" title="Menu">Main Navigation <i class="fa fa-angle-down"></i></a> <nav id="secondary-navigation" class="second-navigation" role="navigation"> <div class="menu-ごちゃごちゃ英数記号-container"><ul id="secondary-menu" class="menu clearfix"><li id="menu-item-265" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor menu-item-has-children menu-item-265"><a href="http://127.0.0.1:4001/dev_test/">その1</a> <ul class="sub-menu"> <li id="menu-item-460" class="menu-item menu-item-type-post_type menu-item-object-tset current-menu-item menu-item-460"><a href="http://127.0.0.1:4001/dev_test/test1/ごちゃごちゃ英数記号/">テストじゃ</a></li> <li id="menu-item-376" class="neko1 menu-item menu-item-type-post_type menu-item-object-page menu-item-376"><a href="http://127.0.0.1:4001/dev_test/forum/">Forum</a></li> </ul> </li> <li id="menu-item-264" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-264"><a href="http://127.0.0.1:4001/dev_test/ごちゃごちゃ英数記号/">その2</a> <ul class="sub-menu"> <li id="menu-item-468" class="menu-item menu-item-type-post_type menu-item-object-test2 menu-item-468"><a href="http://127.0.0.1:4001/dev_test/test2/ごちゃごちゃ英数記号">テストです</a></li> <li id="menu-item-384" class="neko2 menu-item menu-item-type-post_type menu-item-object-page menu-item-384"><a href="http://127.0.0.1:4001/dev_test/forum/">Forum</a></li> </ul> </li> <li id="menu-item-263" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-263"><a href="http://127.0.0.1:4001/dev_test/ごちゃごちゃ英数記号/">その3</a></li> <li id="menu-item-262" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-262"><a href="http://127.0.0.1:4001/dev_test/ごちゃごちゃ英数記号/">その4</a> <ul class="sub-menu"> <li id="menu-item-461" class="menu-item menu-item-type-post_type menu-item-object-test1 menu-item-461"><a href="http://127.0.0.1:4001/dev_test0/test1/ごちゃごちゃ英数記号/">カスタム投稿タイプのテストだよ</a></li> </ul> </li> <li id="menu-item-261" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-261"><a href="http://127.0.0.1:4001/dev_tset/ごちゃごちゃ英数記号/">about</a></li> </ul> </div> </nav>
そしてCSSはこうです。
ここでは上のHTMLにあるsub-menuというclassなどどこにも指定していないのに、親メニューのアニメーションや、元々の親メニューの色(次のCSSで元々1色だったものを変えました)が、子メニューにちゃんと適用されているのもまた不思議です。
css
/*-------------------------------------------------------------- 6.3 Secondary Navigation --------------------------------------------------------------*/ .second-navigation { float: left; margin-left: 80px; } .second-navigation ul { list-style: none; margin: 0; padding: 0; } .site-header .section-two nav ul li { position: relative; float: left; margin-right: 25px; } .site-header .section-two nav ul li li { float: none; margin-right: 0; } .site-header .section-two nav ul li a { color: #737373; display: block; padding: 16px 0 17px 0; text-decoration: none; } .site-header .section-two nav ul li li { float: none; position: relative; } .site-header .section-two nav ul ul { background: #f5f5f5; position: absolute; left: 0; min-width: 200px; visibility: hidden; -webkit-transform: translateY(20%); transform: translateY(20%); transition: -webkit-transform 0.3s linear, visibility 0.1s; transition: transform 0.3s linear, visibility 0.1s; z-index: 9; } .site-header .section-two nav ul li:hover ul ul { visibility: hidden; -webkit-transform: translateY(20%); transform: translateY(20%); transition: -webkit-transform 0.3s linear, visibility 0.1s; transition: transform 0.3s linear, visibility 0.1s; } .site-header .section-two nav ul ul ul { left: 100%; top: 0; } .site-header .section-two nav ul li li a { padding: 10px 15px; } .site-header .section-two nav ul ul li:hover ul, .site-header .section-two nav ul li:hover ul { visibility: visible; -webkit-transform: translateY(0%); transform: translateY(0%); transition: -webkit-transform 0.3s ease-in-out; transition: transform 0.3s ease-in-out; } .site-header .section-two nav ul li.current_page_item > a:before, .site-header .section-two nav ul li.current_page_parent > a:before, .site-header .section-two nav ul li.current_page_ancestor > a:before, .site-header .section-two nav ul li.current-menu-parent > a:before, .site-header .section-two nav ul li.current-menu-item > a:before, .site-header .section-two nav ul li li:hover > a:before, .site-header .section-two nav ul > li > a:before { background-color: #ff6565; bottom: 0; content: ""; height: 3px; left: 0; position: absolute; right: 0; transform: scaleX(0); transition: all 0.2s ease-in-out 0s; width: 100%; } .site-header .section-two nav ul li.current_page_parent > a:before, .site-header .section-two nav ul li.current_page_item > a:before, .site-header .section-two nav ul li.current_page_ancestor > a:before, .site-header .section-two nav ul li.current-menu-parent > a:before, .site-header .section-two nav ul li.current-menu-item > a:before, .site-header .section-two nav ul li li:hover > a:before, .site-header .section-two nav ul > li > a:hover:before { transform: scaleX(1); } .menu-item menu-item-type-post_type menu-item-object-matome1 current-menu-item menu-item-460 { background-color: #808080; } .sub-menu ul { background-color: #808080; }
このCSSだけだと全ての親メニューが同じ1つの色なので、子テーマのCSSにこう書いています。
おかげで、親メニューだけは色分けされています。
css
.site-header .section-two nav ul > li:nth-child(2) > a:before { background-color: #4285F4; } .site-header .section-two nav ul > li:nth-child(3) > a:before { background-color: #FF8235; } .site-header .section-two nav ul > li:nth-child(4) > a:before { background-color: #AE69F6; } .site-header .section-two nav ul > li:nth-child(5) > a:before { background-color: #34A853; }
以上です。
長くなってしまいもうしわけございませんが、、
どうすれば現状の親メニューの色分けが、子メニューにも適用されるか。
お分かりになる方、いらっしゃいましたらよろしくお願いいたします。
まだ回答がついていません
会員登録して回答してみよう