2010-12-08 3 views
1

Ich verwende Sprites, um zwei grafische Navigationselemente zu steuern. Das CSS, das ich geschrieben habe, funktioniert perfekt in Chrome, scheitert aber in FF und IE.CSS Sprites - Code funktioniert in Chrome, schlägt in FF und IE fehl ... warum?

Die CSS ist:

a.gallery-left{ 
margin-top: 5px; 
background: url('arrows_sprited.png') 0 0px; 
width: 45px; 
height: 34px; 
overflow: hidden; 
float: left; 
} 

a.gallery-left:hover { 
background: url('arrows_sprited.png') -46 0px; 
cursor: pointer; 
zoom: 1; 
} 

a.gallery-right{ 
margin-top: 5px; 
background: url('arrows_sprited.png') -133 0px; 
width: 46px; 
height: 34px; 
overflow: hidden; 
float: right; 
} 

a.gallery-right:hover { 
background: url('arrows_sprited.png') -89 0px; 
cursor: pointer; 
zoom: 1; 
} 

im HTML-Dokument durch diese Ausgeführt:

<a class="gallery-left"></a> 
    <a class="gallery-right"></a> 

Warum es in FF versagt? Wenn ich das Element mit Firebug untersuchen, ist die zweite nicht sichtbar ist (aber es ist in der ersten. Sehr seltsam.

irgendwelche Ideen? danke sehr!

Antwort

3

die px nach den Offsetwerte hinzuzufügen.

background: url('arrows_sprited.png') 0px 0px; 
background: url('arrows_sprited.png') -46px 0px; 
background: url('arrows_sprited.png') -133px 0px; 
background: url('arrows_sprited.png') -89px 0px; 

im ersten funktionierte es, weil der Wert 0 ist, die in allen Gerätetypen universell ist.

+1

Interessant, wie Chrome standardmäßig auf px gesetzt wird, wenn nur eine ganze Zahl angegeben wird. –

+0

das hat den Trick ... zumindest in Firefox! (In IE habe ich eine ganze Reihe anderer Sachen, die versagt .. verdammt IE). Vielen Dank! –

0

Inline-Elemente Breite oder Höhe Werte nicht einhalten. sie werden genau die widt h und Höhe, die zu dem Text passt, den sie enthalten, in diesem Fall eine leere Zeichenfolge.

Ändern Sie entweder <a> in <div> oder geben Sie display: block ein.

+0

Ersetzte Inline-Elemente (wie Bilder) akzeptieren Breiten-/Höhenwerte. –

+0

Wenn Sie sie schweben, werden sie zu blockierten Elementen, http://www.w3.org/TR/CSS2/visuren.html#float-position und http://www.w3.org/TR/CSS2/visuren.html# dis-pos-flo –

Verwandte Themen