<ul>
を使用してナビゲーションバーを作成しています。 CSSコードは以下の通りである:背景画像上に移動すること、従って、異なる部分を表示するようにバックグラウンド位置を垂直方向にのみオフセットする方法はありますか?
.nav {
list-style: none;
background: url(/images/nav.png) no-repeat;
width: 666px;
height: 60px;
}
.nav li {
font-size: 0px;
background: url(/images/nav.png) no-repeat;
width: 120px;
height: 60px;
display: block;
float: left;
position: relative;
}
.nav .navhome {
background-position: -31px 0;
left: 31px;
}
.nav .navA {
background-position: -152px 0;
left: 32px;
}
.nav .navB {
background-position: -273px 0;
left: 33px;
}
.nav .navC {
background-position: -394px 0;
left: 34px;
}
.nav .navD {
background-position: -515px 0;
left: 35px;
}
.nav .navhover {
background-position-y: -60px;
}
.nav .navcurrent {
background-position-y: -120px;
cursor: default;
pointer-events: none;
}
はjQueryの機能は、マウスが一つのボタンに置いたときに、クラス.navhover
が追加されることもあります画像全体。クラス.navcurrent
(現在のページ)もそうです。
MACで実装してChromeでテストしました。しかし、コードを検証したところ、background-position-y
は標準ではないことがわかりました(実際には、これらの5つのボタンにはbackground-position-x
も使用されていました)。ボタンごとにxオフセットがあるため、の.navhover
には常に最初のものが表示されます。また、私はbackground-position: inherit -60px;
を試しても動作しません。では、バックグラウンドの位置を垂直方向にのみ移動する方法は?
もう1つの質問pointer-events
も標準ではありません。これは、FirefoxとOperaでは機能しません。クラス.navcurrent
のボタンでクリック機能を無効にする別の方法はありますか?
あなたはコードがjsfiddleに投稿することはできますか? – biphobe