カスタム CMS プラットフォーム上に構築された Web サイトに取り組んでいます。サイトの所有者は、「ホーム」ナビゲーション メニュー項目をホーム アイコン/画像に置き換えることを望んでいます。通常、これは簡単なことですが、私は HTML/PHP ファイルにアクセスできず、CMS ではメニュー項目にクラスを追加できません。Javascript も追加できないので、CSS で追加する必要があります。
CMS によって生成された HTML は、多かれ少なかれ次のようになります。
<header class="header">
<nav>
<ul>
<li><a href="http://www.home.com/">Home</a></li>
<li class="first"><a href="http://www.home.com/about">About</a>
<ul>
<li><a href="http://www.home.com/about/team">Team</a></li>
</ul>
</li>
<li><a href="http://www.home.com/services">Services</a>
<ul>
<li><a href="http://www.home.com/services/financial">Financial</a></li>
</ul>
</li>
</ul>
</nav>
</header>
私は次のような方法でそれを達成できるかもしれないと考えました:
.header nav > ul > li:first-of-type {
background: url('home.png') no-repeat center top;
-webkit-transition: background-position 0.3s ease-in;
-moz-transition: background-position 0.3s ease-in;
-o-transition: background-position 0.3s ease-in;
transition: background-position 0.3s ease-in;
}
.header nav > ul > li:first-of-type:hover {
background-position: center bottom;
}
.header nav a[href="http://www.home.com/"] {
color: transparent !important;
}
しかし、それはうまくいかないようです。私の構文はどこか間違っていますか、それとも何か不足していますか? CSS を直接使用してこれを行うためのより良い方法があれば、私はすべて耳にします。
このJS Fiddleで完全なコードを見ることができます。
ありがとう!