ここでナビゲーション画像は質問にあります:奇妙なCSSの挙動(ロールオーバー/ WスプライトNAV)
http://img.skitch.com/20090807-t8e6d9ymrtpdifqy88xpu6x36.png
私が何をしたいのか、かなり基本的なものと私は、私は、過去にそれを何度もやりましたなぜそれが今働いていないのか分かりません。基本的に上記の画像をnav背景として使用し、それに応じて幅と背景位置を調整します。ここに私のCSSです:
#navigation { width: 960px; height: 28px; clear: both; background: url('../images/nav-bg.png') repeat-x; }
#navigation ul { margin: 0 0 0 20px; padding: 0; }
#navigation ul li { float: left; list-style: none; }
#navigation ul li a { display: block; height: 28px; background: url('../images/nav-tabs.png') no-repeat; text-indent: -9999px;}
#nav-home { width: 62px; }
#nav-home.active, #nav-home:hover { background-position: 0 -28px; }
#nav-cp { width: 130px; background-position: -62px 0; }
#nav-cp.active, #nav-cp:hover { background-position: -62px -28px; }
#nav-web { width: 106px; background-position: -192px 0; }
#nav-web.active, #nav-web:hover { background-position: -192px -28px; }
#nav-clix { width: 106px; background-position: -298px 0; }
#nav-clix.active, #nav-clix:hover { background-position: -298px -28px; }
#nav-dna { width: 90px; background-position: -405px 0; }
#nav-dna.active, #nav-dna:hover { background-position: -405px -28px; }
そして、ここでは、ページ上のコードでは、今後の校正のために指定された汎用的なHTML5のDOCTYPE、< DOCTYPE htmlの>、で、である:私は「
<div id="navigation">
<ul id="nav-tabs">
<li><a href="#" id="nav-home">Home</a></li>
<li><a href="#" id="nav-cp">Client Portal</a></li>
<li><a href="#" id="nav-web">Weboptima</a></li>
<li><a href="#" id="nav-clix">Clixfactor</a></li>
<li><a href="#" id="nav-dna">Lead DNA</a></li>
</ul>
</div>
奇妙な!最初のタブ、ホームは完璧に機能します。残りの4つのタブは、!importantを指定しない限り、最初の背景位置プロパティに従わないが、ロールオーバーは正常に機能する。ここではこれら二つの状況の画像は、それぞれ次のとおりです。
http://img.skitch.com/20090807-fybag852bbbi6ut751w167y1hp.png
http://img.skitch.com/20090807-rmn9b2tu54q4agyta2idfra5x5.png
はちょうどこの(たぶん)、単純な問題に少し洞察力を探して。前もって感謝します!
これはトリックでした。私の理論的根拠は、事実の後に指定されたより具体的なバックグラウンドの位置が、左上/ 0の元のデフォルトの値を上書きするということでした。カスケードスタイルシートのカスケード部分に少し直感的に見えますが、機能し、 – Andrew